13
The “Simple Dot Com Game” Goal: Sink all of the computer’s Dot Coms in the fewest number of guesses. You’re given a taring of level, based on how well you perform. Setup: When the game program is launched, the computer places three Dot Coms on a virtual 7x7 grid. When that’s complete, the game asks for your first guess. How you play: The computer will prompt the user to enter a guess. In response to the guess you’ll see a response at the command line: “Hit”, “Miss”, or “You sunk Pets.com” (or whatever the name of the company was). When all companies are sunk the game ends by reporting your rating. LIS4930 © PIC

06b extra methods

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 06b extra methods

LIS4930 © PIC

The “Simple Dot Com Game”

Goal: Sink all of the computer’s Dot Coms in the fewest number of guesses. You’re given a taring of level, based on how well you perform.

Setup: When the game program is launched, the computer places three Dot Coms on a virtual 7x7 grid. When that’s complete, the game asks for your first guess.

How you play: The computer will prompt the user to enter a guess. In response to the guess you’ll see a response at the command line: “Hit”, “Miss”, or “You sunk Pets.com” (or whatever the name of the company was). When all companies are sunk the game ends by reporting your rating.

Page 2: 06b extra methods

LIS4930 © PIC

A High-Level Design

See you textbooks on page 97.

Page 3: 06b extra methods

LIS4930 © PIC

The Three Things!PREP CODE TEST CODE REAL CODE

Prep code: A form of pseudocode, to help you focus on the logic without stressing about syntax.

Test code: A class or methods that will test the real code and validate that it’s doing that right thing.

Real code: The actual implementation of the class. This is where you put the real Java code.

Page 4: 06b extra methods

LIS4930 © PIC

Prep Code

Most prepcode includes three parts: Instance variable declarations

Method declarations

Method logicSimpleDotCo

mint[] locationCellsint numOfHits

String checkYourself(String guess)

void setLocationCells(int[] loc)

Let’s give it a try!

PR

EP

CO

DE

Page 5: 06b extra methods

LIS4930 © PIC

Test Code

Based on our prep code what should we test?

The concept of writing the test code first is one of the practices of Extreme Programming (XP), and it can make it easier (and faster) for you to write your code.

TES

T C

OD

E

Page 6: 06b extra methods

LIS4930 © PIC

Test Code for the SimpleDotCom Class

TES

T C

OD

E

Page 7: 06b extra methods

LIS4930 © PIC

The checkYourself() Method

REA

L C

OD

E

Page 8: 06b extra methods

LIS4930 © PIC

Final code for SimpleDotCom and SimpleDotComTestDrive

Page 9: 06b extra methods

LIS4930 © PIC

Let’s Finish Our SimpleDotComGame Class

Check out the prep code on page 108.

Check out the main() method on page 110.

Let’s Play!

Page 10: 06b extra methods

LIS4930 © PIC

More about for loops!

for (int i = 0; i < 100; i++) { }

Part One: initialization

Part Two: boolean test

Part Three: iteration expression

Take a trip through a for() loop on page 115.

Page 11: 06b extra methods

LIS4930 © PIC

Difference Between While and For

The while loop has only the Boolean test; it doesn’t have a built-in initialization or iteration expression.

A while loop is good when you don’t know how many times to loop and just want to keep going while some condition is true.

But, if you know how many times to loop a for loop is cleaner.

Let’s compare the two types of loops.

Page 12: 06b extra methods

LIS4930 © PIC

The Enhanced For Loop!

for (String name : nameArray) { }Part One: initialization variable declaration

Part Two: the actual collection

Let’s look at an example!

Page 13: 06b extra methods

LIS4930 © PIC

Casting PrimitivesI have already gone over this concept in class, but read page 117 in your textbook for a more in-depth explanation.

long

bytecan be

cast to