Hallo!
Ich glaube der Titel spricht schon für sich
Ich hoff es is erlaubt so lange Codes reinzuschreiben!
Ich glaube der Titel spricht schon für sich
Ich hoff es is erlaubt so lange Codes reinzuschreiben!
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
public class Spiel extends JPanel implements KeyListener,Mover
{
private Navigator navi;
private Level lvl;
private Spieler p1;
private Timer timer;
private Image dbImage;
private Graphics dbg;
public Spiel(Navigator nav)
{
navi=nav;
init();
}
public void init()
{
p1=new Spieler("Spieler1",15,15);
lvl=new Level(38,32);
setLayout(new BorderLayout());
add(new JLabel(" "), BorderLayout.NORTH);
add(new JLabel(" "), BorderLayout.WEST);
add(new JLabel(" "), BorderLayout.EAST);
add(lvl, BorderLayout.CENTER);
start();
}
public void start()
{
timer=new Timer(this,2000);
timer.start();
}
public void keyPressed (KeyEvent key)
{
if(key.getKeyCode() == KeyEvent.VK_UP && p1.unten==false)
{
p1.oben=true;
p1.unten=false;
p1.links=false;
p1.rechts=false;
}else if(key.getKeyCode() == KeyEvent.VK_DOWN && p1.oben==false)
{
p1.oben=false;
p1.unten=true;
p1.links=false;
p1.rechts=false;
}else if(key.getKeyCode() == KeyEvent.VK_LEFT && p1.rechts==false)
{
p1.oben=false;
p1.unten=false;
p1.links=true;
p1.rechts=false;
}else if(key.getKeyCode() == KeyEvent.VK_RIGHT && p1.links==false)
{
p1.oben=false;
p1.unten=false;
p1.links=false;
p1.rechts=true;
}
}
public void keyTyped (KeyEvent key)
{
}
public void keyReleased(KeyEvent key)
{
}
public void move()
{
int x=p1.x;
int y=p1.y;
if(p1.oben)
{
y-=1;
}
if(p1.unten)
{
y+=1;
}
if(p1.links)
{
x-=1;
}
if(p1.rechts)
{
x+=1;
}
lvl.lvl[y][x].setValue(1);
lvl.lvlZeichnen(p1.length);
}
}
Code:
public class Spieler
{
public String name;
public boolean links,rechts,oben,unten;
public int x,y;
public int length;
public int score;
public Spieler(String name,int x, int y)
{
links=rechts=oben=unten=false;
oben=true;
this.name=name;
this.x=x;
this.y=y;
score=0;
length=5;
}
}
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Level extends JPanel
{
public Tile[][] lvl;
public int width=15;
public Level(int x, int y)
{
this.setLayout(null);
lvl=new Tile[y][x];
for(int i=0; i<y; i++)
{
for(int s=0; s<x; s++)
{
if(i==0 || i==y-1 || s==0 || s==x-1)
lvl[i][s]=new Tile(-1);
else
lvl[i][s]=new Tile(0);
}
}
JLabel l_picture=new JLabel(new ImageIcon("Luft.gif"));
l_picture.setBounds(0, 0, width*x, width*y);
add(l_picture);
}//Level
public void lvlPruefen(int length1)
{
for(int i=0; i<lvl.length; i++)
{
for(int s=0; s<lvl[0].length; s++)
{
if(lvl[i][s].getValue()>0)
lvl[i][s].setValue(lvl[i][s].getValue()+1);
if((lvl[i][s].getValue()>length1))
lvl[i][s].setValue(0);
}
}
}
public void lvlZeichnen(int l1)
{
lvlPruefen(l1);
for(int i=0; i<lvl.length; i++)
{
for(int s=0; s<lvl[0].length; s++)
{
JLabel l_picture=new JLabel(new ImageIcon(lvl[i][s].getImage()));
l_picture.setBounds(s*width, i*width, width, width);
add(l_picture);
}
}
}
}
Code:
import java.io.*;
public class Tile
{
private int value;
private String image;
public Tile(int v)
{
value=v;
setTile();
}
public int getValue()
{
return value;
}
public void setValue(int v)
{
value=v;
setTile();
}
public String getImage()
{
return image;
}
public void setTile()
{
if(value==-1)
{
File f1=new File("Wand.gif");
image=f1.getAbsolutePath();
}else if(value>1)
{
File f1=new File("Schlange.gif");
image=f1.getAbsolutePath();
}
else
{
File f1=new File("Luft.gif");
image=f1.getAbsolutePath();
}
}
}
Code:
public class Timer extends Thread {
private Mover move;
private long wait;
public Timer(Mover move, long wait) {
this.move = move;
this.wait = wait;
}
public void run() {
while(!isInterrupted()) {
try {
Thread.sleep(wait);
move.move();
}
catch(InterruptedException e) {
interrupt();
}
}
}
}
Code:
public interface Mover
{
public void move();
}