Challenge exercise In the current design of ClockDisplay, a ClockDisplay object is responsible for detecting when a NumberDisplay object has rolled over to zero and then telling another NumberDisplay object to increment. In other words, there is no direct link between NumberDisplay objects. Would it be possible to have one NumberDisplay object tell another that it has rolled over, and that the other NumberDisplay object should then increment? For instance, have the minutes object tell the hour object that another hour has passed, or have the seconds object tell the minutes object that another sixty seconds have elapsed. Which of these objects would the timeTick method interact with? What fields would a NumberDisplay object have? What should the hour object do when a whole day has elapsed? Discuss the issues involved in this alternative design and, if you really feel like a challenge, try implementing it! Note that you might need to find out about the Java null keyword, which we don't cover until late in Chapter 4.
Want to see the full answer?
Check out a sample textbook solutionChapter 3 Solutions
Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
Additional Engineering Textbook Solutions
Experiencing MIS
Starting Out with C++ from Control Structures to Objects (9th Edition)
Starting Out with Programming Logic and Design (5th Edition) (What's New in Computer Science)
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
Starting Out With Visual Basic (8th Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
- Suppose you have been hired to develop a musical chair game. In this game there will be 7participants and all of them will be moving clockwise around a set of 7 chairs organized in a circular manner while a music will be played in the background. You will control the music using random numbers between 0-3.If the generated random number is 1, you will stop the music and if the number of participants who are still in the game is n, theparticipant at position (n/2) will be eliminated. Each time a participant is eliminated, a chair will be removed and you have to print the player names who are still in the game. The game will end when there will be only one participant left. At the end of the game, display the name of the winner.[Hint: You will need to invoke a method to generate a random number between 0(inclusive) to 3 (inclusive)]write code in java or pythonarrow_forward2. Write an interface for Tossable. We will say that every Tossable item has a way to toss it and we want to be able to give its color. A Tossable item by default is to throw an assist toss to another player.arrow_forwardIn c Hangman gameWrite a terminal based on the game of Hangman. In a hangman game, the player is given a wordthat they need to guess, with each letter of the word represented by an underscore/blank. Theplayer tries to guess a letter of the word by entering it into the terminal. If the letter is correct, theblank corresponding to that letter is filled in. If the letter is incorrect, a part of a stick figure isdrawn. The player has a limited number of incorrect guesses before the stick figure is fully drawnand the game is lost. The player wins the game if they guess all the letters of the word before thestick figure is fully drawn.The program should have an array of possible words to choose from. A different word should berandomly chosen from the array every time we run the program.arrow_forward
- Email me the answers to the following questions. If you are not familiar with Peg Solitaire, then look it up online. Peg Solitaire is a game consisting of a playing board with 33 holes together with 32 pegs. In the picture above, the hole in the center is empty and the remaining holes contain pegs. The goal is to remove all the pieces except one, which should be in the center. A piece can be removed by jumping an adjacent piece over it into an empty hole. Jumps are permitted horizontally or vertically, but not diagonally. Your assignment consists of one required part, plus one extra credit part: 1. Explain (in words) why Breadth First Search and Iterative Deepening are not good methods for this problem.arrow_forwardCreate a VisualCounter class that supports both increment and decrement operations. Take the constructor inputs N and max, where N indicates the maximum number of operations and max specifies the maximum absolute value for the counter. Create a plot that shows the value of the counter each time its tally changes as a side effect.arrow_forwardOthello is played as follows: Each Othello piece has a white side and a black side.When a component is encircled on both the left and right sides, or on both the top and bottom, it is said to be caught, and its colour is reversed. You must capture at least one of your opponent's pieces during your turn. When neither user has any more legitimate movements, the game is over. The winner is determined by who has the most pieces. Othello's object-oriented design should be implemented.arrow_forward
- when coding a chess game, implement the following method: isInCheck(Side s): Returns true if the king of side s is attacked by any of the opponent’s pieces, i.e., if in the current board state, any of the opponents pieces can move to where the king is. Otherwise, it returns false. Note that this method is only used to warn the player when they are in check. You can use the GUI to test if this is working. public boolean isInCheck(Side side) { // TODO write this method return false; } public enum Side { BLACK, WHITE; public static Side negate(Side s) { return s == Side.BLACK ? Side.WHITE : Side.BLACK; } }arrow_forwardProblem: Bugs are simple creatures that only know how to walk towards other bugs. Bugs maintain information about their (x, y) position; by which it can tell if they are standing next to other bugs. Watch the following video: bug movement. Create a java project that simulate bugs movement. You need to write a class “Bug" that models a bug moving along a straight line and it can turn to change its direction counterclockwise (i.e. 90 degree to the left; north → west → south → east → north). In each move, its position changes by one unit in the current direction. Details of the "Bug" class is described below. Your simulator should read information of an unknown number of “Bug" objects from an input file called “Bugs.txt". Each line represents a bug and the initial position and facing direction of this particular bug. Keeping the first bug position as a reference the simulator should move the second bug next to the first bug forming a cluster and its final position and direction should be…arrow_forwardJava program help Simulate a slot machine. The customer will add a fixed amount of money to the machine and play the slots. There should be 4 images for the game: "Apple", "Orange", "Banana", and "Cherry". If three of the images match, the customer wins $2 and is added to their balance. If all four match, the customer wins $10 and that is added to their balance. If less then four match there is no prize money, and the customer is charged $1 for the try. The customer can quit after each try, and the program will print out the customer's cash balance. Coding Details: Use an array of strings to store the 4 strings listed above. Use a do-while loop for the program. The program starts once the user enters how much money they have. The decision to stop occurs at the bottom of the loop. The do-while loop keeps going until the user quits, or there is no money left. The pseudocode for the program is shown below: Determine the fruits to display (step 3 below) and print them Determine if there…arrow_forward
- Create a Minesweeper game that is text-based. Minesweeper is a classic single-player computer game in which a NxN grid contains B mines (or bombs) hidden throughout. The remaining cells are either blank or contain a number. The numbers represent the number of bombs in the eight surrounding cells. The user then finds a cell. If it's a bomb, the player is out.If it is a number, it is displayed. If it is a blank cell, it is exposed, as are all adjacent blank cells (up to and including the surrounding numeric cells). When all non-bomb cells are exposed, the player wins. The player can also mark specific locations as potential bombs.This doesn't affect gameplay, other than to block the user from accidentally clicking a cell that is thought to have a bomb.(Tip for the reader: if you're not familiar with this game, please play a few rounds on line first.)arrow_forwardI want to develop an application for Knight's Tour Chess Game in java where the board is an eight by eight - 2D array board. Each square should be 0 in the beginning and as the knight moves in L shaped moves. The application is developed to move the knight around the chessboard and then keep a counter that varies from 1 to 64. Record the latest count in each square the knight moves to. Test each potential move to see if the knight has already visited that square. Test every potential move to ensure that the knight does not land off the chessboard. I want to run the application with random initial position.arrow_forwardIN JAVA PLEASE There is a 2D-rectangular MxN Terrain. On each square of the terrain, there may or may not be some gold and a Monster. Each monster has a name and damage (a numeric value between 1- 10). Some Heroes are traversing on the terrain. Each Hero has a name, health (a numeric value between 0-100), and a wallet that contains the golds he has collected. When a hero steps onto a square on the terrain, first he collects all of the golds placed on that square. Then, If there is a monster on the current square, Hero must fight with the monster and kill it. This fight decreases Hero’s health by the monster’s damage. If the Hero’s health drops below 0 after the battle, both Hero and monster die, and his/her golds disappear. When two or more heroes step on the same square simultaneously, the one with more health survives, and the other Hero dies. If there is gold on the square, the surviving Hero collects the gold. If there is a monster on the same square, the surviving Hero fights…arrow_forward
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT