贪吃蛇代码贪吃蛇代码
package day14worm;
public class Node {
private int i;
private int j;
public Node(){
}
public Node(int i, int j) {
super();
this.i = i;
this.j = j;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
public int getJ() {
...
贪吃蛇代码
package day14worm;
public class Node {
private int i;
private int j;
public Node(){
}
public Node(int i, int j) {
super();
this.i = i;
this.j = j;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
public int getJ() {
return j;
}
public void setJ(int j) {
this.j = j;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
if(obj==null)
return false;
if(this==obj)
return true;
if(obj instanceof Node){
Node other=(Node) obj;
return i==other.i&&j==other.j;
}
return false;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return i*10000+j;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "#";
}
package day14worm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Worm {
private List
body=new ArrayList();//示线性表中全是Node类型;
// i
//j
public static final int UP=-10; //0 -1
public static final int DOWN=10; //0 1
public static final int LEFT=-1;
public static final int RIGHT=1;
private int dir;
public Worm(){
}
public Worm(Node[] nodes,int dir){
List list=Arrays.asList(nodes);
body.addAll(list);
this.dir=dir;
}
//走一步
public void step(){
Node head=body.get(0);
int i=head.getI()+dir/10;
int j=head.getJ()+dir%10;
Node newHead=new Node(i,j);
body.add(0,newHead);
if(eatSomething()){
return;
}
body.remove(body.size()-1); }
private boolean eatSomething(){
return false;
}
public void step(int dir){
if(this.dir+dir==0){
throw new IllegalArgumentException("方向错误");
}
this.dir=dir;
step();
}
public boolean contains(int i,int j){
for(int idx=0;idx
本文档为【贪吃蛇代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。