玩游戏,我猜每个人都会偶尔玩一下,但是每次玩完就感觉时间过的好快,感觉时间都给浪费掉了,最近有一则新闻:“学长遗言”,就是讲大四的学长给学弟学妹们的真言,具体就是不要花太多时间玩游戏。这我也就不多做评价了。
当然,相反的是,如果我们可以做游戏给自己玩,然后再玩(测试代码)的时候不断完善我们的游戏,使之更具趣味化,人性化,合理化,我想这未尝不是一种好的方式来转换我们对游戏的痴迷。
大多数同学遨游在课本与考试之间,如果真正实践就只能望而却步,如果能够写一个游戏那就真的高大上了,有木有?今天我就浅谈我对写一些小游戏的简单看法。
男人游戏系列,我想在大多数同学的记忆中应该都无法磨灭吧!今天我就对“是男人就撑过20秒”这个游戏讲讲我自己的理解和实现。
(1)你要准备好导弹的图片,飞机的图片,碰撞后的效果图片,背景图片,然后用一个文件夹images保存。
(2)准备一个背景音乐以及碰撞后产生的效果音效用audio文件夹保存
前两步很简单有木有!
(3)我们需要将用鼠标来控制飞机的行动,当然用键盘也可以
(4)碰撞效果,这里我们需要判断导弹(圆形)的圆心和飞机的圆心距是否大于飞机和导弹的实际距离,如是则结束游戏,结束的弹出窗口
(5)时间计数,在左上角显示时间
(6)导弹出现的位置,从边框随机出现,出现50个,具体的导弹的轨迹可以自己设置
(7)界面
菜单栏, 开始,结束,暂停,游戏设置
难度设置:简单,中等,困难。通过设置小球的移动方法
历史记录:最高时间
游戏帮助等
(8)当然如果觉得死的太快也可以设置子弹碰到飞机后,子弹消失,当然我们在这里规定飞机有一定量的血,低于一定值时就结束游戏
具体实现:
首先要将我们需要的数据存入GameData类中,便于修改,测试数据
接着写好实体类,所有实体都继承Entity类,本类中有未实现的move()和draw()方法,由子类实现,子类包括背景,子弹,飞机等
其次要写主函数,写好界面,启动线程,添加实体,绘制实体
在接下来是监听方法,实现菜单中的开始,暂停,结束,继续方法。
然后是线程方法,其中实例化一个Entity类的对象,然后调用move()方法
最后就是测试代码。
数据类:
public class GameData { //窗体的大小 public static final int width = 500; public static final int height = 400; //子弹的大小 public static final int bwidth = 5; public static final int bheight = 5; . . . . }
实体类
public class Entity { public void draw(Graphics g){ } public void move(){ System.out.println("进入Entity的move方法*************************"); } }
设置鼠标光标为飞机图像
Toolkit toolkit = Toolkit.getDefaultToolkit(); Cursor cursor = toolkit.createCustomCursor(GameData.icon1.getImage(), new Point(16,16), "MyCursor"); jP.setCursor(cursor);
监听中,开始,暂停,结束,继续实现:我就列出一种的代码,其他的类似
if(e.getActionCommand().equals("结束")){ //循环list为空 while(!GameData.list.isEmpty()){ //循环删除导弹并设置当前状态 Entity en = GameData.list.remove(0); cn.setStop(true); } }
子弹中的绘制方法,x,y开始位置可以由自己设置,我这里用的是随机类Ramdom对象的nextint()方法随机产生
public void draw(Graphics g){ g.drawImage(GameData.icon.getImage(), x, y, GameData.bwidth, GameData.bheight, null); }
移动的方法我就不附代码了,现在我移动的方法还比较幼稚,也不太合理,就只是从左上到坐下移动,后面还会修改~~
至于其他对象方法也是类似的。
由于现在也只是初步完成一部分的工作,所以到之后如果做好了,在进行修改!^ _ ^
相关推荐
Python编程快速上手--让繁琐工作自动化 实践项目18.14.3 玩游戏机器人指南 自己写的代码 可以稳定玩完第一关 有一个很不错的指南名为“How to Build a Python Bot That Can Play Web Games”,网址是 ...
玩过打飞机吧,玩过连连看吧,30天时间,这本资料可以让你熟悉Unity的方方面面,甚至还可以山寨2个类似的游戏!说我吹牛?店家反正是看过了,信不信由你,反正我信了!Unity4.x 2D游戏开发基础教程(内部教程)
### 从玩游戏到写外挂:C语言程序员的成长之路 #### C语言的重要性及应用场景 C语言作为一门历史悠久的编程语言,至今仍具有重要的地位。它不仅是一门基础性的编程语言,还是很多高级语言如Java、.NET底层实现的...
《PyTorch训练AI自动玩小游戏:以俄罗斯方块为例》 在当今的深度学习领域,人工智能已经不再局限于复杂的任务,而是逐渐渗透到日常生活中的各个方面,包括娱乐领域。本项目【毕业设计】pytorch训练AI自动玩小游戏...
当孩子开始计时玩游戏的时候,系统将本程序文件夹下面的没有限制的hosts_yes文件替换掉系统hosts文件,系统开始玩游戏计时,然后就可以打开网页访问游戏网站并玩游戏了。 当计时结束,系统将本程序文件夹下面的限制...
标题中的“玩游戏卡慢怎么回事 玩游戏卡慢原因分析”是一个常见的问题,涉及到电脑硬件、软件优化和网络条件等多个方面。以下是对这个问题的详细分析: 首先,玩游戏卡慢并不一定是由于电脑被恶意程序入侵,更可能...
明确游戏的玩法,如玩家如何与ChatGPT交互,消耗分数的机制,时间限制以及可能的奖励或惩罚。例如,玩家每次提问都要消耗分数,游戏需在限定时间内完成,允许多次尝试但会消耗分数,可以通过购买或道具来获取额外...
一个非常好玩的CPP文件做的跑酷游戏!(自带exe文件) 十分推荐你来玩玩,没有密码,老少皆宜,特别是内些上 编程课吃饱了闲着没事儿干的,下下来玩儿一下,十分的 爽!球球了,花5积分买下来吧! 一个非常好玩的CPP...
跟着《电玩游戏java实战diy》这本书做游戏,写的java游戏代码和做的素材资源。其实大多数都是书上原本的代码啦,但是该书没有光盘装源代码。还有素材是我做的,所以用起来会比较方便。给不擅长制作图片素材的人方便...
【标题】"纯js写的小游戏,打开就可以玩,类似于是男人就坚持20秒",这是一款基于JavaScript实现的在线小游戏,无需安装任何软件,只需在浏览器中打开即可进行游玩。JavaScript是一种广泛用于Web开发的脚本语言,它...
VC 写的三子棋游戏源码,玩过么?听说过五子棋,没见过也没听过三子棋啊,究竟是怎么回事呢?玩法大致和五子棋相似:使自己的棋子凑成‘三’,这时你可以把对方任一个子废掉,游戏主程序分服务端和客户端,并自动...
CodeCombat 是一个通过玩游戏来学习编程的网站,也是GitHub上最大的开源CoffeeScript(一种脚本语言,类似JavaScript)项目,构筑在几十个开源项目之上的,有上千程序员和玩家为其编写程序、测试游戏。到目前为止,...
【Java网络猜数字游戏】是一个基于Java编程语言开发的多用户互动游戏,它利用了Java的Socket编程技术来实现客户端和服务器之间的通信。在这款游戏中,服务器端会随机生成一个数字,然后各个客户端通过网络连接向...
一个特别的亮点是它自带了地图设计程序,允许用户自编生成游戏地图,增加了游戏的可玩性和创造性。 关于这个小游戏的知识点可以从多个角度进行解析: 1. **C++编程语言**:C++是一种面向对象的编程语言,具有高效...
标题中的“C#写的手机拼图游戏能实现游戏功能”表明这是一个使用C#编程语言开发的手机应用程序,其核心功能是拼图游戏。C#是一种广泛应用于桌面、Web以及移动平台开发的面向对象的编程语言,由微软公司推出,特别...
训练过程中,AI会在模拟环境中不断玩游戏,每次游戏结束时,都会更新策略网络的权重,使其能更好地预测每个动作的未来奖励。随着训练的进行,AI会逐渐学会避免碰撞、持续吃食物以及适应游戏难度的变化。 在"AI_...
在描述中,“下载了用DEV C++打开就可以玩”提示我们,这些游戏的源代码是以C++语言编写,并且可能包含了必要的头文件、库和资源文件,可以直接在DEV C++环境中编译运行。这为学习C++编程和游戏开发提供了一个实践...
在“上班玩游戏真需要”的场景中,虚拟桌面可以帮助员工在工作时间专注于工作,而在休息时间快速切换到娱乐模式,如玩游戏,而不会被他人轻易发现。 首先,我们来详细了解一下虚拟桌面的概念。虚拟桌面是通过软件...
《用Python和Pygame写游戏-从入门到精通》是一本深入浅出的教程,旨在帮助初学者和有一定编程基础的读者掌握使用Python语言和Pygame库开发游戏的方法。Pygame是Python的一个流行模块,提供了丰富的功能,用于创建2D...
【标题】:“java写的简化版飞机大战游戏”揭示了...同时,对于经验丰富的开发者,这个项目也是一个优化和扩展的起点,可以在此基础上添加更多的功能和特性,比如网络对战、排行榜系统等,以提升游戏的趣味性和可玩性。