Hi,
ich bin dabei ein Programm zu programmieren, mit dem man ein "x"("Männchen") bewegen kann... Einem "2d" Array soll in jedem Feld den Wert 0 oder 1 zugewiesen bekommen.
Nachdem dies Passiert ist, soll dann das Array "tabellenartig" ausgegeben werden, so dass wenn ein Feld des Arrays den Wert 1 hat, ein x stehen soll:
Das ganze (an welchem Feld 1 oder 0 sein soll) wird so gesteuert:
Nun habe ich ein Problem: es wird nichts ausgegeben, ich komme aber nicht auf den Fehler.
Ich hoffe auf schnelle Hilfe.
Danke im Voraus.
Lg bttl
ich bin dabei ein Programm zu programmieren, mit dem man ein "x"("Männchen") bewegen kann... Einem "2d" Array soll in jedem Feld den Wert 0 oder 1 zugewiesen bekommen.
Java:
for (int yachse=0; yachse<10; yachse++) {
for (int xachse=0; xachse<20; xachse++) {
if (x==xachse && y==yachse) {
koordinatensystem[yachse][xachse]= 1;
}else{
koordinatensystem[yachse][xachse]= 0;
}
}
}
Java:
for (int yachse=0; yachse<10; yachse++) {
for (int xachse=0; xachse<20; xachse++) {
if (koordinatensystem[yachse][xachse]== 1) {
System.out.println("x");
}else{
System.out.println(" ");
}
}
}
Code:
if (stnr==1) {
x=x-1;
}
if (stnr==2) {
x=x+1;
}
if (stnr==3) {
y=y-1;
}
if (stnr==4) {
y=y+1;
}
if (y>10) {
y=0;
}
if (x>20) {
x=0;
}
if (y<0) {
y=10;
}
if (x<0) {
x=20;
}
Nun habe ich ein Problem: es wird nichts ausgegeben, ich komme aber nicht auf den Fehler.
Ich hoffe auf schnelle Hilfe.
Danke im Voraus.
Lg bttl
Java:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.concurrent.TimeUnit;
public class newSnake extends Thread{
static int stnr=0;
static int a=1;
static int snack=0;
static int xsnack,ysnack;
public static void main(String[]args)throws InterruptedException{
int[][] koordinatensystem = new int [10][20];
Snake t1 = new Snake();
t1.start();
int x=0,y=0;
while (a==1) {
TimeUnit.SECONDS.sleep(1);
if (snack==0) {
snack=1;
snackGenerieren();
}
if (stnr==1) {
x=x-1;
}
if (stnr==2) {
x=x+1;
}
if (stnr==3) {
y=y-1;
}
if (stnr==4) {
y=y+1;
}
if (y>10) {
y=0;
}
if (x>20) {
x=0;
}
if (y<0) {
y=10;
}
if (x<0) {
x=20;
}
for (int yachse=0; yachse<10; yachse++) {
for (int xachse=0; xachse<20; xachse++) {
if (x==xachse && y==yachse) {
koordinatensystem[yachse][xachse]= 1;
}else{
koordinatensystem[yachse][xachse]= 0;
}
}
}
for (int yachse=0; yachse<10; yachse++) {
for (int xachse=0; xachse<20; xachse++) {
if (koordinatensystem[yachse][xachse]== 1) {
System.out.println("x");
}else{
System.out.println(" ");
}
}
}
System.out.println("x");
}
}
public static void snackGenerieren(){
xsnack=(int)((Math.random() * 20)+1);
ysnack=(int)((Math.random() * 10)+1);
}
public void run(){
int x=0;
JFrame meinJFrame = new JFrame();
meinJFrame.setTitle("Steuerung");
JPanel panel = new JPanel();
JButton links = new JButton("links");
JButton rechts = new JButton("rechts");
JButton oben = new JButton("oben");
JButton unten = new JButton("unten");
ActionListener l = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
stnr=1;
}
};
ActionListener r = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
stnr=2;
}
};
ActionListener o = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
stnr=3;
}
};
ActionListener u = new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
stnr=4;
}
};
links.addActionListener(l);
rechts.addActionListener(r);
oben.addActionListener(o);
unten.addActionListener(u);
panel.add(links);
panel.add(rechts);
panel.add(oben);
panel.add(unten);
meinJFrame.add(panel);
meinJFrame.pack();
meinJFrame.setVisible(true);
try{
TimeUnit.SECONDS.sleep(1);
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
Zuletzt bearbeitet von einem Moderator: