【发布时间】:2011-10-20 19:19:01
【问题描述】:
在学校有一项新任务从头开始编写 Snake 游戏,当 Snakehead 吃食物时需要使用数组添加新的 Snake 身体部位,并且一开始 Snake 需要有 1 个头部和 2 个身体部位..和我不知道该怎么做..有人可以帮助我正确的方向..如何开始?到目前为止,这是我的代码:
世界:
public class WorldofSnake extends World
{
/**
* Constructor for objects of class WorldofSnake.
*
*/
public WorldofSnake()
{
super(600, 400, 1);
addObject ( new Snake(),70 , 50);
addObject ( new Food(), Greenfoot.getRandomNumber(600), Greenfoot.getRandomNumber(400));
}
}
类蛇:
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Snake here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Snake extends Actor
{
private int foodEaten;
public Snake()
{
foodEaten = 0;
}
public void act()
{
checkKeypress();
lookForFood();
}
public void checkKeypress()
{ if(Greenfoot.isKeyDown("left")){
setLocation(getX() - 2,(getY()));
}
if(Greenfoot.isKeyDown("right")){
setLocation(getX() + 2,(getY()));
}
if(Greenfoot.isKeyDown("up")){
setLocation(getX() ,(getY() - 2));
}
if(Greenfoot.isKeyDown("down")){
setLocation(getX() ,(getY() + 2));
}
}
public void lookForFood()
{
Actor a = getOneIntersectingObject(Food.class);
if (a !=null)
{
getWorld().removeObject(a);
getWorld().addObject ( new Food(), Greenfoot.getRandomNumber(600), Greenfoot.getRandomNumber(400));
foodEaten = foodEaten + 1;
}
}
}
【问题讨论】:
-
我不确定您的问题是什么。数组是如何工作的?
-
nej frågan är hur jag ska gå till väga för att skapa en array som addar en ny kroppsdel varje gång min snake äter mat..jag är helt ny until 编程 och har inte fått in det rätta tänket ännu