贪吃蛇Ground Java实现(二)
package cn.tcc.snake.antition;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.util.Random;
import cn.tcc.snake.util.Global;
public class Ground {
private int[][] rocks = new int[Global.WIDTH][Global.HEIGHT];
public Ground(){
for(int x =0;x < Global.WIDTH;x++){
rocks[x][0] = 1;
rocks[x][Global.HEIGHT-1] = 1;
}
}
public boolean isSnakeEatRock(Sanke sanke){
System.out.println("SnakeEatRock");
for(int x=0;x<Global.WIDTH;x++){
for(int y=0;y<Global.HEIGHT;y++){
if(rocks[x][y] == 1 &&(x == sanke.getHead().x && y == sanke.getHead().y)){
return true;
}
}
}
return false;
}
public Point getpoint(){
Random random = new Random();
int x=0,y=0;
do{
x = random.nextInt(Global.WIDTH);
y = random.nextInt(Global.HEIGHT);
}while(rocks[x][y]==1);
return new Point(x,y);
}
public void drawMe(Graphics g){
System.out.println("drawMe");
g.setColor(Color.DARK_GRAY);
for(int x=0;x<Global.WIDTH;x++){
for(int y=0;y<Global.HEIGHT;y++){
if(rocks[x][y]==1){
g.fill3DRect(x *Global.CELL_SIZE, y * Global.CELL_SIZE, Global.CELL_SIZE,Global.CELL_SIZE, true);
}
}
}}
}
贪吃蛇Ground Java实现(二)的更多相关文章
- 贪吃蛇Controller Java实现(二)
package cn.tcc.snake.Controller; import java.awt.Point;import java.awt.event.KeyAdapter;import java. ...
- 贪吃蛇GamePanel Java实现(二)
package cn.tcc.snake.tcc.View; import java.awt.Color;import java.awt.Graphics; import javax.swing.JP ...
- 贪吃蛇snake Java实现(二)
package cn.tcc.snake.antition; import java.awt.Color;import java.awt.Graphics;import java.awt.Point; ...
- 贪吃蛇Food Java实现(二)
1.antition包Food类 package cn.tcc.snake.antition; import java.awt.Graphics;import java.awt.Point;publi ...
- 贪吃蛇Global Java实现(二)
package cn.tcc.snake.util; public class Global {public static final int CELL_SIZE=20;public static f ...
- 贪吃蛇Listener Java实现(二)
package cn.tcc.snake.listener; import cn.tcc.snake.antition.Sanke;//接口//处理用户按键事件public interface Sna ...
- 贪吃蛇的java代码分析(二)
代码剖析 贪吃蛇是一款十分经典的小游戏,对初入coding的朋友来说,拿贪吃蛇这样一个案例来练手十分合适,并不高的难度和成功后的成就感都是学习所必须的.下面我将依照我当时的思路,来逐步分析实现的整个过 ...
- 贪吃蛇的java代码分析(一)
自我审视 最近自己学习java已经有了一个多月的时间,从一开始对变量常量的概念一无所知,到现在能勉强写几个小程序玩玩,已经有了长足的进步.今天没有去学习,学校里要进行毕业答辩和拍毕业照了,于是请了几天 ...
- 贪吃蛇的java代码分析(三)
代码剖析 在上一篇文章中,我们完成了贪吃蛇部分代码的构造.回头审视我们写的代码与思路,会发现我们遗漏了一个重要的地方,那就是:贪吃蛇的自身移动.想必大家都知道,贪吃蛇自身是会自己移动的,并且会跟随你的 ...
随机推荐
- Spring-data-jpa 常用的时间注解
@Entity //不写@Table默认为user @Table(name="t_user",schema="DB_name") //自定义表名 public ...
- golang redis集群操作:redis-go-cluster
背景 感觉redis-cli desktop及其难用,最近用golang做了个redis查询工具,支持单例和集群操作,终于不再卡顿!!! 用到的包 "github.com/garyburd/ ...
- js删除dom节点时候索引出错问题
我们知道删除一个dom节点的时候索引就会发生了改变,甚至是错误,就算jq的ecah也无能为力,所以我们只能自己写个功能了 直接上代码把,不多说 <!DOCTYPE html> <ht ...
- Dev的TextEdit控件IP地址的Mask设置
1. 添加TextEdit控件. 2. 选中TextEdit控件,查看控件属性. 3. 展开Properties属性项,找到Mask属性项. 4. 设置Mask属性项的EditMask属性值为:(25 ...
- 深入Spring Boot:怎样排查expected single matching bean but found 2的异常
写在前面 这个demo来说明怎么排查一个常见的spring expected single matching bean but found 2的异常. https://github.com/hengy ...
- How to Pronounce the 50 States
How to Pronounce the 50 States (1/4) Share Tweet Share Tagged With: Places The US state names can be ...
- 5分钟K线图压力线买点怎么看?
某开盘后底开一直呈现形成了一个长时间的箱体振荡的走势,K线在底位振荡时,其波动底点总是在不断抬高的话,这种走势说明有资金在场中积极运作,正是由于资金悄然建仓导致了底点慢慢抬高的走势,在底点不断抬高时, ...
- mysql 的REPLAYCE语句
MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数 ...
- python批量操作Linux服务器脚本,key登录(执行命令、上传、下载)(二)
-*- 2 #批量操作linux服务器(执行命令,上传,下载) 3 #!/usr/bin/python 4 import paramiko 5 import datetime ...
- eclipse git 冲突管理