教你用java做贪吃蛇 java贪吃蛇( 二 )
rx = r . nextint(40);
ry = r . nextint(30);
snake act tempAct = new snake act();
tempact . setx(20);
tempact . sety(15);
list . add(tempAct);
request focus(true);
Thread mThread =新线程(this);
mthread . start();
repaint();
}
if (e.getSource() == stopGame) {
system . exit(0);
}
if (e.getSource() == ok) {
list . clear();
new game . set enabled(true);
die . set visible(false);
得分= 0;
速度= 1;
}
}
public boolean minYes(int x,int y) {
if (list.size()!= 0) {
如果(!maxYes(list.get(0)) 。getX() + x,list.get(0) 。getY() + y)) {
返回false
}
}
返回true
}
//判断是否出界
public boolean maxYes(int x,int y) {
if (x < 0 || x >= 40 || y < 0 || y >= 30) {
返回false
}
for(int I = 0;I < list . size();i++) {
if (i > 1 && list.get(i) 。getX() == list.get(0) 。getX() && list.get(i) 。getY() == list.get(0) 。getY()) {
返回false
}
}
返回true
}
//键盘敲击事件监控
公共void按键(按键事件e) {
如果(开始){
switch (e.getKeyCode()) {
案例关键事件 。VK_UP:
if (temp!= 2) {
move(0,-1);
temp = 1;
}
repaint();
打破;
案例关键事件 。VK _唐:
if (temp!= 1) {
move(0,1);
temp = 2;
}
repaint();
打破;
案例关键事件 。VK _左:
if (temp!= 4) {
移动(-1,0);
temp = 3;
}
repaint();
打破;
案例关键事件 。VK右:
if (temp!= 3) {
move(1,0);
temp = 4;
}
repaint();
打破;
默认值:
打破;
}
}
}
@覆盖
公共void键入的(KeyEvent e) {
// TODO自动生成的方法存根
}
@覆盖
public void key released(key event e){
}
//线程的运行方法
公共无效运行(){
while(开始){
开关(温度){
案例1:
move(0,-1);
打破;
案例二:
move(0,1);
打破;
案例三:
移动(-1,0);
打破;
案例4:
move(1,0);
打破;
默认值:
move(1,0);
打破;
}
repaint();
尝试{
Thread.sleep(600 /速);
} catch (InterruptedException e) {
// TODO自动生成的catch块
e . printstacktrace();
}
}
}
}
每个点都是一个类 。
翻译
有问题可以加qq群708653884交流 。
推荐阅读
- 道教各门派修真典籍名录 道家典籍
- 开展英才教育,探索创新人才培养新路径 济南历城二中
- 华东理工网络教育学院官网平台?华东理工大学网络教育学院是全日制的么?
- 一个好爸爸,抵过所有伟大的教育 一个好爸爸
- 海霞|央视主持人海霞:事业有泪,嫁大11岁清华教授,婚后22年恩爱如初
- 教你从容面对面试的回答技巧 面试说自己的缺点怎么说
- 教你四步汇总多个表格数据 excel数据表格如何统计汇总
- 教你如何回答期望薪资技巧 面试期望薪资回答最好
- 教你6大步骤做好方案 做方案的步骤有哪些
- 教你excel表格日期格式设置 excel的格式怎么调整