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

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  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.

  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)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

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