2015-01-14 3 views
-1

Я студент-новичок, изучая Java. Я должен сделать игру Hangman. У меня есть первый вариант, но я не знаю, как это сделать. Мне нужна помощь в создании списка и разрешении компьютеру выбирать слово из списка, чтобы пользователь мог играть. Мой код ниже, и я продолжу его, когда я получу ответ. Я также хотел бы знать, как вычесть сказанные «части тела» из Hangedman, которые я нарисовал ниже. Спасибо за ваше время. :)Hangman Java Programming

import java.util.Scanner; 


public class Hangman 
{ 
    public static void main (String[]args) 
    { 
     Scanner sc = new Scanner(System.in); 


    String gameMode = ""; 


    int option = 3; 
    while(option != 0); 
    { 
     System.err.println("\n H A N G M A N"); 
     System.out.println(" \n \n Lets play Hangman!"); 
     System.out.println("\n Choose a game mode to play"); 
     System.err.println("Options: "); 
     System.out.println("\n(1) Select to play against computer"); 
     System.out.println("\n(3) Select to terminate program"); 
     System.out.println("\n \n ___________.._______"); 
     System.err.println("| |//  ||"); 
     System.err.println("| |//  ||"); 
     System.err.println("| |/  ||.-''-."); 
     System.err.println("| |/   |/ _ _| "); 
     System.err.println("| |   || '\'|"); 
     System.err.println("| |   (\\ _O/'"); 
     System.err.println("| |   .-'--'-."); 
     System.err.println("| |  /Y. .Y|| "); 
     System.err.println("| |  // | ||| "); 
     System.err.println("| |  // | . ||| "); 
     System.err.println("| | ('') | |('') "); 
     System.err.println("| |   ||- ||"); 
     System.err.println("| |   || ||"); 
     System.err.println("| |   || ||"); 
     System.err.println("| |   || ||"); 
     System.err.println("| |  /| | \\"); 
     System.err.println(" ''''''''''|_`-' `-' |''''| "); 
     System.out.println(" |'|'''''''\\''''''''|'| "); 
     System.out.println(" | |  \\  | | "); 
     System.out.println(" : :   \\  : : "); 
     System.out.println(" . .   `'  . ."); 


     option = sc.nextInt(); 

     sc.nextLine(); 


     if(option == 1) 
    { 
     while(true) 
     { 
     System.out.println("I will generate a random word for you to play. So expect the unexpected"); 
     gameMode = sc.nextInt(); 
if(gameMode != 1) 
    { 
{ 
System.out.println("Invalid input please re-enter information with no spaces, numbers or capitals."); 
    } 
    break;} 
     } 
     } 
    } 
    } 
} 
+1

хорошо вы можете поместить свои слова в rray или ArrayList, и выберите их, используя Random.nextInt() – MightyPork

+0

Вы не вычитаете части тела, вы просто перерисовываете разные изображения. –

+0

Не возражаете ли вы дать мне пример? Может быть, сайт ссылки? Если это не так уж сложно? –

ответ

0

массив только ок

String[][] hangnanImages = {{"| |//  ||", 
          "| |//  ||", 
          "| |/  ||.-''-.", 
          "| |/   |/ _ _|", 
          "| |   || '\'|", 
          "| |   (\\ _O/'", 
          "| |   .-'--'-.", 
          "| |  /Y. .Y|| ", 
          "| |  // | ||| ", 
          "| |  // | . ||| ", 
          "| | ('') | |('') ", 
          "| |   ||- ||", 
          "| |   || ||", 
          "| |   || ||", 
          "| |   || ||", 
          "| |  /| | \\", 
          " ''''''''''|_`-' `-' |''''|"}, 
          {"| |//  ||", 
          "| |//  ||", 
          "| |/  ||.-''-.", 
          "| |/   |/ _ _|", 
          "| |   || '\'|", 
          "| |   (\\ _O/'", 
          "| |   .-'--'-.", 
          "| |   Y. .Y|| ", 
          "| |   | ||| ", 
          "| |   | . ||| ", 
          "| |   | |('') ", 
          "| |   ||- ||", 
          "| |   || ||", 
          "| |   || ||", 
          "| |   || ||", 
          "| |  /| | \\", 
          " ''''''''''|_`-' `-' |''''|"}};//Put next hang man image in this one and similar and make as many as u want to your liking. 

то, что и может сделать вы можете сделать метод что-то вроде getHangmanImage (INT NUM)

public String[] getHangmanImage(int number){ 
    return hangManImages[number]; //this will return only a String[] not String[][] 
} 
//alternatively you can just do 
public void printHangman(int number){ 
    for(int i = 0; i < hangmanImages[number].length; i++){ 
     System.err.println(hangmanImages[number][i]); 
    } 
} 

Теперь часть MightyPork говорили был этот

String[] words = {"Word", "Components", ect ect}//however you want to put words in here. 
Random rnd = new Random(); 

String rndWord = words[rnd.nextInt(words.length)]; 
+0

У меня несколько ошибок:/ –

+0

Я закодировал это на лету.С какой частью у вас проблемы? –

0

Я не использовал java через некоторое время, но позвольте мне посмотреть, могу ли я помочь.

Сначала необходимо позвонить по этому файлу: File words = new File ("listsWords.txt"); Сканер FileScanner = новый сканер (файл); Во-вторых вам нужно запустить цикл для вывода, что список: в то время как (FileScanner.hasNextLine()) { INT I = FileScanner.nextInt(); System.out.println (i); }

Надеюсь, синтаксис прав, и это поможет вам начать работу. После этих двух вещей, его простой вход, чтобы получить строку из одного из слов

+1

Вы предполагаете, что он собирается использовать файл. Но да, это один из способов пойти. –

+0

когда я слышу список, я думаю, файл haha ​​sorry –