随机食物生成器(JAVA贪吃蛇课程怎么处理食物的随机性)

2024-07-03 07:00:02 3

随机食物生成器(JAVA贪吃蛇课程怎么处理食物的随机性)

大家好,随机食物生成器相信很多的网友都不是很明白,包括JAVA贪吃蛇课程怎么处理食物的随机性也是一样,不过没有关系,接下来就来为大家分享关于随机食物生成器和JAVA贪吃蛇课程怎么处理食物的随机性的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

JAVA贪吃蛇课程怎么处理食物的随机性

import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; public class InterFace extends JFrame { /*** WIDTH:宽* HEIGHT:高* SLEEPTIME:可以看作蛇运动的速度* L = 1,R = 2, U = 3, D = 4 左右上下代码*/public static final int WIDTH = 800, HEIGHT = 600, SLEEPTIME = 200, L = 1,R = 2, U = 3, D = 4; BufferedImage offersetImage= new BufferedImage(WIDTH, HEIGHT,BufferedImage.TYPE_3BYTE_BGR);; Rectangle rect = new Rectangle(20, 40, 15 * 50, 15 * 35); Snake snake; Node node; public InterFace() { //创建"蛇"对象snake = new Snake(this); //创建"食物"对象createNode(); this.setBounds(100, 100, WIDTH, HEIGHT);//添加键盘监听器this.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent arg0) { System.out.println(arg0.getKeyCode()); switch (arg0.getKeyCode()) { //映射上下左右4个键位case KeyEvent.VK_LEFT: snake.dir = L; break; case KeyEvent.VK_RIGHT: snake.dir = R; break; case KeyEvent.VK_UP: snake.dir = U; break; case KeyEvent.VK_DOWN: snake.dir = D; } } }); this.setTitle("贪吃蛇 0.1 By : Easy"); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); //启动线程,开始执行new Thread(new ThreadUpadte()).start(); } public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) offersetImage.getGraphics(); g2d.setColor(Color.white); g2d.fillRect(0, 0, WIDTH, HEIGHT); g2d.setColor(Color.black); g2d.drawRect(rect.x, rect.y, rect.width, rect.height); //如果蛇碰撞(吃)到食物,则创建新食物if (snake.hit(node)) { createNode(); } snake.draw(g2d); node.draw(g2d); g.drawImage(offersetImage, 0, 0, null); } class ThreadUpadte implements Runnable { public void run() { //无限重绘画面while (true) { try { Thread.sleep(SLEEPTIME); repaint(); //} catch (InterruptedException e) { e.printStackTrace(); } } } } /*** 创建食物*/public void createNode() { //随机食物的出现位置int x = (int) (Math.random() * 650) + 50,y = (int) (Math.random() * 500) + 50; Color color = Color.blue; node = new Node(x, y, color); } public static void main(String args) { new InterFace(); } } /*** 节点类(包括食物和蛇的身躯组成节点)*/class Node { int x, y, width = 15, height = 15; Color color; public Node(int x, int y, Color color) { this(x, y); this.color = color; } public Node(int x, int y) { this.x = x; this.y = y; this.color = color.black; } public void draw(Graphics2D g2d) { g2d.setColor(color); g2d.drawRect(x, y, width, height); } public Rectangle getRect() { return new Rectangle(x, y, width, height); } } /*** 蛇*/class Snake { public List《Node》 nodes = new ArrayList《Node》(); InterFace interFace; int dir=InterFace.R; public Snake(InterFace interFace) { this.interFace = interFace; nodes.add(new Node(20 + 150, 40 + 150)); addNode(); }/*** 是否碰撞到食物* @return true 是 false 否*/public boolean hit(Node node) { //遍历整个蛇体是否与食物碰撞for (int i = 0; i 《 nodes.size(); i++) { if (nodes.get(i).getRect().intersects(node.getRect())) { addNode(); return true; } } return false; } public void draw(Graphics2D g2d) { for (int i = 0; i 《 nodes.size(); i++) { nodes.get(i).draw(g2d); } move(); } public void move() { nodes.remove((nodes.size() - 1)); addNode(); } public synchronized void addNode() { Node nodeTempNode = nodes.get(0); //如果方向switch (dir) { case InterFace.L://判断是否会撞墙if (nodeTempNode.x 《= 20) { nodeTempNode = new Node(20 + 15 * 50, nodeTempNode.y); } nodes.add(0, new Node(nodeTempNode.x - nodeTempNode.width, nodeTempNode.y)); break; case InterFace.R: //判断是否会撞墙if (nodeTempNode.x 》= 20 + 15 * 50 - nodeTempNode.width) { nodeTempNode = new Node(20 - nodeTempNode.width, nodeTempNode.y); } nodes.add(0, new Node(nodeTempNode.x + nodeTempNode.width, nodeTempNode.y)); break; case InterFace.U: //判断是否会撞墙if (nodeTempNode.y 《= 40) { nodeTempNode = new Node(nodeTempNode.x, 40 + 15 * 35); } nodes.add(0, new Node(nodeTempNode.x, nodeTempNode.y - nodeTempNode.height)); break; case InterFace.D://判断是否会撞墙if (nodeTempNode.y 》= 40 + 15 * 35 - nodeTempNode.height) { nodeTempNode = new Node(nodeTempNode.x,40 - nodeTempNode.height); } nodes.add(0, new Node(nodeTempNode.x, nodeTempNode.y + nodeTempNode.height)); break; } } }

中午吃什么随机生成器,今天中午吃什么

星期一:白米粥、炒鸡蛋、一个奶黄包、一个苹果星期二:三明治面包、牛奶、一根香蕉星期三:青菜粥、煎蛋、白馒头、一瓶酸奶星期四:皮蛋瘦肉粥、青菜包、一根黄瓜星期五:小米粥、酱黄瓜、一个肉包、一些圣女果星期六:一份煎饺、一个鸡蛋、一碗银耳红枣汤星期日:一份油条大饼、一碗豆浆、一个梨

关于随机食物生成器,JAVA贪吃蛇课程怎么处理食物的随机性的介绍到此结束,希望对大家有所帮助。

随机食物生成器(JAVA贪吃蛇课程怎么处理食物的随机性)

本文编辑:admin

更多文章:


植物大战僵尸内购破解版(植物大战僵尸2内购破解版怎么下载)

植物大战僵尸内购破解版(植物大战僵尸2内购破解版怎么下载)

本篇文章给大家谈谈植物大战僵尸内购破解版,以及植物大战僵尸2内购破解版怎么下载对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录植物大战僵尸2

2024年7月1日 11:59

剑灵反和谐补丁怎么用(求解!下了剑灵神灯(反和谐补丁)是压缩文件,打开也更新设置了,关了后再想打开,却找不到启动图标,)

剑灵反和谐补丁怎么用(求解!下了剑灵神灯(反和谐补丁)是压缩文件,打开也更新设置了,关了后再想打开,却找不到启动图标,)

本篇文章给大家谈谈剑灵反和谐补丁怎么用,以及求解!下了剑灵神灯(反和谐补丁)是压缩文件,打开也更新设置了,关了后再想打开,却找不到启动图标,对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,

2024年5月30日 13:12

手机QQ怎么下载啊?怎么下载手机QQ

手机QQ怎么下载啊?怎么下载手机QQ

大家好,关于手机qq很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于手机QQ怎么下载啊的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录手机QQ怎么下载啊

2024年7月5日 17:35

3d斯诺克台球游戏下载(有什么3D斯诺克台球游戏有的发个下载地址!)

3d斯诺克台球游戏下载(有什么3D斯诺克台球游戏有的发个下载地址!)

“3d斯诺克台球游戏下载”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看3d斯诺克台球游戏下载(有什么3D斯诺克台球游戏有的发个下载地址!)!本文目录有什么3D斯诺克台球游戏有的发个下载地址!哪里有画面好的3D斯诺克台球游戏

2024年7月27日 22:00

奥汀三国群英传5单机手机版(哪位哥哥能告诉我在哪下载单机三国,就是一个大将后面领着一帮兵的那个,可以占领别人的地方,还能俘虏敌)

奥汀三国群英传5单机手机版(哪位哥哥能告诉我在哪下载单机三国,就是一个大将后面领着一帮兵的那个,可以占领别人的地方,还能俘虏敌)

这篇文章给大家聊聊关于奥汀三国群英传5单机手机版,以及哪位哥哥能告诉我在哪下载单机三国,就是一个大将后面领着一帮兵的那个,可以占领别人的地方,还能俘虏敌对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录哪位哥哥能告诉我在哪下载单

2024年7月23日 13:16

真三国无双7帝国修改器(真三国无双7帝国22修改器怎么对游戏进行修改)

真三国无双7帝国修改器(真三国无双7帝国22修改器怎么对游戏进行修改)

本文目录真三国无双7帝国22修改器怎么对游戏进行修改用凉宫修改器修改真三国无双7帝国为什么会出现缺少 LINKEDDATA.bin文件真三国无双7帝国修改器怎么改自创武将属性真三国无双7帝国 v大修改器里ip2a ip2e什么意思真三国无双

2024年6月26日 05:14

免费音频转换器在线(免费音频转换mp3的软件)

免费音频转换器在线(免费音频转换mp3的软件)

大家好,关于免费音频转换器在线很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于免费音频转换mp3的软件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录免

2024年4月18日 06:45

求犬夜叉的壁纸要1440×900的.?犬夜叉手机壁纸 最好是静态的 谢谢

求犬夜叉的壁纸要1440×900的.?犬夜叉手机壁纸 最好是静态的 谢谢

本文目录求犬夜叉的壁纸要1440×900的.犬夜叉手机壁纸 最好是静态的 谢谢《犬夜叉》在日漫中什么地位动漫中有哪些反派角色让你印象最深可以推荐一款自己喜欢的手机壁纸吗喜欢的理由是什么和《犬夜叉》差不多的动漫有什么犬夜叉和戈薇相比杀生丸和玲

2024年6月13日 09:02

photoshop中文版免费下载(哪里有免费的Photoshop软件下载哪位知道谢谢!)

photoshop中文版免费下载(哪里有免费的Photoshop软件下载哪位知道谢谢!)

大家好,今天小编来为大家解答以下的问题,关于photoshop中文版免费下载,哪里有免费的Photoshop软件下载哪位知道谢谢!这个很多人还不知道,现在让我们一起来看看吧!本文目录哪里有免费的Photoshop软件下载哪位知道谢谢!哪里有

2024年6月27日 21:53

连连看经典版最老版(求连连看最老版本的~)

连连看经典版最老版(求连连看最老版本的~)

这篇文章给大家聊聊关于连连看经典版最老版,以及求连连看最老版本的~对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录求连连看最老版本的~qq连连看经典旧版怎么进去单机版连连看的下载地址最老的单机版连连看全屏的qq连连看经典旧版怎

2024年6月30日 00:47

冰点下载器手机版(冰点文库下载器最多只能下载101页)

冰点下载器手机版(冰点文库下载器最多只能下载101页)

今天给各位分享冰点文库下载器最多只能下载101页的知识,其中也会对冰点文库下载器最多只能下载101页进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录冰点文库下载器最多只能下载101页冰点文库下载器为什么不能用了

2024年7月30日 21:25

语音转文字的软件(语音转换文字的软件)

语音转文字的软件(语音转换文字的软件)

“语音转文字的软件”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看语音转文字的软件(语音转换文字的软件)!本文目录语音转换文字的软件什么软件可以将语音转换成文字的录音转文字哪个软件好用有什么软件能将音频转换成文字语音转文字软

2024年7月18日 15:50

波克城市官方网站(波克城市程序启动失败缺少系统文件点击确定安装系统插件怎么回事)

波克城市官方网站(波克城市程序启动失败缺少系统文件点击确定安装系统插件怎么回事)

其实波克城市官方网站的问题并不复杂,但是又很多的朋友都不太了解波克城市程序启动失败缺少系统文件点击确定安装系统插件怎么回事,因此呢,今天小编就来为大家分享波克城市官方网站的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本

2024年7月22日 05:56

恩典qq透明皮肤大图(恩典的QQ透明皮肤【一键就好的那种】和恩典的个性分组前面的图标╮以及关于恩典的所有QQ需要的东东)

恩典qq透明皮肤大图(恩典的QQ透明皮肤【一键就好的那种】和恩典的个性分组前面的图标╮以及关于恩典的所有QQ需要的东东)

本文目录恩典的QQ透明皮肤【一键就好的那种】和恩典的个性分组前面的图标╮以及关于恩典的所有QQ需要的东东求全套恩典的QQ透明皮肤教程,素材 、包括登陆界面、皮肤、消息栏、资料窗口等等谢谢! 谢谢恩典的QQ透明皮肤【一键就好的那种】和恩典的个

2024年1月7日 01:00

湖南卫视回放今晚节目(湖南卫视今天的节目表)

湖南卫视回放今晚节目(湖南卫视今天的节目表)

今天给各位分享湖南卫视今天的节目表的知识,其中也会对湖南卫视今天的节目表进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录湖南卫视今天的节目表湖南卫视全国中小学生安全教育日特别节目湖南卫视今天节目列表在哪里能看到

2024年7月6日 06:15

逍遥情缘宠物技能在哪买?逍遥情缘手游瑶池和幽冥哪个好

逍遥情缘宠物技能在哪买?逍遥情缘手游瑶池和幽冥哪个好

大家好,逍遥情缘相信很多的网友都不是很明白,包括逍遥情缘宠物技能在哪买也是一样,不过没有关系,接下来就来为大家分享关于逍遥情缘和逍遥情缘宠物技能在哪买的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录逍遥情缘宠物技

2024年9月4日 07:50

windows7系统镜像(win7镜像是什么)

windows7系统镜像(win7镜像是什么)

“windows7系统镜像”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看windows7系统镜像(win7镜像是什么)!本文目录win7镜像是什么windows7 ISO镜像是什么怎么用镜像安装win7系统详细步骤WIN7

2024年7月23日 08:14

什么叫云桌面?用了一年的云桌面,聊一聊它有哪些优点和缺点

什么叫云桌面?用了一年的云桌面,聊一聊它有哪些优点和缺点

大家好,关于云桌面很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于什么叫云桌面的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录什么叫云桌面用了一年的云桌

2024年6月29日 02:46

建设银行个人网上银行证书下载(建设银行的网上银行怎么样下载证书呀)

建设银行个人网上银行证书下载(建设银行的网上银行怎么样下载证书呀)

本文目录建设银行的网上银行怎么样下载证书呀建设银行个人网上银行证书下载建设银行的网上银行怎么样下载证书呀个人客户证书下载后是以个人证书的方式存储在IE浏览器中的,你可以导出保存为.pfx文件。方法如下:先从网站上按照提示下载个人证书到IE浏

2024年6月2日 23:42

尺子在线测量1:1(怎样在轴测图上1比 1测量尺寸)

尺子在线测量1:1(怎样在轴测图上1比 1测量尺寸)

今天给各位分享怎样在轴测图上1比 1测量尺寸的知识,其中也会对怎样在轴测图上1比 1测量尺寸进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录怎样在轴测图上1比 1测量尺寸在线刻度尺CAD用尺在屏幕上测量的尺寸和

2024年7月22日 22:15

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1154
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1151
标签列表

热门搜索