# anfänger braucht hilfe für info unterricht



## CruSH (23. Jan 2006)

hallo wir programmieren gerade ein spiel im informatik unterricht. 
das spiel soll so aussehen das wir dem spieler fragen stellen und er sie dann beantwortet. danach wird er "leben" oder "geld" gewinnen und verlieren, die variable alter legt die spiel dauer fest.... wir sind immom so weit.. :


```
import java.applet. *;
import java.awt. *;
import java.awt.event.*;
import java.lang.String;
import org.apache.xml.utils.ListingErrorHandler;
public class jo extends Applet
{
public jo() {
int x = 400;
int a = 400;
setBackground(Color.yellow);
}
public void paint (Graphics stift)
{
int x = 400;
int a = 400;
int b = 10;
stift.setColor(Color.blue);
stift.drawString("Leben :", 30, 30);
stift.setColor(Color.red);
stift.fillRect(80, 20, x, 10);
stift.setColor(Color.blue);
stift.drawString("Geld :", 30, 70);
stift.setColor(Color.magenta);
stift.fillRect( 80, 60, a, 10);
stift.setColor(Color.blue);
stift.drawString("Alter :", 30, 110);
stift.setColor(Color.black);
stift.fillRect( 80,  100, b, 10);
stift.drawString("|Tod", 800, 110);
}



class YesNoDialog
        extends Dialog
        implements ActionListener
{
    boolean result;
    
    public YesNoDialog(Frame owner, String msg)
    {
        super(owner, "Ja-/Nein-Auswahl", true);
        setBackground(Color.lightGray);
        setLayout(new BorderLayout());
        setResizeable(false);
        setLocation(parloc.x + 30, parloc.y + 30);
        add("Center", new Label(msg));
        Panel panel = new Panel();
        panel.setLayout(new FlowLayout(FlowLayout.CENTER));
        Button button = new Button("Ja");
        button.addActionListener(this);
        panel.add(button);
        button.addActionListener(this);
        panel.add(button);
        add("south", panel);
        pack();
        }
    
public void actionPerformed(ActionEvent event)
{
    result = event.getActionCommand().equals("Ja");
    setVisible(false);
    dispose();
}

public boolean getResult()
{
    return result;
}
}
public class listing
        extends Frame
        implements ActionListener
{
    public static void main(String[] args)
    {
        Listing wnd = new Listing();
                wnd.setVisible(true);
    }
    public Listing()                       <----- Fehler                                                                                          
    {
     super("Modale Dialoge");
     setLayout(new FlowLayout());
     setBackground(Color.lightGrey);
     Button button = new Button("Ende");
     button.addActionListener(this);
     add(Button);
     setLocation(100,100);
     setSize(300,200);
     setVisible(true);
}

public void actionPerformed(ActionEvent event)
{
    String cmd = event.getActionCommand();
    if (cmd.equals("Ende")) {
        YesNoDialog dlg;
        dlg = new YesNoDialog(
                this,
        "wollen sie das programm wirklich beenden?"
                );
        dlg.setVisible(true);
        //auf das schließen des Dialogs warten
        if (dlg.getResult()) {
            setVisible(false);
            dispose();
            System.exit(0);
            }
    }
}
}
}
```


die grafiken können wir noch korrekt darstellen, nun wollen wir ein fenster öffnen indem der spieler dann ja oder nein oder was anderes anklicken kann und wir als action ein ereignis eintragen können. 

so wie das programm jedoch immom ist, sagt er 

C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:81: invalid method declaration; return type required
    public Listing()                                                                                                
1 error
BUILD FAILED (total time: 0 seconds)

ich habe "fehler" hinter die entsprechende zeile im programm geschrieben.... woran liegt es ?

und wenn ich komplett auf dem holzweg bin, kann mir einer nen besseren vorschlag machen wie ich das antwort problem lösen soll bzw. wie ich das programm machen soll...

mfg CruSH


----------



## bummerland (23. Jan 2006)

Beim Klassennamen hast du listing klein geschrieben, im Konstruktor aber gross.


----------



## CruSH (23. Jan 2006)

nach der korrektur steht da :

Compiling 1 source file to C:\Dokumente und Einstellungen\user\JavaApplication1\build\classes
C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:46: cannot resolve symbol
symbol  : method setResizeable (boolean)
location: class jo.YesNoDialog
        setResizeable(false);
C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:47: cannot resolve symbol
symbol  : variable parloc 
location: class jo.YesNoDialog
        setLocation(parloc.x + 30, parloc.y + 30);
C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:47: cannot resolve symbol
symbol  : variable parloc 
location: class jo.YesNoDialog
        setLocation(parloc.x + 30, parloc.y + 30);
C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:47: cannot resolve symbol
symbol  : method setLocation (java.lang.String,java.lang.String)
location: class jo.YesNoDialog
        setLocation(parloc.x + 30, parloc.y + 30);
C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:78: non-static variable this cannot be referenced from a static context
        Listing wnd = new Listing();
C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:76: inner classes cannot have static declarations
    public static void main(String[] args)
C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:85: cannot resolve symbol
symbol  : variable lightGrey 
location: class java.awt.Color
     setBackground(Color.lightGrey);
C:\Dokumente und Einstellungen\user\JavaApplication1\src\jo.java:88: cannot resolve symbol
symbol  : variable Button 
location: class jo.Listing
     add(Button);
8 errors
BUILD FAILED (total time: 1 second)

ich dreh gleich am rad 
aba wir haben bis mitte märz zeit


----------



## SnooP (23. Jan 2006)

setResizable heißt das z.B.  ...

benutz mal die API um zu gucken ob die Methodennamen richtig geschrieben werden... oder installier eclipse - dort gibts ne auto-completion, die dir anzeigt, welche methoden da sind.. wobei ich das einem anfänger eigentlich normalerweise nicht empfehle...
http://java.sun.com/j2se/1.4.2/docs/api/

und was ist die Variable parloc? ne klasse? nen objekt?...

und außerdem ist die eine klasse mit der main-methode wohl ne innere klasse geworden - checke die geschweiften klammern wo die anfangen und wo sie aufhören... vernünftiges einrücken erleichtert das - und es empfiehlt sich jede klasse grundsätzlich in eine eigene Datei zu schreiben (Achtung Klassenname muss identisch mit dem Dateinamen sein!).


----------



## bummerland (23. Jan 2006)

wieso nehmt ihr eigentlich einen eigenen Dialog für ne simple ja/nein frage? schau dir mal JOptionPane  an.


----------



## CruSH (23. Jan 2006)

welches programm empfindet ihr denn als anfänger freundlich ? ich mache es immom noch mit netbeans....


----------



## MPW (23. Jan 2006)

CruSH hat gesagt.:
			
		

> welches programm empfindet ihr denn als anfänger freundlich ? ich mache es immom noch mit netbeans....



einen Texteditor, da lernt man naemlich schnell die Methodennamen richtig zu schreiben, sonst macht immer der Kompiler stress.


----------



## CruSH (25. Jan 2006)

also jez kompiliert er es, aba er zeigt nur die grafik an die ich vorher schon programmiert hatte. wer kann mir helfen,  sodass ich ein fenster mit einer frage und 2 buttons zur antwortmöglichkeit habe? danke.... 


```
import java.applet. *;
import java.awt. *;
import java.awt.event.*;
import java.lang.String;
import org.apache.xml.utils.ListingErrorHandler;
public class jo2 extends Applet
{
public jo2() {
int x = 400;
int a = 400;
setBackground(Color.yellow);
}
public void paint (Graphics stift)
{
int x = 400;
int a = 400;
int b = 10;
stift.setColor(Color.blue);
stift.drawString("Leben :", 30, 30);
stift.setColor(Color.red);
stift.fillRect(80, 20, x, 10);
stift.setColor(Color.blue);
stift.drawString("Geld :", 30, 70);
stift.setColor(Color.magenta);
stift.fillRect( 80, 60, a, 10);
stift.setColor(Color.blue);
stift.drawString("Alter :", 30, 110);
stift.setColor(Color.black);
stift.fillRect( 80,  100, b, 10);
stift.drawString("|Tod", 800, 110);
}



class YesNoDialog
        extends Dialog
        implements ActionListener
{
    boolean result;
    
    public YesNoDialog(Frame owner, String msg)
    {
        super(owner, "Ja-/Nein-Auswahl", true);
        setBackground(Color.lightGray);
        setLayout(new BorderLayout());
        setResizable(false);
        setLocation(30, 30);
        add("Center", new Label(msg));
        Panel panel = new Panel();
        panel.setLayout(new FlowLayout(FlowLayout.CENTER));
        Button button = new Button("Ja");
        button.addActionListener(this);
        panel.add(button);
        button.addActionListener(this);
        panel.add(button);
        add("south", panel);
        pack();
        }
    
public void actionPerformed(ActionEvent event)
{
    result = event.getActionCommand().equals("Ja");
    setVisible(false);
    dispose();
}

public boolean getResult()
{
    return result;
}
}
public class Listing
        extends Frame
        implements ActionListener
{
    public void main(String[] args)
    {
        Listing wnd = new Listing();
                wnd.setVisible(true);
    }
    public Listing()                                                                                                
    {
     super("Modale Dialoge");
     setLayout(new FlowLayout());
     setBackground(Color.lightGray);
     Button button = new Button("Ende");
     button.addActionListener(this);
     add(button);
     setLocation(100,100);
     setSize(300,200);
     setVisible(true);
}

public void actionPerformed(ActionEvent event)
{
    String cmd = event.getActionCommand();
    if (cmd.equals("Ende")) {
        YesNoDialog dlg;
        dlg = new YesNoDialog(
                this,
        "wollen sie das programm wirklich beenden?"
                );
        dlg.setVisible(true);
        //auf das schließen des Dialogs warten
        if (dlg.getResult()) {
            setVisible(false);
            dispose();
            System.exit(0);
            }
    }
}
}
}
```


----------



## CruSH (25. Jan 2006)

public (static) void main(String[] args) 
    { 
        Listing wnd = new Listing(); 
                wnd.setVisible(true); 

das static was da in den klammern steht musste ich entfernen weil das program msonst nicht gelaufen wäre. siehe oben...
wird es daran liegen das er nichts anzeigt ?.... naja kann mir jemand einfach den passenden code schreiben?  wäre nett...


----------



## MPW (25. Jan 2006)

CruSH hat gesagt.:
			
		

> public (static) void main(String[] args)
> {
> Listing wnd = new Listing();
> wnd.setVisible(true);
> ...



musste ich entfernen...tsss...was soll denn der Muell? Ohne das Static geht es nunmal nicht, mach das mal wieder hin, kann dir prophezeihen, dass es ohne erst recht nicht gehen wird.


----------



## sliwalker (26. Jan 2006)

Hi,

wie schonmal hier erwähnt.
Wenn Du einfach ein Yes/No-Dialog starten willst, dann nimm

```
String msg = "Wollen Sie wirklich die Optionen öffnen?";
	  String title = "Optionen öffnen?";
	  JOptionPane.showConfirmDialog(null, msg, title, JOptionPane.YES_NO_OPTION);
```

greetz
SLi


----------



## stev.glasow (26. Jan 2006)

In der YesNoDialog muss hier """add("south", panel);"""  das "south" mit großem s geschrieben werden. Und das mit der main geht nicht weil Listing hier ne innere Klasse ist. Mach die und dieYesNoDialog mal static oder oder mach am besten gleich beide in eine extra Datei - so irgendwie:


```
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class Listing 
    extends Frame 
    implements ActionListener{
    
    public static void main(String[] args){
        Listing wnd = new Listing();
        wnd.setVisible(true);
    }


    public Listing(){
        super("Modale Dialoge");
        setLayout(new FlowLayout());
        setBackground(Color.lightGray);
        Button button = new Button("Ende");
        button.addActionListener(this);
        add(button);
        setLocation(100,100);
        setSize(300,200);
        setVisible(true);
    }

    public void actionPerformed(ActionEvent event){
        String cmd = event.getActionCommand();
        if (cmd.equals("Ende")) {
            YesNoDialog dlg;
            dlg = new YesNoDialog(
                    this,
                    "wollen sie das programm wirklich beenden?"
                    );
            dlg.setVisible(true);
            //auf das schließen des Dialogs warten
        if (dlg.getResult()) {
            setVisible(false);
            dispose();
            System.exit(0);
            }
        }
    }

    static class YesNoDialog
        extends Dialog
        implements ActionListener{
        boolean result;

        public YesNoDialog(Frame owner, String msg){
            super(owner, "Ja-/Nein-Auswahl", true);
            setBackground(Color.lightGray);
            setLayout(new BorderLayout());
            setResizable(false);
            setLocation(30, 30);
            add("Center", new Label(msg));
            Panel panel = new Panel();
            panel.setLayout(new FlowLayout(FlowLayout.CENTER));
            Button button = new Button("Ja");
            button.addActionListener(this);
            panel.add(button);
            button.addActionListener(this);
            panel.add(button);
            add("South", panel);
            pack();
        }

        public void actionPerformed(ActionEvent event){
            result = event.getActionCommand().equals("Ja");
            setVisible(false);
            dispose();
        }
        
        public boolean getResult(){
            return result;
        }
    }

}
```


----------



## CruSH (1. Feb 2006)

```
import java.applet. *;
import java.awt. *;
import java.awt.event.*;
import java.lang.String;
import java.lang.Object.*;
import java.awt.Component.*;
import java.awt.Container.*;
import javax.swing.JComponent.*;


public class NewJApplet extends Applet
{
public NewJApplet() {
int x = 400;
int a = 400;
setBackground(Color.yellow);
}
public void paint (Graphics stift)
{
int x = 400;
int a = 400;
int b = 10;
stift.setColor(Color.blue);
stift.drawString("Leben :", 30, 30);
stift.setColor(Color.red);
stift.fillRect(80, 20, x, 10);
stift.setColor(Color.blue);
stift.drawString("Geld :", 30, 70);
stift.setColor(Color.magenta);
stift.fillRect( 80, 60, a, 10);
stift.setColor(Color.blue);
stift.drawString("Alter :", 30, 110);
stift.setColor(Color.black);
stift.fillRect( 80,  100, b, 10);
stift.drawString("|Tod", 800, 110);
}

String msg = "Wollen Sie wirklich die Optionen öffnen?"; 
String title = "Optionen öffnen?"; 
JOptionPane.showConfirmDialog(null, msg, title, JOptionPane.YES_NO_OPTION);
}
```


ähm so ?
weil dann:
Compiling 1 source file to C:\Dokumente und Einstellungen\user\JavaApplication1\build\classes
C:\Dokumente und Einstellungen\user\JavaApplication1\src\NewJApplet.java:40: <identifier> expected
JOptionPane.showConfirmDialog(null, msg, title, JOptionPane.YES_NO_OPTION);
1 error
BUILD FAILED (total time: 0 seconds)


----------



## sliwalker (6. Feb 2006)

Hoi,

warum ist das denn auf einmal ein Applet?
Das war vorher ein Frame!

Mach den Code von mir in die Klasse die Du von Frame ableitest.
Und dann auch besser 


```
JOptionPane.showConfirmDialog(this, msg, title, JOptionPane.YES_NO_OPTION);
```

Damit Modal wird...

greetz
SLi


----------



## Gast (6. Feb 2006)

ja also wie es oben geschrieben wurde will ich das eigentlich haben.... ich habe nun 2 laufende programme, zum einen die grafische oberfläche..


```
import java.applet. *; 
import java.awt. *; 
import java.awt.event.*; 
import java.lang.String; 
import java.lang.Object.*; 
import java.awt.Component.*; 
import java.awt.Container.*; 
import javax.swing.JComponent.*; 


public class jo extends Applet 
{ 
public jo() { 
int x = 400; 
int a = 400; 
setBackground(Color.yellow); 
} 
public void paint (Graphics stift) 
{ 
int x = 400; 
int a = 400; 
int b = 10; 
stift.setColor(Color.blue); 
stift.drawString("Leben :", 30, 30); 
stift.setColor(Color.red); 
stift.fillRect(80, 20, x, 10); 
stift.setColor(Color.blue); 
stift.drawString("Geld :", 30, 70); 
stift.setColor(Color.magenta); 
stift.fillRect( 80, 60, a, 10); 
stift.setColor(Color.blue); 
stift.drawString("Alter :", 30, 110); 
stift.setColor(Color.black); 
stift.fillRect( 80,  100, b, 10); 
stift.drawString("|Tod", 800, 110); 
} 
}
```

und zum anderen das fenster mit dem ich dann das spiel starten will... also eigentlich nur die frage dazu...


```
import java.awt.BorderLayout; 
import java.awt.Button; 
import java.awt.Color; 
import java.awt.Dialog; 
import java.awt.FlowLayout; 
import java.awt.Frame; 
import java.awt.Label; 
import java.awt.Panel; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 


public class button 
    extends Frame 
    implements ActionListener{ 
    
    public static void main(String[] args){ 
        button wnd = new button(); 
        wnd.setVisible(true); 
    } 


    public button(){ 
        super("Modale Dialoge"); 
        setLayout(new FlowLayout()); 
        setBackground(Color.lightGray); 
        Button button = new Button("Spiel starten"); 
        button.addActionListener(this); 
        add(button); 
        setLocation(100,100); 
        setSize(300,200); 
        setVisible(true); 
    } 

    public void actionPerformed(ActionEvent event){ 
        String cmd = event.getActionCommand(); 
        if (cmd.equals("Spiel starten")) { 
            YesNoDialog dlg; 
            dlg = new YesNoDialog( 
                    this, 
                    "wollen sie das programm wirklich starten?" 
                    ); 
            dlg.setVisible(true); 
            //auf das schließen des Dialogs warten 
        if (dlg.getResult()) { 
            setVisible(false); 
            dispose(); 
            System.exit(0); 
            } 
        } 
    } 

    static class YesNoDialog 
        extends Dialog 
        implements ActionListener{ 
        boolean result; 

        public YesNoDialog(Frame owner, String msg){ 
            super(owner, "Ja-/Nein-Auswahl", true); 
            setBackground(Color.lightGray); 
            setLayout(new BorderLayout()); 
            setResizable(false); 
            setLocation(30, 30); 
            add("Center", new Label(msg)); 
            Panel panel = new Panel(); 
            panel.setLayout(new FlowLayout(FlowLayout.CENTER)); 
            Button button = new Button("Ja"); 
            button.addActionListener(this); 
            panel.add(button); 
            button.addActionListener(this); 
            panel.add(button); 
            add("South", panel); 
            pack(); 
        } 

        public void actionPerformed(ActionEvent event){ 
            result = event.getActionCommand().equals("Ja"); 
            setVisible(false); 
            dispose(); 
        } 
        
        public boolean getResult(){ 
            return result; 
        } 
    } 

}
```

aber wie mache ich nun die beiden classen in ein programm, das ich also die oberfläche habe und dann kommt das fenster mit der frage.... sobald ich die frage beantwortet habe muss uach das nächste fenster kommen mit der nächsten frage....

danke


----------



## sliwalker (6. Feb 2006)

Hoi,

Applets bettet man in HTML-Seiten ein.
Sehr ungünstig gewählt um damit Deine Java-Anwendung zu starten. Sehr ungünstig.

Bau das Applet zu einem Frame um. Erstell in einer main-Methode() ein Objekt vom ehemaligen Applet. Ruf darüber die Methode auf, die das OptionPane öffnet. Wenn der User OK klickt, erstellst Du natürlich wieder in main Dein Objekt vom Spiel.

greetz
SLi


----------



## MPW (7. Feb 2006)

Die zweite Klasse kannste komplett loeschen.

In die erste schreibst du an der Stelle, wo du das Spiel starten willst, follgendes:



```
int i =JOptionPane.showDialog(this,"Wollen Sie das Spiel starten", "Spiel starten", JOptionPane.YES_NO_OPTION);
if (i == JOptionPane.YES_OPTION {
//spiel starten
}
```


----------



## Gast (8. Feb 2006)

```
import java.applet. *; 
import java.awt. *; 
import java.awt.event.*; 
import java.lang.String; 
import java.lang.Object.*; 
import java.awt.Component.*; 
import java.awt.Container.*; 

import javax.swing.JOptionPane;
import javax.swing.JComponent.*;
import java.awt.BorderLayout; 
import java.awt.Button; 
import java.awt.Color; 
import java.awt.Dialog; 
import java.awt.FlowLayout; 
import java.awt.Frame; 
import java.awt.Label; 
import java.awt.Panel; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 


public class jo extends Applet 
{ 
public jo() { 
int x = 400; 
int a = 400; 
setBackground(Color.yellow); 
} 
public void paint (Graphics stift) 
{ 
int x = 400; 
int a = 400; 
int b = 10; 
stift.setColor(Color.blue); 
stift.drawString("Leben :", 30, 30); 
stift.setColor(Color.red); 
stift.fillRect(80, 20, x, 10); 
stift.setColor(Color.blue); 
stift.drawString("Geld :", 30, 70); 
stift.setColor(Color.magenta); 
stift.fillRect( 80, 60, a, 10); 
stift.setColor(Color.blue); 
stift.drawString("Alter :", 30, 110); 
stift.setColor(Color.black); 
stift.fillRect( 80,  100, b, 10); 
stift.drawString("|Tod", 800, 110); 
}

{
int i  =JOptionPane.showConfirmDialog(this,"Wollen Sie das Spiel starten", "Spiel starten", JOptionPane.YES_NO_OPTION); 
if (i  == JOptionPane.YES_OPTION);
}
{
int i  =JOptionPane.showConfirmDialog(this,"Du feierst deinen 10. Geburtstag und hast die Wahl zwischen einem roten und blauen Geschenk. Nimmst du das Rote?", "level1", JOptionPane.YES_NO_OPTION);
if (i  == JOptionPane.YES_OPTION);
{ 
	JOptionPane.showInputDialog("Du nimmst das rote Geschenk, dir werden 100€ geschenkt.");
}
if (i  == JOptionPane.NO_OPTION);
{
	JOptionPane.showInputDialog("Du nimmst das blaue in dem sich ein verschimmelter Kuchen befindet.");
	
}
}}
```

_[Edit by Beni: Codetags]_


----------



## CruSH (8. Feb 2006)

ja das war ich im info unterricht.... keine zeit gehabt wollte für zuhause einfach nur den code kopieren... 

das klappt ja schon ganz gut und wie ich es mir ungefähr vorgestell habe... das problem allerdings, nun kommen erst alle fragen... und dann baut der das hintergrund bild auf 0o


----------



## CruSH (12. Feb 2006)

keiner ne idee ? :/


----------



## CruSH (12. Feb 2006)

so leute habs auch selber hinbekommen 
so wie es ist läuft es... ich muss es jez nur noch ausbauen mit mehr fragen ect. danke für eure hilfe....


```
import java.applet. *; 
import java.awt. *; 
import java.awt.event.*; 
import java.lang.String; 
import java.lang.Object.*; 
import java.awt.Component.*; 
import java.awt.Container.*; 
import javax.*; 
import javax.swing.JOptionPane; 
import javax.swing.JComponent.*; 

import sun.security.krb5.internal.crypto.e;

import java.awt.BorderLayout; 
import java.awt.Button; 
import java.awt.Color; 
import java.awt.Component;
import java.awt.Dialog; 
import java.awt.FlowLayout; 
import java.awt.Frame; 
import java.awt.Graphics;
import java.awt.Label; 
import java.awt.LayoutManager;
import java.awt.Panel; 
import java.awt.TextField;
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 


public class jo extends Applet implements ActionListener {
	
int x = 400; 
int a = 400; 
int b = 10; 
Button b1;

public jo() { 
setBackground(Color.yellow); 
} 
public void paint (Graphics stift) 
{ 

stift.setColor(Color.blue); 
stift.drawString("Leben :", 30, 60);
stift.setColor(Color.red); 
stift.fillRect(80, 50, x, 10); 
stift.setColor(Color.blue); 
stift.drawString("Geld :", 30, 100);
stift.setColor(Color.magenta); 
stift.fillRect( 80, 90, a, 10); 
stift.setColor(Color.blue); 
stift.drawString("Alter :", 30, 140); 
stift.setColor(Color.black); 
stift.fillRect( 80,  130, b, 10); 
stift.drawString("|Tod", 800, 140); 
}




public void programm() {
    setLayout(new FlowLayout());
    b1 = new Button("Spiel starten");
    add(b1); 
	b1.addActionListener(this);
	JOptionPane.showMessageDialog(null, "Spiel mit deinem Leben");	
	}
{
	programm();
}

public void actionPerformed(ActionEvent e) {
	if (e.getSource() == b1) {
		int z  =JOptionPane.showConfirmDialog(this,"Du feierst deinen 10. Geburtstag und hast die Wahl zwischen einem Kettcar und einem Tret-Trekker. Nimmst du das Kettcar?", "level 1", JOptionPane.YES_NO_OPTION); 
		{
	    if (z  == JOptionPane.YES_OPTION){
	   	a = a+10;
		b = b+10;
		JOptionPane.showMessageDialog(null, "Du nimmst das Kettcar und ziehst damit regelmäßig das 6 Jährige Nachbarskind ab. Natürlich fahrt ihr um Geld....100€");
	    repaint();}
	    else	
		{
		if (z  == JOptionPane.NO_OPTION); {
		JOptionPane.showMessageDialog(null, "Der Tret-Trekker ist zu langsam das 6 Jährige Nachbarskind stößt dich mehrmals von der Bahn in den Graben udn du hast ganz doll aua! :(."); 
		b = b+10;
		x = x-10;
		repaint();
		}}}
		
		{
		int p  =JOptionPane.showConfirmDialog(this,"Du bist 15 und hat die Möglichkeit dich zum ersten mal sexuell zu betätigen. Wagst du es ?", "level 2", JOptionPane.YES_NO_OPTION); 
		{
	    if (p  == JOptionPane.YES_OPTION){
	   	x = x-50;
		b = b+10;
		JOptionPane.showMessageDialog(null, "Aids!! :(");
	    repaint();}
	    else	
		{
		if (p  == JOptionPane.NO_OPTION); {
		JOptionPane.showMessageDialog(null, "Der Vater dessen Tochter du in Ruhe gelassen hast gibt die 300€"); 
		a = a+30;
		b = b+10;
		repaint();
		}

		
		
}}}}}}
```

mfg CruSH


----------



## Gast (13. Feb 2006)

```
import java.applet. *; 
import java.awt. *; 
import java.awt.event.*; 
import java.lang.String; 
import java.lang.Object.*; 
import java.awt.Component.*; 
import java.awt.Container.*; 
import javax.*; 
import javax.swing.JOptionPane; 
import javax.swing.JComponent.*; 

import sun.security.krb5.internal.crypto.e; 

import java.awt.BorderLayout; 
import java.awt.Button; 
import java.awt.Color; 
import java.awt.Component; 
import java.awt.Dialog; 
import java.awt.FlowLayout; 
import java.awt.Frame; 
import java.awt.Graphics; 
import java.awt.Label; 
import java.awt.LayoutManager; 
import java.awt.Panel; 
import java.awt.TextField; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 


public class jo extends Applet implements ActionListener { 
    
int x = 400; 
int a = 400; 
int b = 10; 
Button b1; 

public jo() { 
setBackground(Color.yellow); 
} 
public void paint (Graphics stift) 
{ 

stift.setColor(Color.blue); 
stift.drawString("Leben :", 30, 60); 
stift.setColor(Color.red); 
stift.fillRect(80, 50, x, 10); 
stift.setColor(Color.blue); 
stift.drawString("Geld :", 30, 100); 
stift.setColor(Color.magenta); 
stift.fillRect( 80, 90, a, 10); 
stift.setColor(Color.blue); 
stift.drawString("Alter :", 30, 140); 
stift.setColor(Color.black); 
stift.fillRect( 80,  130, b, 10); 
stift.drawString("|Tod", 800, 140); 
} 




public void programm() { 
    setLayout(new FlowLayout()); 
    b1 = new Button("Spiel starten"); 
    add(b1); 
   b1.addActionListener(this); 
   JOptionPane.showMessageDialog(null, "Spiel mit deinem Leben");    
   } 
{ 
   programm(); 
} 

public void actionPerformed(ActionEvent e) { 
   if (e.getSource() == b1) { 
      int z  =JOptionPane.showConfirmDialog(this,"Du feierst deinen 10. Geburtstag und hast die Wahl zwischen einem Kettcar und einem Tret-Trekker. Nimmst du das Kettcar?", "level 1", JOptionPane.YES_NO_OPTION); 
      { 
       if (z  == JOptionPane.YES_OPTION){ 
         a = a+10; 
      b = b+10; 
      JOptionPane.showMessageDialog(null, "Du nimmst das Kettcar und ziehst damit regelmäßig das 6-jährige Nachbarskind ab. Natürlich fahrt ihr um Geld....100€ gewonnen!"); 
       repaint();} 
       else    
      { 
      if (z  == JOptionPane.NO_OPTION); { 
      JOptionPane.showMessageDialog(null, "Der Tret-Trekker ist zu langsam. Das 6-jährige Nachbarskind stößt dich mehrmals von der Bahn in den Graben und du hast ganz doll aua! :(."); 
      b = b+10; 
      x = x-10; 
      repaint(); 
      }}} 
       //nächstes Level
      { 
      int p  =JOptionPane.showConfirmDialog(this,"Du bist 13 und hast die Möglichkeit dich zum ersten Mal sexuell zu betätigen. Wagst du es ?", "level 2", JOptionPane.YES_NO_OPTION); 
      { 
       if (p  == JOptionPane.YES_OPTION){ 
      x = x-50; 
      b = b+10; 
      JOptionPane.showMessageDialog(null, "Aids!! :("); 
       repaint();} 
       else    
      { 
      if (p  == JOptionPane.NO_OPTION); { 
      JOptionPane.showMessageDialog(null, "Der Vater, dessen Tochter du in Ruhe gelassen hast, gibt dir 300€"); 
      a = a+30; 
      b = b+10; 
      repaint(); 
      }}} 
//    nächstes Level
      { 
      int o  =JOptionPane.showConfirmDialog(this,"Du bist 14 Jahre alt und feierst heute deine Konfirmation. Du kannst das geschenkte Geld anlegen oder dir davon ein Motorrad kaufen. Willst du das Geld anlegen?", "level 3", JOptionPane.YES_NO_OPTION); 
      { 
       if (o  == JOptionPane.YES_OPTION){ 
         x = x-50; 
      b = b+10; 
      JOptionPane.showMessageDialog(null, "Du bekommst 250€ Zinsen. :)"); 
       repaint();} 
       else    
      { 
      if (o  == JOptionPane.NO_OPTION); { 
      JOptionPane.showMessageDialog(null, "Tja, wenn der LKW nicht das Stop-Schild übersehen hätte...Nun liegst du im Krankenhaus."); 
      a = a+30; 
      b = b+10; 
      repaint(); 
      }}} 
//    nächstes Level
      { 
      int l  =JOptionPane.showConfirmDialog(this,"Du gehst mit deinem Opa in den Wald um einen Baum zu fällen. Sägt ihr den Baum an der linken Seite an?", "level 4", JOptionPane.YES_NO_OPTION); 
      { 
       if (l  == JOptionPane.YES_OPTION){ 
         x = x-50; 
      b = b+10; 
      JOptionPane.showMessageDialog(null, "Achtung Baum fällt. Nur leider zur falschen Seite auf ein Haus. Dadurch verursachst du einen Schaden von mehreren Tausend Euro! :("); 
       repaint();} 
       else    
      { 
      if (l  == JOptionPane.NO_OPTION); { 
      JOptionPane.showMessageDialog(null, "Achtung Baum fällt. Du hast deine Aufgabe gut gemeistert und dein Opa gibt dir für deine Hilfe 30€."); 
      a = a+30; 
      b = b+10; 
      repaint(); 
      }}} 
//    nächstes Level
      { 
      int k  =JOptionPane.showConfirmDialog(this,"Du wirst zu dem Gewinnspiel Glücksrad eingeladen. Du bist kurz vorm Lösen des Wortes, aber bist dir nicht sicher, ob Buchstabe 'e' oder 'a'. Wählst du das 'a'?", "level 5", JOptionPane.YES_NO_OPTION); 
      { 
       if (k  == JOptionPane.YES_OPTION){ 
         x = x-50; 
      b = b+10; 
      JOptionPane.showMessageDialog(null, "Super, das war der richtige Buchstabe! Nun bist du 500€ reicher! :)"); 
       repaint();} 
       else    
      { 
      if (k  == JOptionPane.NO_OPTION); { 
      JOptionPane.showMessageDialog(null, "Oh nein. Leider war dies die falsche Wahl. Dir wird ein Eimer kaltes Wasser über den Kopf geschüttet, was der Grund für deine starke Lungenentzündung ist."); 
      a = a+30; 
      b = b+10; 
      repaint(); 
      }}} 
//    nächstes Level
      { 
      int j  =JOptionPane.showConfirmDialog(this,"Du lernst zwei Menschen kennen. Mit beiden kannst du dir eine Beziehung vorstellen. Entscheide zwischen schielenden Augen und Akne. Wählst du die Person mit Akne?", "level 6", JOptionPane.YES_NO_OPTION); 
      { 
       if (j  == JOptionPane.YES_OPTION){ 
         x = x-50; 
      b = b+10; 
      JOptionPane.showMessageDialog(null, "Welch Glück...mit Clerasil seid ihr schnell am Ziel. Nur leider bleiben Narben zurück und so ist die Person noch entstellter als zuvor. Das lässt dich nervlich krank werden! :("); 
       repaint();} 
       else    
      { 
      if (j  == JOptionPane.NO_OPTION); { 
      JOptionPane.showMessageDialog(null, "Was du nicht wusstest: Dieser schielende Mensch hat so viel Geld, dass er sich operieren lassen kann. Danach ist er so glücklich, dass er dir Geld schenkt."); 
      a = a+30; 
      b = b+10; 
      repaint(); 
      }}} 
//    nächstes Level
      { 
      int u  =JOptionPane.showConfirmDialog(this,"Du gehst mit deinen Freunden in ein Casino und spielst mit 500€ Roulette. Setzt du den kompletten Einsatz auf rot?", "level 7", JOptionPane.YES_NO_OPTION); 
      { 
       if (u  == JOptionPane.YES_OPTION){ 
      x = x-50; 
      b = b+10; 
      JOptionPane.showMessageDialog(null, "Pech gehabt. Rot war die falsche Farbe, denn die Kugel ist auf Schwarz liegen geblieben. Du verlierst dein komplettes Geld! :("); 
       repaint();} 
       else    
      { 
      if (u  == JOptionPane.NO_OPTION); { 
      JOptionPane.showMessageDialog(null, "Und.....ja, die Kugel bleibt auf einem schwarzen Feld liegen. Du bekommst das Doppelte deines Einsatzes wieder!"); 
      a = a+30; 
      b = b+10; 
      repaint(); 
      }}} 

       
       
}}}}}}}}}
```


----------

