贪吃蛇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代码分析(三)
代码剖析 在上一篇文章中,我们完成了贪吃蛇部分代码的构造.回头审视我们写的代码与思路,会发现我们遗漏了一个重要的地方,那就是:贪吃蛇的自身移动.想必大家都知道,贪吃蛇自身是会自己移动的,并且会跟随你的 ...
随机推荐
- EasyExcel 解析excel
参考:https://blog.csdn.net/jiangjiandecsd/article/details/81115622 https://blog.csdn.net/jianggujin/ar ...
- linux 组管理
修改文件所有者 chown 用户名 文件名 修改文件所在的组 chgrp 组名 文件名 r = 4 , w = 2, x = 2 u :所有者 g :所在组 o:其他组 a: ...
- delphi 第三方组件 log4cpp.dll
log4cpp.dll LogHelper.dll TcxGridSite TcxSpreadSheetBook TcxSpreadSheetBook TcxTreeList TcxButtonEdi ...
- 爬虫--Scrapy-持久化存储操作
总体概况 持久化存储操作: a. 磁盘文件 a) 基于终端指令 i. 保证parse方法返回一个可迭代类型的对象(存储解析到的页面内容) ii. 使用终端指令完成数据存储到制定磁盘文件中的操作 1. ...
- jquery接触初级-----ajax 之:load()方法
jquery _ajax 请求主要有几种方式:load(),$.get(),$.post(),$.ajax(),$.getScript(),$.getJson() 1.load()方法 格式:load ...
- python的解构
今天学习python看到python的解构,觉得很有用就写下来,防止自己忘了 首先定义个列表 然后我们来解构 字典呢?字典需要两个*号才能解构 这样调用不明显 来个明显点的 上面错误是,你定义了一个形 ...
- canvas入门笔记
1.Canvas的使用注意 A.要在页面中添加一对canvas标记,默认占300*150的区域 B.我们可以通过html属性‘width’,‘height’来设置canvas的宽高,不可以通过cs ...
- Java模板引擎之freemarker简介
- python进行爬虫
使用python进行网络爬虫 非结构画数据 转为 结构化数据.需要借助ETL(数据抽取,转换,存储)进行. 非结构化数据蕴含着丰富的价值.需要借助ETL进行转换成结构化数据,才能变成有价值的数据.比如 ...
- 微信小程序---导航
1.wx.navigateTo(OBJECT):保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. wx.navigateTo({ url: 'test?id= ...