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: