Es soll ein Ratespiel programmiert werden:
Es soll eine Zahl zwischen 1 und 10 geraten werden. Ein Button färbt sich, wenn folgendes Ergeignis eintritt:
Rot=Heiß (Zufallszahl +-1);
Blau=Kalt (Zufallszahl +-2);
Schwarz= Verloren;
Weiß = Gewonnen;
Ich hab allerdings keine Ahnung wie ich die zu erratende Zahl aus einer Methode quasi rausziehen kann und sie für andere Methoden in anderen Klassen verwenden kann. Dies ist mein Ansatz
Klasse: Steuerung
.
Klasse: GUI
Klasse: Raten
Es soll eine Zahl zwischen 1 und 10 geraten werden. Ein Button färbt sich, wenn folgendes Ergeignis eintritt:
Rot=Heiß (Zufallszahl +-1);
Blau=Kalt (Zufallszahl +-2);
Schwarz= Verloren;
Weiß = Gewonnen;
Ich hab allerdings keine Ahnung wie ich die zu erratende Zahl aus einer Methode quasi rausziehen kann und sie für andere Methoden in anderen Klassen verwenden kann. Dies ist mein Ansatz
Klasse: Steuerung
Java:
/**
* Beschreiben Sie hier die Klasse Steuerung.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Steuerung
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
private Raten r;
private GUI g;
private Textfield t;
/**
* Konstruktor für Objekte der Klasse Steuerung
*/
public Steuerung()
{
}
/**
* Ein Beispiel einer Methode - ersetzen Sie diesen Kommentar mit Ihrem eigenen
*
* @param y ein Beispielparameter für eine Methode
* @return die Summe aus x und y
*/
public void steuerung()
{
GUI gg=new GUI();
gg.init();
Raten rr=new Raten();
rr.main();
Textfield tt=new Textfield();
tt.main();
}
}
.
Klasse: GUI
Java:
import java.awt.*;
import java.awt.event.*;
public class GUI extends Frame implements ActionListener {
Button A;
public void init(){
this.setSize(300,400);
this.setLayout(null);
A = new Button();
// Button A
A.setActionCommand("A");
A.addActionListener(this);
A.setBounds(100,50,100,100);
A.setBackground(Color.white);
this.add(A);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
switch (e.getActionCommand())
{
if(r.)
}
}
}
Klasse: Raten
Java:
import java.util.Random;
import java.util.Scanner;
public class Raten {
public static void main(){
Scanner s = new Scanner(System.in);
Random zufall = new Random();
int zufallZahl = 0;
boolean aktiv = true;
zufallZahl = 0 + zufall.nextInt(10- 0 + 1);
String antwort = "";
while(aktiv){
System.out.println("Zahlenraten");
System.out.println("---------------------");
System.out.println("Erraten Sie die Zufahlszahl in wenigen Schritten!");
System.out.println("Die Zahl kann zwischen 1 und 10 liegen");
zufallZahl = 0 + zufall.nextInt(10- 0 + 1);
int eingabe = 0;
int versuche = 0;
while(eingabe != zufallZahl){
System.out.println("Bitte eine Zahl eingeben: ");
eingabe = s.nextInt();
versuche++;
if (eingabe>10||eingabe<0)
{
System.out.println("Keine gültige Zahl!");
System.out.println("Die Zahl kann zwischen 1 und 10 liegen");
}
else
if (eingabe<zufallZahl-3||eingabe>zufallZahl+3)
{
System.out.println("Kalt!");
}
if (eingabe==zufallZahl-2||eingabe==zufallZahl+2)
{
System.out.println("Lauwarm!");
}
if (eingabe==zufallZahl-1||eingabe==zufallZahl+1)
{
System.out.println("Heiß!");
}
if(eingabe == zufallZahl){
System.out.println("Sie haben die gesuchte Zahl gefunden!");
System.out.println("Sie haben die " + zufallZahl + " in " + versuche + " Versuchen gefunden.");
break;
}
}
System.out.println("Weiter spielen? (1 = Ja. | 0 = Nein)");
antwort = s.next();
if(antwort.compareTo("1") == 0){
aktiv = true;
System.out.println();
}
else{
aktiv = false;
}
}
}
}
Zuletzt bearbeitet von einem Moderator: