Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Random;
- /**
- * The Class AnswerBank.
- * Gage Law
- * CS160 Project 4
- */
- public class AnswerBank {
- // The answers.
- ArrayList<String> answers = new ArrayList<String>();
- // Instantiates a new answer bank.
- // filename the filename
- public AnswerBank( String filename ) {
- try (FileReader reader = new FileReader( filename );
- BufferedReader br = new BufferedReader(reader)) {
- // read line by line
- String line;
- while ((line = br.readLine()) != null) {
- answers.add( line );
- }
- } catch (IOException e) {
- System.err.format("IOException: %s%n", e);
- }
- }
- //Gets the random answer.
- //the random answer
- public String getRandomAnswer() {
- // Random generator variable.
- Random rand = new Random();
- int n = rand.nextInt(answers.size());
- return answers.get(n);
- }
- }
- package lawg_project4;
- import java.util.ArrayList;
- import java.util.Scanner;
- /
- * The Class GameManager.
- * Gage Law
- * CS160 Project 4
- */
- public class GameManager {
- // The num puzzles solved.
- int numPuzzlesSolved;
- // The puzzle history.
- ArrayList<PuzzleClass> puzzlehistory;
- / The bank. */
- AnswerBank bank;
- /** The input. */
- static Scanner input = new Scanner(System.in);
- // Instantiates a new game manager.
- // filename the filename
- public GameManager( String filename ) {
- numPuzzlesSolved =0;
- puzzlehistory = new ArrayList<>();
- bank = new AnswerBank( filename );
- }
- //run
- public void run() {
- String ch = null;
- double percent = 0;
- do {
- System.out.print("Would you like to play Hangman (yes/no)? ");
- ch = input.nextLine() ;
- if(ch.equalsIgnoreCase("yes")) {
- PuzzleClass puzzle = new PuzzleClass ( bank.getRandomAnswer() );
- puzzle.run(input);
- numPuzzlesSolved = puzzle.get_num_puzzled_solved() ;
- puzzlehistory.add( puzzle );
- // if user lose
- // then percentage of correct guesses
- // if its above 60 % ask again for play otherwise
- // close program
- percent = ( (double) numPuzzlesSolved / (double) puzzle.get_num_of_puzzles()) * 100.0;
- }
- }while( percent >= 60.0 && ch.equalsIgnoreCase("yes") );
- }
- // The main method.
- // args the arguments
- public static void main(String[] args) {
- GameManager manager = new GameManager("phrases.txt");
- manager.run();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement