Hey Leute. Ich bin in meinem Textspiel nun an einem Baustein angelangt, bei dem man sich zwischen "nach vorne" und "nach rechts" entscheiden muss. Jedoch kann ich nicht beide Richtungen zur Wahl stellen. Es funktioniert immer nur EINE. Jetzt meine Frage an euch: Wie kann ich beide Buttons programmieren damit sie funktionieren.. Hier drunter ist noch der Code vom ganzen Programm und PS: Ich arbeite mit x und y Koordinaten
Java:
package game;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.Font;
public class ClassGame extends JFrame {
private JPanel contentPane;
private int y;
private int x;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ClassGame frame = new ClassGame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ClassGame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 837, 701);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JTextArea tfAusgabe = new JTextArea();
tfAusgabe.setFont(new Font("Tahoma", Font.PLAIN, 16));
tfAusgabe.setEditable(false);
tfAusgabe.setBounds(104, 195, 603, 335);
contentPane.add(tfAusgabe);
tfAusgabe.setLineWrap(true);
tfAusgabe.setWrapStyleWord(true);
JButton btnVorne = new JButton("nach vorne");
btnVorne.setBounds(353, 36, 109, 25);
contentPane.add(btnVorne);
JButton btnZurckZumStart = new JButton("Zur\u00FCck zum Start");
btnZurckZumStart.setBounds(333, 563, 177, 25);
contentPane.add(btnZurckZumStart);
JButton btnRechts = new JButton("nach rechts");
btnRechts.setBounds(473, 83, 119, 25);
contentPane.add(btnRechts);
JButton btnLinks = new JButton("nach links");
btnLinks.setBounds(241, 83, 97, 25);
contentPane.add(btnLinks);
JButton btnHinten = new JButton("nach hinten");
btnHinten.setBounds(355, 124, 107, 25);
contentPane.add(btnHinten);
JButton btnBeenden = new JButton("Beenden");
btnBeenden.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
if( y == 0 && x == 0){
tfAusgabe.setText("Nach einer langen Nacht wachst du im Stadtpark auf. "
+ "Deine einzige Erinnerung ist das weiße Pulver auf dem Marmortisch in der Küche. "
+ "Vermutlich hast du einen Kuchen für deine Schwester gebacken… "
+ "Während du über die Ereignisse der vergangenen Nacht rätselst, "
+ "hörst du eine Unterhaltung zwischen zwei Passanten. "
+ "„Hast du eigentlich von diesem Mord in der Zeitung gelesen?“ "
+ "„Ja, dieser Polizist tut mir echt leid. Ich wünsche der Familie viel Glück!“ "
+ "Du gehst zu den Passanten hin und fragst: „Welcher Mord? Und welcher Polizist?“ "
+ "„Haben sie nicht davon gehört? Paul Jansen, der Oberkommissar im Gebiet Köln-Nord"
+ "wurde gestern Nacht brutal niedergeschlagen. Bisher hat man noch keine Spur vom Täter.“"
+ " Dir wird komisch, nachdem du den Namen deines Bruders hörst. "
+ "Du machst dir Gedanken, welche Menschen deinem Bruder etwas angetan haben könnten. Dir fallen direkt 4 Menschen ein (Torben(spielt Fußball), Niklas(wohnt in Hulingen), Sarah(arbeitet im Kiosk), Peter(wohnt noch bei seinen Eltern in Aschaffenburg)) Du machst dir zur Aufgabe diese Personen zu finden und "
+ "den Mörder zu identifizieren. Du kannst nun nach links, rechts, hinten oder nach vorne gehen! Drücke bitte IMMER 2x die Richtung, in die du gehen willst!");
}
btnVorne.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(x == -1 && y == 0){
x--;
}else if(x == -2 && y == 0){
tfAusgabe.setText("Du gehst leise die Gasse hindurch und befindest dich nun an einem Platz der mit Sonnenlicht erhellt wird. Rechts von dir erblickst du eine Allee mit Birken deren Blätter Orange-Braun gefärbt sind. Vor dir aber entdeckst du eine große grauschimmernde Statue, welche eine schwarze Substanz auf ihrem Arm hat.");
btnRechts.setVisible(true);
x--;
}else if(x == -3 && y == 0){
tfAusgabe.setText("Du näherst dich dieser Substanz erst langsam und tastest sie zuerst vorsichtig. Dir scheint als wäre nichts schlimmes, doch du konntest nicht wissen, dass sie zu den gefährlichsten Substanzen der Welt gehört. Du stirbst auf der Stelle! Gehe zurück zum Start.");
btnRechts.setVisible(false);
btnVorne.setVisible(false);
btnHinten.setVisible(false);
btnZurckZumStart.setVisible(true);
}else if(x == -2 && y == +2){
tfAusgabe.setText("Du befindest dich nun am Ende der Allee und somit vor der zuvor gesehenen Kreuzung. Während du dir Gedanken machst welchen Weg du jetzt gehen sollst, kommt plötzlich die WHO und sperrt die gegenüberliegende und die rechte Ausfahrt. Du gehst verwirrt zu ihnen und fragst sie warum sie diese Ausfahrten versperren. Sie antworten dir, dass sich in diesem Gebiet eine extrem gefährliche Substanz befindet und sie das Gebiet Stück für Stück abgrenzen müssen um diese zu finden. Du bist dir nicht sicher, ob sie von der Substanzen sprechen, welche du eben gesehen hast also gehst du von den Personen der WHO weg und schaust dich um. Du entdeckst links einen kleinen Weg, welcher durch den Seelenwald führt");
btnVorne.setVisible(false);
btnLinks.setVisible(true);
}else if(x == -3 && y == +2){
tfAusgabe.setText("Du befindest dich nun an auf einer Kreuzung mitten im Wald. An jedem Weg steht jeweils ein Schild, welches dir den Pfad weisen soll.");
btnLinks.setVisible(true);
btnRechts.setVisible(true);
}
}
});
btnLinks.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if( x == 0 && y == 0) {
x--;
}else if (x == -1 && y == 0){
btnRechts.setVisible(false);
btnLinks.setVisible(false);
tfAusgabe.setText("Du befindest dich in einer schmalen dunklen Gasse, du kannst nur weiter geradeaus gehen oder zurück zum Park.");
}else if (x == -2 && y == +2){
tfAusgabe.setText("Du bekommst langsam Angst da du dir, während des Gehens Gedanken machst, woher dieser Namen des Waldes herkommt. Du gehst immer tiefer und tiefer in den Wald hinein und versuchst dich durch Summen von Liedern abzulenken.");
btnLinks.setVisible(false);
btnVorne.setVisible(true);
x--;
}
}
});
btnRechts.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if( x == -2 && y == 0) {
y++;
}else if (x == -2 && y == +1){
btnRechts.setVisible(false);
tfAusgabe.setText("Du gehst tiefen entspannt durch die Allee plötzlich bleibst du stehen und bewunderst die Natur, wie sie sich auf den kommenden Winter vorbereitet.");
y++;
}else if(x == -3 && y == 2){
tfAusgabe.setText("Du befindest dich nun am Ende der Allee und somit vor der zuvor gesehenen Kreuzung. Während du dir Gedanken machst welchen Weg du jetzt gehen sollst, kommt plötzlich die WHO und sperrt die gegenüberliegende und die rechte Ausfahrt. Du gehst verwirrt zu ihnen und fragst sie warum sie diese Ausfahrten versperren. Sie antworten dir, dass sich in diesem Gebiet eine extrem gefährliche Substanz befindet und sie das Gebiet Stück für Stück abgrenzen müssen um diese zu finden. Du bist dir nicht sicher, ob sie von der Substanzen sprechen, welche du eben gesehen hast also gehst du von den Personen der WHO weg und schaust dich um. Du entdeckst links einen kleinen Weg, welcher durch den Seelenwald führt.");
btnVorne.setVisible(false);
btnLinks.setVisible(true);
}
}
});
btnZurckZumStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
y = 0;
x = 0;
btnRechts.setVisible(true);
btnLinks.setVisible(true);
btnVorne.setVisible(true);
btnHinten.setVisible(true);
tfAusgabe.setText("Nach einer langen Nacht wachst du im Stadtpark auf. "
+ "Deine einzige Erinnerung ist das weiße Pulver auf dem Marmortisch in der Küche. "
+ "Vermutlich hast du einen Kuchen für deine Schwester gebacken… "
+ "Während du über die Ereignisse der vergangenen Nacht rätselst, "
+ "hörst du eine Unterhaltung zwischen zwei Passanten. "
+ "„Hast du eigentlich von diesem Mord in der Zeitung gelesen?“ "
+ "„Ja, dieser Polizist tut mir echt leid. Ich wünsche der Familie viel Glück!“ "
+ "Du gehst zu den Passanten hin und fragst: „Welcher Mord? Und welcher Polizist?“ "
+ "„Haben sie nicht davon gehört? Paul Jansen, der Oberkommissar im Gebiet Köln-Nord"
+ "wurde gestern Nacht brutal niedergeschlagen. Bisher hat man noch keine Spur vom Täter.“"
+ " Dir wird komisch, nachdem du den Namen deines Bruders hörst. "
+ "Du machst dir Gedanken, welche Menschen deinem Bruder etwas angetan haben könnten. Dir fallen direkt 4 Menschen ein (Torben(spielt Fußball), Niklas(wohnt in Hulingen), Sarah(arbeitet im Kiosk), Peter(wohnt noch bei seinen Eltern in Aschaffenburg)) Du machst dir zur Aufgabe diese Personen zu finden und "
+ "den Mörder zu identifizieren. Du kannst nun nach links, rechts, hinten oder nach vorne gehen! Drücke bitte IMMER 2x die Richtung, in die du gehen willst!");
}
});
btnHinten.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
y--;
}
});
btnBeenden.setBounds(710, 616, 97, 25);
contentPane.add(btnBeenden);
btnZurckZumStart.setVisible(false);
}
}