Hallo,
ich habe angefangen, das Spiel Snake zu programmieren. Es läuft auch alles soweit, nur möchte ich jetzt einen Counter einfügen. Allerdings weiß ich nicht, wie ich den Wert der counter-Varaiblen c auf das Frame zeichen kann.
ich habe angefangen, das Spiel Snake zu programmieren. Es läuft auch alles soweit, nur möchte ich jetzt einen Counter einfügen. Allerdings weiß ich nicht, wie ich den Wert der counter-Varaiblen c auf das Frame zeichen kann.
Java:
package snake;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Toolkit;
public class Dot {
private int dots;
private int[] dotsX = new int[2500];
private int[] dotsY = new int[2500];
private Component comp;
private boolean gameOver = false;
public int c;
public String counter;
public Dot(int dots, Component comp){
this.dots = dots;
this.comp = comp;
for(int i=0; i<dots; i++){
dotsX[i] = 100-i*10;
dotsY[i] = 100;
}
}
public void checkApple(Apple apple){
if(dotsX[0] == apple.getX() && dotsY[0] == apple.getY()){
apple.createLocation();
dots += 3;
c++;
counter = String.valueOf(c);
}
}
public void checkCollision(){
if(dotsX[0]<=0){
gameOver = true;
}else if(dotsX[0]>=500-10){
gameOver = true;
}
if(dotsY[0]<=0){
gameOver = true;
}else if(dotsY[0]>=500-10){
gameOver = true;
}
for(int i=1; i<=dots; i++){
if(dotsX[0] == dotsX[i] && dotsY[0] == dotsY[i]){
gameOver = true;
}
}
}
public void move(String position){
for(int i=dots; i>0; i--){
dotsX[i] = dotsX[(i-1)];
dotsY[i] = dotsY[(i-1)];
}
if(position.equals("left")){
dotsX[0] -= 10;
}else if(position.equals("right")){
dotsX[0] += 10;
}else if(position.equals("down")){
dotsY[0] += 10;
}else if(position.equals("up")){
dotsY[0] -= 10;
}
}
public boolean getGameOver(){
return gameOver;
}
public void paint(Graphics g){
for(int i=0; i<dots; i++){
g.drawImage(Toolkit.getDefaultToolkit().getImage("C:/Users/Constantin Ullrich/Desktop/dot.png"), dotsX[i], dotsY[i], comp);
}
g.drawString(counter, 10, 10);
}
}