Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Проблем относно игра на java /netbeans/

Featured Replies

public class Hangman {
    static boolean replay = true; 
    private static Scanner kb = new Scanner(System.in); 
    public static void main(String[] args) {
        RandomAccessFile raf; 
        try{
        System.out.println("Welcome to the game of HangMan"); 
        raf= new RandomAccessFile("Hangman","rw"); 
        String x; 
         while(replay==true){ 
         x=raf.readLine(); 
         PlayGame(x); 
         CarryOn();
         }
        }
        catch(Exception e){ 
        JOptionPane.showMessageDialog(null,e);  
        }
    }

    
      public static void PlayGame(String word){ 
      word =word.toLowerCase(); 
      String hiddenWord = ""; 
      for(int i=0;i<word.length();i++){ 
         hiddenWord+="-";  
      }
      
      String tempHidden = ""; 
      String guesses = "";
      int bodyparts = 6;
      String letter;
       boolean finished = false; 
       while(finished == false ){ 
          System.out.println("Number of body parts left:"+bodyparts); 
          System.out.println("Guesses:"+guesses); 
          System.out.println(hiddenWord); 
          System.out.println("Enter a Letter: "); 
          letter = kb.nextLine();
          for(int x =0;x<word.length();x++){   
           if(letter.charAt(0)==word.charAt(x)) {      
               // word then is true
            tempHidden +=word.charAt(x);   
           }
           else{
                tempHidden +=hiddenWord.charAt(x);             
           }
          }
          String splitWord[] = word.split("");  
           for(int z=0;z<splitWord.length;z++){ 
            if(letter.equalsIgnoreCase(splitWord[z])) {
               break; 
            }
            else if(z==splitWord.length-1){ 
               bodyparts--; 
               break;
               
           }  
           }
          hiddenWord = tempHidden; 
          tempHidden = "";
          if(hiddenWord.equalsIgnoreCase(word) ){ 
              finished = true; 
              System.out.println("Well done you guessed the word!:"+word); 
          }
          if(bodyparts ==0){ 
              finished=true;
              System.out.println("Boo you lose!:"+word); 
          }
          String split[] = guesses.split(" "); 
          for(int i =0;i<split.length;i++)
        {
           if(letter.equalsIgnoreCase(split)) 
           {
             System.out.println("letter has allready been entered"); 
           }
           else if(i==split.length-1){ 
               guesses += letter+" "; 
               
               
           }  
        }       
      } 
    }
    
      
      public static void CarryOn(){ 
        System.out.println("Do you want to play again?"+"\n"+"Y/N");
        String choice = kb.nextLine(); 
        if(choice.equalsIgnoreCase("y")){ 
           System.out.println("New Game"+"\n");  
           
        }
        else if(choice.equalsIgnoreCase("n")){ 
            replay = false; 
            
        }
        else{
          System.out.println("Inaccurate choice. Ending program");  
          System.exit(0);      
        }     
    }
    
}

-----

Имам проблем относно кода и като го стартирам ми изписва съобщението - "java.lang.NullPointerException". Някой да знае как да го оправя ?

Къде се намира този файл, от който четеш думите? Не си указал път към него! Трябва да е текстов файл с думи. Поне като копирате код го копирайте правилно и четете! И този "JOptionPane" е абсолютно излишен, може да се мине просто с "System.out.println" и да се изведе съобщението (оставям го както е). И ползвай опцията за въвеждане на код, тези бутони отгоре като пишеш ново мнение не са за украса!!!

public class HangMan {

    private static boolean replay = true;
    private static Scanner kb = new Scanner(System.in);

    public static void main(String[] args) {

        try {
            System.out.println("Welcome to the game of HangMan");
            RandomAccessFile raf = new RandomAccessFile("c:\\a\\hangman.txt", "rw");
            String x;
            while (replay) {
                x = raf.readLine();
                PlayGame(x);
                CarryOn();
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

    private static void PlayGame(String word) {
        word = word.toLowerCase();
        String hiddenWord = "";
        for (int i = 0; i < word.length(); i++) {
            hiddenWord += "-";
        }

        String tempHidden = "";
        String guesses = "";
        int bodyparts = 6;
        String letter;
        boolean finished = false;
        while (!finished) {
            System.out.println("Number of body parts left:" + bodyparts);
            System.out.println("Guesses:" + guesses);
            System.out.println(hiddenWord);
            System.out.println("Enter a Letter: ");
            letter = kb.nextLine();
            for (int x = 0; x < word.length(); x++) {
                if (letter.charAt(0) == word.charAt(x)) {
                    // word then is true
                    tempHidden += word.charAt(x);
                } else {
                    tempHidden += hiddenWord.charAt(x);
                }
            }
            String[] splitWord = word.split("");
            for (int z = 0; z < splitWord.length; z++) {
                if (letter.equalsIgnoreCase(splitWord[z])) {
                    break;
                } else if (z == splitWord.length - 1) {
                    bodyparts--;
                    break;

                }
            }
            hiddenWord = tempHidden;
            tempHidden = "";
            if (hiddenWord.equalsIgnoreCase(word)) {
                finished = true;
                System.out.println("Well done you guessed the word!:" + word);
            }
            if (bodyparts == 0) {
                finished = true;
                System.out.println("Boo you lose!:" + word);
            }
            String[] split = guesses.split(" ");
            for (int i = 0; i < split.length; i++) {
                if (letter.equalsIgnoreCase(split[i])) {
                    System.out.println("letter has allready been entered");
                } else if (i == split.length - 1) {
                    guesses += letter + " ";
                }
            }
        }
    }

    private static void CarryOn() {
        System.out.println("Do you want to play again?" + "\n" + "Y/N");
        String choice = kb.nextLine();
        if (choice.equalsIgnoreCase("y")) {
            System.out.println("New Game" + "\n");

        } else if (choice.equalsIgnoreCase("n")) {
            replay = false;

        } else {
            System.out.println("Inaccurate choice. Ending program");
            System.exit(0);
        }
    }
}

 

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.