Skip to content

Commit

Permalink
Add a readme.
Browse files Browse the repository at this point in the history
  • Loading branch information
paytonrules committed Jun 11, 2015
1 parent 85289fe commit 69e5b77
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Hangman in Java - for code sparring.

This program tries to solve a game of hangman. It doesn't do a very good job - it's your job to fork it and create a new solution for it.

## How To

Fork this repo then clone it. To run the tests:

```bash
mvn test
```

Tough stuff. To run the program:

```bash
mvn package
java -jar target/Hangman-1.jar
```

When you run the program you'll see something like this:

```bash
Erics-MacBook-Pro:HangmanJava paytonrules$ java -jar target/Hangman-1.jar
Current Clue Is _ _ _ _ _
Current Clue Is _ _ _ _ _
Current Clue Is _ _ _ _ _
Current Clue Is _ _ _ _ _
Current Clue Is _ _ _ _ _
Current Clue Is _ _ _ _ _
Current Clue Is _ _ _ _ _
Current Clue Is _ _ _ _ _
Current Clue Is _ _ _ _ _
com.hangman.Game Over
```

What this means is is that the clue length was five characters, and your player successfully guessed....nothing. To see why let's take a look at YourPlayer.java.

```java
public class YourPlayer implements Player {
@Override
public char GetGuess(List<Character> clue) {
return 'a';
}
}
```

That's right `YourPlayer` - regardless of the clue - will guess the letter `a`. If it got `a` right, it guessed `a`. Wrong? `a`. It's a pretty stupid player.

So to complete this exercise you will need to delete return 'a' - and instead return better guesses. How? Well look the parameter:

`List<Character> clue`. The clue is exactly what you're seeing on screen. It is an array of characters where the '_' character means that you haven't gotten that location correct yet.

This stumps people so let's go through an example. Let's assume the secret word is "aaron". The first time GetGuess is called it will get:

`['_', '_', '_', '_', '_']`

`YourPlayer` will guess 'a'. The next time GuetGuess is called it will look like:

`['a', 'a', '_', '_', '_']`

Naturally `YourPlayer` will guess 'a' again, because it is stupid. To complete this exercise you need to make `YourPlayer` good at hangman.

## Tips

* Maybe keep track of what you've guessed.
* Vowels are good.
* Your testing WILL BE GRADED!

0 comments on commit 69e5b77

Please sign in to comment.