Hallo,
Ich versuche momentan das Spiel SimonSays mit meinem derzeitigen Kenntnisstand in Java zu programmieren.
Wer nicht weiss was das für ein Spiel ist hier der Link:
Senso (Spiel) – Wikipedia
Leider habe ich viele Fragen...
Zum einen gibt es viele Fehlermeldungen deren Ursprung ich nicht verstehe. Diese habe ich im Code "auskommentiert".
Das Grundkonzept ist soweit auch noch nicht ganz vorhanden. Einerseits weil ich die Fehlermeldungen noch nicht gelöst habe, andererseits weil ich nicht wirklich weiss wie ich weiter machen soll.
Ich habe einen Array erzeugt indem die Reihenfolge der Labels gespeichert wird, die nacheinander aufblinken.
Ich weiss aber nicht wie man überprüfen kann, ob vom Nutzer der Button geklickt wurde (also der Button der zum jeweiligen Label gehört), der auch an x-ter Stelle auf dem Bildschirm aufblinkte.
Hier erstmal der Code:
Danke im Voraus
PS: 1. Bin neu im Forum, sry wenn ich was falsch gemacht habe
2. Wer so ein Spiel schon einmal programmiert hat, kann mir auch gerne seinen Ansatz mitteilen!
Ich versuche momentan das Spiel SimonSays mit meinem derzeitigen Kenntnisstand in Java zu programmieren.
Wer nicht weiss was das für ein Spiel ist hier der Link:
Senso (Spiel) – Wikipedia
Leider habe ich viele Fragen...
Zum einen gibt es viele Fehlermeldungen deren Ursprung ich nicht verstehe. Diese habe ich im Code "auskommentiert".
Das Grundkonzept ist soweit auch noch nicht ganz vorhanden. Einerseits weil ich die Fehlermeldungen noch nicht gelöst habe, andererseits weil ich nicht wirklich weiss wie ich weiter machen soll.
Ich habe einen Array erzeugt indem die Reihenfolge der Labels gespeichert wird, die nacheinander aufblinken.
Ich weiss aber nicht wie man überprüfen kann, ob vom Nutzer der Button geklickt wurde (also der Button der zum jeweiligen Label gehört), der auch an x-ter Stelle auf dem Bildschirm aufblinkte.
Hier erstmal der Code:
Java:
[COLOR=#000000]package senso;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import [U]java.lang[/U].*;
publicclass[U]senso[/U]extends JFrame
{
Container c;
private JLabel label1;
private JLabel label2;
private JLabel label3;
private JLabel label4;
private JLabel sensol;
private JButton b1;
private JButton b2;
private JButton b3;
private JButton b4;
private JButton start_stop;
public senso (String title)
{
super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c = getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.GRAY);
int frameWidth = 450;
int frameHeight = 610;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
label1 = new JLabel("ROT");
Dimension d2 = new Dimension(200,200);
label1.setPreferredSize(d2);
label1.setOpaque(true);
label1.setFont(new Font("Helvetica",Font.BOLD,28));
label1.setForeground(Color.WHITE);
label1.setBackground(Color.RED);
c.add(label1);
label2 = new JLabel("BLAU");
label2.setPreferredSize(d2);
label2.setOpaque(true);
label2.setFont(new Font("Helvetica",Font.BOLD,28));
label2.setForeground(Color.WHITE);
label2.setBackground(Color.BLUE);
c.add(label2);
label3 = new JLabel("GRÜN");
label3.setPreferredSize(d2);
label3.setOpaque(true);
label3.setFont(new Font("Helvetica",Font.BOLD,28));
label3.setForeground(Color.WHITE);
label3.setBackground(Color.GREEN);
c.add(label3);
label4 = new JLabel("GELB");
label4.setPreferredSize(d2);
label4.setOpaque(true);
label4.setFont(new Font("Helvetica",Font.BOLD,28));
label4.setForeground(Color.WHITE);
label4.setBackground(Color.YELLOW);
c.add(label4);
sensol = new JLabel ("SENSO");
Dimension d6 = new Dimension(400,40);
sensol.setPreferredSize(d6);
sensol.setOpaque(true);
sensol.setFont(new Font("Helvetica",Font.BOLD,28));
sensol.setHorizontalAlignment(SwingConstants.CENTER);
sensol.setForeground(Color.WHITE);
sensol.setBackground(Color.GRAY);
c.add(sensol);
knopflistener kl = new knopflistener();
knopflistener2 kl2 = new knopflistener2();
knopflistener3 kl3 = new knopflistener3();
knopflistener4 kl4 = new knopflistener4();
b1 = new JButton("Change colour 1");
b1.addActionListener(kl);
b2 = new JButton("Change colour 2");
b2.addActionListener(kl2);
b3 = new JButton("Change colour 3");
b3.addActionListener(kl3);
b4 = new JButton("Change colour 4");
b4.addActionListener(kl4);
knopflistener5 kl_start_stop = new knopflistener5();
start_stop = new JButton("Start/Stop");
start_stop.addActionListener(kl_start_stop);
c.add(b1);
c.add(b2);
c.add(b3);
c.add(b4);
c.add(sensol);
c.add(start_stop);
setResizable(false);
setVisible(true);
}
class knopflistener implements ActionListener
{
booleaneins = false;
public void actionPerformed(ActionEvent e)
{
if (eins == false) {
label1.setBackground(Color.BLACK);
eins = true;
} // end of if
else {
label1.setBackground(Color.RED);
eins = false;
} // end of if
}
}
class knopflistener2 implements ActionListener
{
booleanzwei = false;
public void actionPerformed(ActionEvent e)
{
if (zwei == false) {
label2.setBackground(Color.BLACK);
zwei = true;
} // end of if
else {
label2.setBackground(Color.BLUE);
zwei = false;
} // end of if
}
}
class knopflistener3 implements ActionListener
{
booleandrei = false;
public void actionPerformed(ActionEvent e)
{
if (drei == false) {
label3.setBackground(Color.BLACK);
drei = true;
} // end of if
else {
label3.setBackground(Color.GREEN);
drei = false;
} // end of if
}
}
class knopflistener4 implements ActionListener
{
booleanvier = false;
public void actionPerformed(ActionEvent e)
{
if (vier == false) {
label4.setBackground(Color.BLACK);
vier = true;
} // end of if
else {
label4.setBackground(Color.YELLOW);
vier = false;
} // end of if
}
}
class knopflistener5 implements ActionListener
{
boolean ss = false;
public void actionPerformed(ActionEvent e)
{
if (ss == false) {
ss = true;
} // end of if
else {
ss = true;
} // end of if
}
}
booleancomputeramzug = true;
booleanrichtig = true;
int[] welchesfeld = newint[100][U];[/U]// Syntax error on token ";", { expected after this token
for (int i = 0; i<100;i++)
{
welchesfeld[i]= (int) (Math.random()*4 +1);
}
int runde = 0;
do{ // [U]Hier[/U] [U]blinken[/U] die Labels [U]nacheinander[/U] [U]auf[/U], die [U]der[/U] [U]Nutzer[/U] [U]dann[/U] in
// [U]richtiger[/U] [U]Reihenfolge[/U] [U]anklicken[/U] [U]soll[/U]
for (int a = 0; a <= runde; a++){
if (welchesfeld[a] == 1){
label1.setBackground(Color.BLACK);
Thread.sleep(1000);
label1.setBackground(Color.RED);
}
else if (welchesfeld[a] == 2){
label2.setBackground(Color.BLACK);
Thread.sleep(1000);
label2.setBackground(Color.BLUE);
}
else if (welchesfeld[a] == 3){
label3.setBackground(Color.BLACK);
Thread.sleep(1000);
label3.setBackground(Color.GREEN);
}
else if (welchesfeld[a] == 4){
label4.setBackground(Color.BLACK);
Thread.sleep(1000);
label4.setBackground(Color.YELLOW);
}
}
}while (ss == true && richtig == true && computeramzug == true);
publicstaticvoid main[U]([/U]String[] args[U])[/U]//Multiple markers at this line
//- Syntax error on token ")", ;
// expected
//- Syntax error on token "(", ;
//expected
{
new senso("SENSO by Yannick");
}
[U]}[/U]//Syntax error, insert "}" to complete ClassBody
[/COLOR]
Danke im Voraus
PS: 1. Bin neu im Forum, sry wenn ich was falsch gemacht habe
2. Wer so ein Spiel schon einmal programmiert hat, kann mir auch gerne seinen Ansatz mitteilen!