Handling mouse input, Computer Graphics

Assignment Help:

When you set up your project, create the class as an "ACM Graphics Program", rather than a plain class. This will perform the necessary preparations for you to use mouse input in your program.

There are three main tasks that you need to consider when implementing this program:

1. Identifying the numerical values, boolean values, and graphical objects that you will need to use in your program and declaring the fields for them.

2. Initializing the fields above to reflect the initial game state and add the graphical objects to the canvas.

3. Responding to a mouse click from the player and performing the appropriate logic to execute their turn. any method in the class.

What fields do you need? First, think about what you need to store the state of the game.  We can identify three numerical values: the trough score, player 1's score, and player 2's score. Think about which primitive type would be best here. Are the scores fractional or
are they whole numbers?

Next, you need a way to keep track of which player's turn it is. Here are a couple strategies that you can think about: you could use an integer variable that keeps track of which player's turn it is. Or, since you only have two players, you could use a boolean value that indicates "whether or not it's player 1's turn" (or alternatively, player 2's turn).

Identifying the graphic objects should be fairly self-explanatory, based on the description above. Remember to make sure that the graphics at startup reflect the initial state of the game (the correct player should be displayed bold, for example, and the score labels should all be set to 0).

Task: Initializing the Fields

As in the other graphics programs you've seen, this initialization code can go in the run () method. Don't forget to initialize the variables that represent the game state as well as the graphical objects.

Task: Handling Mouse Input

The mouseClicked() method is where you will respond to the user clicking on one of the objects on your canvas. You need to determine which object was clicked (refer to the GUI examples shown in class) and execute the appropriate action by implementing the game rules described at the top of the assignment. Remember that you need to update both the numeric values that represent the game state as well as the labels on the screen.


Related Discussions:- Handling mouse input

What is persistence, Persistence: How long they continue to emit light (...

Persistence: How long they continue to emit light (that is, have excited electrons returning to the ground state) after the CRT beam is removed. Persistence is defined as the ti

Determine how many key frames does one minute animation film, How many key ...

How many key frames does one minute animation film order along with no duplications need if there are five in among for each pair of key frames?   Solution : One minute = 60 sec

Crt, crt is an analog or digital device

crt is an analog or digital device

Interchange file format, IFF: It is Amiga Interchange File Format which is...

IFF: It is Amiga Interchange File Format which is used to transfer documents to and from Commodore Amiga Computers. This format is really flexible and permits images and text to b

What is the purpose behind the staircase effect, 1. What is the purpose be...

1. What is the purpose behind the Staircase effect? Ans. The approximation concerned in the calculation for finding of pixel position concerned in the display of lines and th

Objects - polygon rendering and ray tracing methods, Objects - polygon rend...

Objects - polygon rendering and ray tracing methods Objects could be any state of material as solid, liquid. Gas and plasma. Though ray tracers can merely assist objects whic

Interfacing lcd liquid crystal display, Main Objectives: Interfacing...

Main Objectives: Interfacing LCD to the Micro-controller (PIC18F4520) Programming LCD by using C- language via MPLAB Sending data or command to the LCD Component

Rotation about the origin - 2-d and 3-d transformations, Rotation about the...

Rotation about the origin - 2-d and 3-d transformations Specified a 2-D point P(x,y), which we need to rotate, along with respect to the origin O. The vector OP has a length '

Distinguish between bitblt and pixblt, Distinguish between bitBlt and pixBl...

Distinguish between bitBlt and pixBlt?  Raster functions that manipulate rectangular pixel arrays are usually referred to as raster ops. Moving a block of pixels from one locat

Approaches to area filling - output primitives, Approaches to Area Filling ...

Approaches to Area Filling  Some other approaches to area filling are   Scan line polygon fill algorithm Boundary fill algorithm Flood fill algorithm.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd