Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/Hangman: Unterschied zwischen den Versionen

K (Kategorisiert)
(Link, UTF8, ASCII-Art, Typos)
Zeile 9: Zeile 9:
 
# Mache dir Gedanken darüber, welche Schritte sehr komplex sind und entwerfe auch für sie einen Programmablauf.<br><br>
 
# Mache dir Gedanken darüber, welche Schritte sehr komplex sind und entwerfe auch für sie einen Programmablauf.<br><br>
  
# Kopiere und entpacke die Vorgabedateien unter http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/Hangman.tar in ein Verzeichnis deiner Wahl.
+
# Kopiere und entpacke [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2009/vorgaben/hangman/Hangman.zip die Vorgaben] in ein Verzeichnis deiner Wahl
#* Die Hinweise in der Datei enthalten einen Fehler. Um einen bestimmten Buchstaben aus einem String zu extrahieren, muss man die Methode  '''char  charAt(int index)''' statt '''char charAtPosition(int index)''' verwenden.
 
 
# Benutze zum Schreiben deines Programmes die Vorgabedatei "Hangman.java" im Verzeichnis "Hangman".
 
# Benutze zum Schreiben deines Programmes die Vorgabedatei "Hangman.java" im Verzeichnis "Hangman".
 +
# Erstelle dein Programm mit dem Komando '''javac *.java'''
 +
# Führe das Programm mit '''java Hangman''' aus
  
  
Zeile 18: Zeile 19:
 
* public static String readString () // liest ein Wort von der Konsole
 
* public static String readString () // liest ein Wort von der Konsole
 
* public static char readChar () // liest ein enzelnes Zeichen von der Konsole
 
* public static char readChar () // liest ein enzelnes Zeichen von der Konsole
 
  
 
=== Fortgeschritte ===
 
=== Fortgeschritte ===
 
'''Achtung, schwer!'''
 
'''Achtung, schwer!'''
* Gib die verbleibenden Rateversuche in Form eines ASCII-Hangmans aus.
+
* Gib die verbleibenden Rateversuche in Form eines ASCII-Hangmans aus. (Beispiele findest du weiter unten)
 
'''Tipp:''' Ein Array zum Speichern der Graphik kann hier außerordentlich hilfreich sein.
 
'''Tipp:''' Ein Array zum Speichern der Graphik kann hier außerordentlich hilfreich sein.
  
Zeile 36: Zeile 36:
 
-->
 
-->
  
lol Rechtschreibfehler bei "Achtung, schwehr!", aber echt coole Aufgabe ;P
+
-------------------------------------------
 +
 
 +
==== ASCII - ART ====
  
Die Dateien in UTF-8 zu kodieren wäre nett. Ich hab nämlich einige Fehlermeldungen bekommen.
+
(CC) Mario Bodemann:
  
-------------------------------------------
+
      ++--++------+--
 +
      || //      |
 +
      ||//      _|_
 +
      |+/      /o 0\
 +
      ++      (| ( |)
 +
      +|        \_-_/
 +
      ||        __|__
 +
      ||  )----O| : |O----(
 +
      ||        | : |   
 +
      ||        | _ |   
 +
      ++        || ||
 +
      /++\      _|| ||_
 +
    //||\\    \__/ \__/
 +
    // || \\
 +
--++--++--++----------------
  
Nette Aufgabe. Mit ASCII-Bildchen siehst ja ganz nett aus,
 
 
     _____
 
     _____
 
     |/  |
 
     |/  |
Zeile 49: Zeile 64:
 
     |  ^
 
     |  ^
 
  ____|_____
 
  ____|_____
 +
 +
Nette Aufgabe. Mit ASCII-Bildchen siehst ja ganz nett aus,
 
aber man kann die Optik noch steigern wenn man einfach die  
 
aber man kann die Optik noch steigern wenn man einfach die  
 
Pad.java aus der Dla Aufgabe verwendet. *g*
 
Pad.java aus der Dla Aufgabe verwendet. *g*

Version vom 23. März 2009, 20:49 Uhr

Hangman

Schreibe das in der Vorlesung besprochene Spiel Hangman für die Konsole.
Es soll von einem Spieler beliebig oft spielbar sein. In jedem Spielschritt soll die verbleibene Menge an Rateversuchen, sowie die bereits erratenen Buchstaben des Lösungswortes in der Form "HAN__AN" angezeigt werden. Die verbleibenden Rateversuche können einfach in Form einer Zahl angegeben werden.

  1. Mache dir Notizen zum Spielablauf einer Hangman-Spielrunde.
  2. Skizziere den Programmablauf.
  3. Notiere den mittlerweile besser durchdachten Programmablauf möglichst übersichtlich und mit möglichst vielen Schritten.
  4. Mache dir Gedanken darüber, welche Schritte sehr komplex sind und entwerfe auch für sie einen Programmablauf.

  1. Kopiere und entpacke die Vorgaben in ein Verzeichnis deiner Wahl
  2. Benutze zum Schreiben deines Programmes die Vorgabedatei "Hangman.java" im Verzeichnis "Hangman".
  3. Erstelle dein Programm mit dem Komando javac *.java
  4. Führe das Programm mit java Hangman aus


Anmerkung: Das Einlesen von Zeichen über die Konsole gestaltet sich in Java üblicherweise etwas umständlich. Aus diesem Grund enthalten die Vorgaben zu dieser Übung eine Bibliotheksklasse "Terminal", welche dir einige leicht zu benutzende Funktionen für die Arbeit mit der Konsole zur Verfügung stellt. Solange sich die Datei "Terminal.java" im selben Verzeichnis wie deine Datei "Hangman.java" befindet, hast du Zugriff auf alle Funtionen der Bibliotheksklasse, indem du sie in der Form "Terminal.gewünschteFunktion()" aufrufst.

  • public static String readString () // liest ein Wort von der Konsole
  • public static char readChar () // liest ein enzelnes Zeichen von der Konsole

Fortgeschritte

Achtung, schwer!

  • Gib die verbleibenden Rateversuche in Form eines ASCII-Hangmans aus. (Beispiele findest du weiter unten)

Tipp: Ein Array zum Speichern der Graphik kann hier außerordentlich hilfreich sein.

Kommentare

Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)



ASCII - ART

(CC) Mario Bodemann:

      ++--++------+--
      || //       |
      ||//       _|_
      |+/       /o 0\
      ++       (| ( |)
      +|        \_-_/
      ||        __|__
      ||  )----O| : |O----(
      ||        | : |    
      ||        | _ |     
      ++        || ||
     /++\      _|| ||_ 
    //||\\    \__/ \__/
   // || \\
--++--++--++----------------
    _____
    |/  |
    |   O
    |  `|´
    |   ^
____|_____

Nette Aufgabe. Mit ASCII-Bildchen siehst ja ganz nett aus, aber man kann die Optik noch steigern wenn man einfach die Pad.java aus der Dla Aufgabe verwendet. *g* (und ... JA Ich hatte lange weile, deswegen hab ichs freitag abend sogar noch gemacht.). wenn jemand das auswählen eines neuen wortes zum raten geschickt gelöst hat kann er/sie mir nen tipp geben. meins funzt super scheint mir aber von quellcode ne mieserable lösung zu sein.