Skip to content

nihtalak/codebreaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codebreaker

Codebreaker is a logic game in which a code-breaker tries to break a secret code created by a code-maker. The code-maker, which will be played by the application we’re going to write, creates a secret code of four numbers between 1 and 6.

The code-breaker then gets some number of chances to break the code. In each turn, the code-breaker makes a guess of four numbers. The code-maker then marks the guess with up to four + and - signs.

A + indicates an exact match: one of the numbers in the guess is the same as one of the numbers in the secret code and in the same position.

A - indicates a number match: one of the numbers in the guess is the same as one of the numbers in the secret code but in a different position.

Selecting Stories

A great way to get started gathering user stories is to do a high-level brain dump of the sorts of things we might like to do. Here are some titles to get started:

  • Code-breaker starts game The code-breaker opens a shell, types a command, and sees a welcome message and a prompt to enter the first guess.

  • Code-breaker submits guess The code-breaker enters a guess, and the system replies by marking the guess according to the marking algorithm.

  • Code-breaker wins game The code-breaker enters a guess that matches the secret code exactly. The system responds by marking the guess with four + signs and a message congratulating the code-breaker on breaking the code in however many guesses it took.

  • Code-breaker loses game After some number of turns, the game tells the code-breaker that the game is over (need to decide how many turns and whether to reveal the code).

  • Code-breaker plays again After the game is won or lost, the system prompts the code-breaker to play again. If the code-breaker indicates yes, a new game begins. If the code-breaker indicates no, the system shuts down.

  • Code-breaker requests hint At any time during a game, the code-breaker can request a hint, at which point the system reveals one of the numbers in the secret code.

  • Code-breaker saves score After the game is won or lost, the code-breaker can opt to save information about the game: who (initials?), how many turns, and so on.

Example

require "codebreaker"
ATTEMPTS = 15
Codebreaker::Game.new(ATTEMPTS).start

Simple game session

Welcome to Codebreaker!
Enter first guess:
1111

Enter next guess:
2222

Enter next guess:
3333
+---
Enter next guess:
4444
Enter next guess:
-+++
Enter next guess:
3444
Congratulations Codebreaker!
Attempts: 5
Secret code was 3444
Enter your name: Vova

Vova - 5 attempts (code: 3444)
Play again?
no

About

Simple console game (RubyGarage)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages