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

Time based and presentation tools, Time Based and Presentation Tools In...

Time Based and Presentation Tools In such authoring systems, components and events are organized beside a timeline, along with resolutions as high as 1/30 second. Time based to

Rotation - 2-d and 3-d transformations, Rotation - 2-D and 3-D transformati...

Rotation - 2-D and 3-D transformations Within 2-D rotation, an object is rotated via an angle θ along w.r.t. the origin. This angle is assumed to be +ive for anticlockwise rot

Merits -phong shading or normal vector interpolation shading, Merits -Phong...

Merits -Phong shading or Normal Vector Interpolation Shading Hence by finding intensities at various points across the edge we determine the intensity that is varying across t

What is the real value, QUESTION (a) People want to know design pattern...

QUESTION (a) People want to know design patterns. i) What should their attitude be about design patterns? ii) How can people use design patterns to do a better job?

Test for checking disjoint polygons by using of min-max test, Test For chec...

Test For checking Disjoint Polygons by using of Min-max Test Test 1: For checking disjoint polygons by using of Min-max test. Assume that you have two polygons as P1 and

Area filling algorithms - output primitives, Area Filling Algorithms Be...

Area Filling Algorithms Before we go ahead with area filling algorithms, a word about pixel addressing and object geometry. You know that line segments are discretized into fin

Polygonal meshes - clipping and 3d primitives, Polygonal Meshes - Clipping ...

Polygonal Meshes - Clipping and 3D Primitives Apart from polygonal surfaces, polygonal meshes are also used extensively in 3D geometric modelling.A mesh is essentially a polyg

Random scan display device - types of refresh monitors, Random Scan Display...

Random Scan Display Device The original cathode ray tube, developed in the late fifties and early sixties, produced charts and pictures, line through line on the tube surface

Project by matlab , I am trying to do a project by matlab. which is related...

I am trying to do a project by matlab. which is related to computer vision. the name of project is (texture synthesis and image quilting), which is inspire from this paper (Efros a

Implement the scan line polygon fill algorithm, Implement the Scan line pol...

Implement the Scan line polygon fill algorithm for any arbitrary polygon in C-language and then use your code to fill each of the following type of polygon. i)  Convex polygon

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