97 lines
2.1 KiB
Java
97 lines
2.1 KiB
Java
import java.applet.*;
|
|
import java.awt.*;
|
|
import java.awt.event.*;
|
|
import java.math.*;
|
|
import java.io.*; // für Dateioperationen ("Tupfer, Schere ...")
|
|
|
|
public class hangman extends Frame
|
|
{
|
|
// Globale Variablen
|
|
final static int WND_B=400, WND_H=400;
|
|
RandomAccessFile file;
|
|
int maxdat=0;
|
|
String words[];
|
|
String myword=null;
|
|
char probed[]; // "-----------------------------";
|
|
char alphab[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T',
|
|
'U','V','W','X','Y','Z','Ä','Ö','Ü'};
|
|
int mistakes=0;
|
|
KL CONTROL;
|
|
char c;
|
|
|
|
public hangman()
|
|
{
|
|
String stmp=new String();
|
|
try
|
|
{
|
|
RandomAccessFile f=new RandomAccessFile("hangman.dat","r");
|
|
words=new String[50];
|
|
while ((stmp=f.readLine())!=null && maxdat<50) {
|
|
if (stmp.charAt(0) != '#') {
|
|
maxdat++;
|
|
words[maxdat]=stmp;
|
|
}
|
|
}
|
|
f.close();
|
|
while (myword==null)
|
|
{
|
|
myword=words[(int)(Math.random()*maxdat)+1];
|
|
}
|
|
}
|
|
catch(IOException ioe)
|
|
{
|
|
System.out.println("IOException: "+ioe.toString());
|
|
}
|
|
CONTROL=new KL();
|
|
addKeyListener(CONTROL);
|
|
probed=new char[29];
|
|
for (int i=1;i<29;i++) {
|
|
probed[i]='-';
|
|
}
|
|
}
|
|
|
|
public void paint(Graphics g)
|
|
{
|
|
g.setColor(Color.black);
|
|
g.fillRect(0,0,WND_B,WND_H);
|
|
g.setColor(Color.yellow);
|
|
g.drawString("Datensaetze: "+maxdat,40,350);
|
|
g.drawString("Wort: "+myword,40,220);
|
|
g.drawString("Zeichen: "+c,40,230);
|
|
g.drawString("alpha: "+new String(probed),40,250);
|
|
}
|
|
|
|
|
|
class KL implements KeyListener
|
|
{
|
|
public void keyPressed(KeyEvent e) {}
|
|
public void keyReleased(KeyEvent e) {}
|
|
public void keyTyped(KeyEvent e)
|
|
{
|
|
c=e.getKeyChar();
|
|
int i;
|
|
for (i=0;i<29;i++) {
|
|
if (c==alphab[i]) {
|
|
probed[i]=c;
|
|
}
|
|
}
|
|
repaint();
|
|
}
|
|
}
|
|
|
|
public static void main(String args[])
|
|
{
|
|
Frame frame=new hangman();
|
|
frame.addWindowListener(new WindowAdapter()
|
|
{
|
|
public void windowClosing(WindowEvent e)
|
|
{
|
|
System.exit(0);
|
|
}
|
|
});
|
|
frame.setTitle("HangMan for Java - © 1998 by Markus Birth");
|
|
frame.setSize(WND_B, WND_H);
|
|
frame.show();
|
|
}
|
|
}
|