create a version of a carnival game

Assignment Help Basic Computer Science
Reference no: EM13161397

your job is to create a version of a carnival game in which mechanical dogs race along a track. The racing game is called DogTrack. DogTrack is also the name of the java source file you must submit to complete the assignment. The DogTrack class should be written so that the driver class below, DogDriver, works as intended.


A dog track has N discrete positions, 0 through N-1. The value of N is determined interactively in the application driver (below) once your program begins running.

There are three dogs, named Fido, Spot, and Rover. Each starts at position 0. A spinner selects (returns) a random value from among the values 1-2-3-4-5; these values are equally likely. Each dog advances by a separate spin of the spinner. In general a dog advances 1 space when the spinner spins a 1, 2 spaces when the spinner spins a 2, and so forth. The game is over when (at least) one of the dog crosses the finish line, that is, when at least one dog reaches a board value that is greater than or equal to (N-1).

A special condition: if a dog lands exactly at position number N/3 or position number 2N/3, where N is the size of the track, then that dog returns to its position before the move was made, and then moves back one more square, if possible. Because there are no negative positions, a dog at 0 that advances to N/3 on the first move does NOT go to (negative) position -1; after the move it should simply remain at position 0. See sample run below for an example.

At each round, the track should be drawn, using the symbol o, and the letters F, S, and R (for Fido, Spot, and Rover).

You should draw the state of the race as three "lines", one for each dog, using an 'o' to represent unoccupied positions, and F,R, and S to represent dog positions. These 3 line groups should be separated by a row of dashes, as shown in the sample run below. If the track size is 10, then this drawing

ooooooSooo


means that the dog Spot is at location 6 on the track, with earlier positions 0-5 unoccupied (dog tracks always begin with position 0).


Here is the driver class for the racing game:

import java.util.Scanner;   
public class DogDriver{       
  public static void main(String[] args){      
    System.out.println("Enter an int > 3: size of the track");     
    Scanner s = new Scanner(System.in);      
    int trackSize = s.nextInt();      
    System.out.println("track Size: " + trackSize);      
    DogTrack d = new DogTrack(trackSize);      
    d.playGame();    
  } 
}   


Here is a sample run:

 
> run DogDriver
Enter an int > 3: size of the track

----------------------------

8

----------------------------

track Size: 8 // so positions are 0,1,...,7; position N/3 = 8/3 = 2 is a go-back square, as is position (2*8)/3 = 5.

Fooooooo // all dogs start a position 0

Sooooooo

Rooooooo

--------

ooooFooo // at position 4

oooSoooo // at position 3

Rooooooo // Rover spins 2, but 8/3 = 2, so Rover goes back to 0, but NOT to position -1

--------

oooFoooo // Fido, at position 4, spins a 1, to location 5 = (2*8)/3, so: back to original position 4, then back 1, to pos 3

ooooSooo

ooooRooo

--------

ooooFooo

oooooooS // S & R have reached position 7 = tracksize - 1, terminating the game

oooooooR

--------

Spot Wins!

Rover Wins!

A requirement: your DogTrack class must include and MAKE ESSENTIAL USE OF the following methods, in addition to the DogTrack constructor and principal method playGame(). These are:

  * spin - generates an integer value from 1 to 5 at random

    * move - advances the pieces (alternative:  instead of a move method write 3 separate methods, moveRover, moveSpot, moveFido)

    * isOver - checks if race termination condition has been met

    * showTrack - draws the three tracks using 'o' and a dog letter to indicate dog position. Should insert a row of dashes after the three tracks are displayed.

    * showWinners - reports the winning dog or dogs when the race ends (see example above.)

Suggestions on how to proceed (only suggestions though):

* idea #1: get your code running but ignore the N/3 + 2N/3 stuff. You can add that in later. Also, don't worry at first about drawing the board correctly. Just print out the values of the dog positions.

* idea#2: Before you write any of the required methods explicitly, write the playGame method using the named methods above as if they already existed. Be sure to think about and account for any parameters each method might have.

What are the benefits of using tangible interfaces compared with other interfaces like GUI, pen-based or gesture? 

Reference no: EM13161397

Questions Cloud

Define u.s. plans new strategy for hiv : The Obama administration plans to unveil a new AIDS strategy Tuesday, aimed at reducing new infections and increasing the number of HIV-positive people getting care.
Explain orbital and an unpaired oxygen electron : The figure-8 bond orbitals around the carbon and oxygen atoms actually extend to infinity but do have two overlapping areas. C)This bond is the result of the interaction of an unpaired carbon electron in the 2s orbital and an unpaired oxygen elect..
What is the frequency of males hemizygous for the d allele : A) If the f(D) of an X-linked gene in a population = 0.8, what is the f(d) of the other allele at this locus?
interlocking words on a Scrabble board : The board game Scrabble works by assigning points to wooden tiles that are marked with printed letters, and are arranged as interlocking words on a Scrabble board.
create a version of a carnival game : assignment, your job is to create a version of a carnival game in which mechanical dogs race along a track. The racing game is called DogTrack. DogTrack is also the name of the java source file you must submit to complete the assignment. The DogTrack..
What are the benefits of using tangible interfaces : What are the benefits of using tangible interfaces compared with other interfaces like GUI, pen-based or gesture?
What are the benefits of using tangible interfaces : What are the benefits of using tangible interfaces compared with other interfaces like GUI, pen-based or gesture?
What are the benefits of using tangible interfaces : What are the benefits of using tangible interfaces compared with other interfaces like GUI, pen-based or gesture?
Write a program to print duplicates in a string and count : 1. write a program to print duplicates in a string and their count.

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Determining privacy policy for organization

Many countries need organizations which gather personal information to publish privacy policy. Determine a copy of the privacy policy for an organization.

  Explain main points to write in the communications plan

Recognize the main points you would write in the communications plan at this point in project. What suggestions would you give your project team to aid it manage user expectations?

  Flowchart for batch control tape

Design a document flow chart to depict each of given situations. Batch control tape is prepared along with set of transactions to make sure completeness of the data.

  Explain checksum detect all errors caused by odd number

Let the 32-bit hash function defined as concatenation of two 16-bit functions: XOR and RXOR. Will this checksum detect all errors caused by odd number of error bits? Describe.

  State turing machine m that calculates function

State a Turing Machine M that computes the function f: {a, b}* → N, where: f(x) = the unary encoding of max(#a(x), #b(x)).

  Explain specific challenges of facing designer

Explain specific challenges of facing the designer, specifically with regard to limitations of hardware, software and interface design two paragraph each.

  Reads in three integers

Write a program that reads in three integers and determines and prints the smallest number numerically in the group. The values are NOT necessarily entered in numeric order.

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Relationship of human service organizations and populations

How do the unique relationship between human service organizations and the populations they serve impact ethical decisions?

  1.what is the value of the following instruction?

1.What is the value of the following instruction? mov al,01101011b shr al,22.What is the two's complement of the binary number 11010000?3.Which statement defines an array local variable consisting 40 signed words?

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Describe why analyst needs to understand how people think

Describe why an analyst requires to understand how people think, how they learn, how they react to change, how they communicate, and how they work.

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