import java.awt.*;import java.awt.event.*;import java.applet.*;import java.io.*;/*** Das Spiel ist auf eine Größe von 400 * 600 px ausgelegt. Bitte beim einbinden* in eine HTML Datei beachten*/public class Hanoi extends Appletimplements Runnable, KeyListener { // Spiel Variablen boolean bPlay = false; // gibt an ob das Spiel gestartet wurde oder nicht // Instanz auf Thread legen Thread thread; // Instanz auf Cursor und cursor erstellen Cursor cursor = new Cursor(); // Schriftart festlegen Font font = new Font("Helvetica",Font.BOLD,24); // Grafik instanz für cursor Graphics gc; public void init() { // Applet Hintergrundsfarbe setBackground(Color.black); addKeyListener(this); setFont(font); } public void start() { if (thread == null) { thread = new Thread(this); thread.start(); } requestFocus(); } public void stop() { thread.stop(); } public void destroy() { } public void run() { // endlosschleife... while(true) { try { Thread.sleep(20); } catch (InterruptedException e) { System.out.println(e); } repaint(); } } public void paint(Graphics g) { if (bPlay == true) { // Farbe für die Pfähle setzen g.setColor(Color.blue); // erstelle fünf Pfähle auf denen die Hanoi Elemente platziert werden können g.fillRect(75,200,40,200); // erster Pfahl g.fillRect(175,200,40,200); // zweiter Pfahl g.fillRect(275,200,40,200); // dritter Pfahl g.fillRect(375,200,40,200); // vierter Pfahl g.fillRect(475,200,40,200); // fünfter Pfahl // cursor zeichnen cursor.drawCursor(g); } else if (bPlay == false) { // Startbildschirm anzeigen wenn das Spiel nicht begonnen hat g.setColor(Color.red); g.drawString("Press Enter to start the game",100,50); } } public void update(Graphics g) { } /* Ereignisbehandlung - Interface: KeyListener*/ public void keyPressed(KeyEvent event) { if (event.getKeyCode() == event.VK_ENTER && !bPlay) { bPlay = true; init(); System.out.println("Das Spiel wurde gestartet"); } else if (event.getKeyCode() == event.VK_LEFT && bPlay) System.out.println("Links betaetigt"); else if (event.getKeyCode() == event.VK_RIGHT && bPlay) System.out.println("Rechts betaetigt"); } public void keyReleased(KeyEvent event) { // hat für uns keinen nutzen } public void keyTyped(KeyEvent event) { // hat für uns keinen nutzen }}