Hangman/ Galgenmännchen

Diskutiere Hangman/ Galgenmännchen im Spiele- und Multimedia-Programmierung Bereich.
S

Sukran2323

Hey ich habe ein Problem. Ich muss ein Galgenmännchen Spiel programmieren ich kann es auch mit den Quellqode schon durchführen, aber mein problem ist es, dass ich nicht weiß wie ich die Zählung von den Fehlern so einbauen kann. Ich benötige diese um Schritt für Schritt das Männchen zu erhängen. Ich würde mein Programm gerne einfügen es ist aber leider zu groß deswegen würde ich es einfach per Email zusenden.
 
T

TM69

Hey ich habe ein Problem. Ich muss ein Galgenmännchen Spiel programmieren ich kann es auch mit den Quellqode schon durchführen, aber mein problem ist es, dass ich nicht weiß wie ich die Zählung von den Fehlern so einbauen kann. Ich benötige diese um Schritt für Schritt das Männchen zu erhängen. Ich würde mein Programm gerne einfügen es ist aber leider zu groß deswegen würde ich es einfach per Email zusenden.
eine Anfrage über google hätte dich zu https://wiki.freitagsrunde.org/Javakurs/Übungsaufgaben/Hangman/Musterloesung gebracht :D
 
S

Sukran2323

Code:
import java.util.Scanner;
import java.util.Random;

public class hangman3 {

  public static void main(String[] args) {
    Scanner tastatur = new Scanner(System.in);
    Random random = new Random(); 
   
    String [] woerter = {"ATMOSPHAERE", "TERASSENÜBERDACHUNG", "RYTHMUSGEFUEHL", "METAPHER", "WIRTSCHAFTINFORMATIK"}; 
   
    boolean nochmal = true;  //Endlosschleife while
   
    while (nochmal) {
     
      System.out.println("Herzlich Willkommen zum Galgenmännchen-Spiel"); 
      char [] zufallswort = woerter[random.nextInt (woerter.length)].toCharArray();
      char [] geraten = new char[anzahlversuche]; 

      int fehler;
      fehler = 0;
     
      for (int i = 0; i < geraten.length; i++) {
       
        geraten[i] = '_';
       
      }
      boolean erraten = false;
      int versuche = 0;
     
      while (!erraten && versuche != anzahlversuche) {
       
        System.out.print("Das gesuchte Wort: ");
        printArray(geraten);
       
        System.out.println("Du hast noch "+ (anzahlversuche - versuche) + " Versuche übrig" );
       
        System.out.print("Gebe ein Buchstabe ein(in Großbuchstaben): ");
        char eingabe = tastatur.nextLine().charAt(0);
       
        versuche++;
       
       
        if (eingabe == '-') {
         
          nochmal = false;
          erraten = true;
         
        } // end of if
        else {
         
         
         
          for (int i = 0; i < zufallswort.length; i++) {
           

            if (zufallswort[i] == eingabe) {
             
              geraten[i] = eingabe;
             
            } // end of if
           
           
           
            if (isteserraten(geraten)) {
             
              erraten = true;
              System.out.println("Herzlichen Glückwunsch du hast gewonnen!");
             
            } // end of if
           
          }
         
         
        } // end of if-else
       
       
      } // end of while
     

     
      if (!erraten) {
       
        System.out.println("GAME OVER! Du hast leider keine Versuche mehr :(");
        System.out.println("");
        System.out.println("Möchtest du nochmal spielen?(j/n)");
       
        String nocheinerunde = tastatur.next();
       
        if (nocheinerunde.equals("n")) {
         
          nochmal = false;
         
        } else {
         
          nochmal = true;
         
        } // end of if-else
       
      } // end of if
     
     
     
    } // end of while
   
    System.out.println("Game Over");
  } // end of main

  public static void printArray(char[] array){
   
    for (int i = 0; i < array.length; i++) {
     
      System.out.print(array[i] + " ");
     
    }
    System.out.println("");
   

  }

  public static boolean isteserraten(char[] array){
   
   
    for (int i = 0; i < array.length; i++) {
     
      if (array[i]=='_') {
        return false;
      } // end of if
     
    }
    return true;
  } // end of main

} // end of class hangman3
 
mihe7

mihe7

Das ist schon mal falsch:
char [] geraten = new char[anzahlversuche];
Abgesehen davon: wo bitte kommt anzahlversuche her?

aber mein problem ist es, dass ich nicht weiß wie ich die Zählung von den Fehlern so einbauen kann.
Naja, offensichtlich brauchst Du einen Zähler für die Fehler. In dem Zusammenhang stellt sich natürlich die Frage, ob
int versuche = 0;
wirklich die richtige Bezeichnung für diese Variable ist...
 
MoxxiManagarm

MoxxiManagarm

Hier ein paar Anmerkungen:
- Terassenüberdachung sollte auch ue verwenden
- Hangman hat keine Versuchsanzahl, sondern eine Anzahl Fehlversuche
- Ich verstehe die '-' Bedingung nicht
- Du wirst nur nach einem neuen Spiel gefragt, wenn du verloren hast. Beim gewonnenen Spiel startet es einfach neu
- Ich empfehle "Spieleinstellungen"-Konstanten (hier Wörter, Anzahl Fehlversuche) als solche zu definieren. Du willst in größeren Programmen nicht den Code nach solchen Einstellungen durchsuchen.
- anzahlversuche wird bei dir nie definiert, fehler wird definiert und nicht verwendet
- Bitte gewöhne dir die "end of" Kommentare ab. Gute Klammerung (Einzug) reicht hier völlig aus.
 
Thema: 

Hangman/ Galgenmännchen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben