一.实现思路(emmmm,这个地方我很大程度参照了别人的写法)   由于键盘按键众多,因此使用选择框JComboBox 进行按键选择,点击一个JButton 按钮后,读取所有选择框中的内容,然后存到一个用于保存键位设置的对象Key中,然后在坦克移动的时候根据对象Key中的数据判断对坦克的操作.    同时,为了保证每次打开游戏时,能够保留上一次的按键设置,使用对象流将对象Key存入文件,以后创建KeySet的对象后,从文件中读取保存对象Key的信息,并使用:如果文件不存在或者文件为空,那么就重新…
写在前面       Java编译器下载教程(真的良心):https://blog.csdn.net/Haidaiya/article/details/81230636 本项目为本人独自制作,请各位尊重我的努力成果谢谢.同时,这个项目中也存在一些问题,请见谅. 本项目需要启动服务器,在类Server中启动主函数,随后启动类Main中的main方法即可开始运行,服务器的地址默认为本地,如需修改,请在类Client中进行修改,谢谢. 本项目中的图片音乐均来自网络,请不要用于商用(说起来我也不知道是否…
一.实现思路 使用socket通信的一些方法来实现socket通信,客户端和服务端两边需要约定好通信的接口Port(尽量选高的),客户端需要服务端的IP地址,以实现数据交流. 同时,客户端和服务端需要约定好数据传输的方式,比如我这里用 '!' 作为传输数据结束的标志,用'@'实现不同类型数据的分隔. 还有就是服务端那边需要保存排行榜的信息,由于那时候我还不会用数据库,所以用对象流将数据存入服务端的文件中,每次开启服务器就读取这个文件的信息. 在我这个程序里面,客户端向服务端发送的有两种请求,上传…
实现原理 我用接口java.applet.AudioClip实现音乐播放,那么我们需要了解这个接口的情况. 我们主要使用其中的三个方法: (1)void loop(); //循环播放(2)void play(); //开始播放(单次)(3)void stop(); //停止播放 虽然AudioClip 是一个接口,不能直接创建实例,但是java.applet.Applet 对象提供了一个静态的方法newAudioClip(),因此可以直接利用如下的语句,得到一个AudioClip 的实例引用:…
吃了可以加血的血块类 import java.awt.*; public class Blood { //血块移动的路径 int[][] pos = { {450,250},{450,252},{450,254},{450,256},{450,258},{450,260}, {450,310},{452,300},{454,300},{456,300},{458,300},{460,300} }; int x,y,w,h; TankClient tc; int step = 0; private…
坦克大战是我们小时候玩红白机时代的经典游戏,看到有不少小伙伴都使用各种语言实现了一下,手痒痒,也使用java做的一个比较简单的坦克大战,主要面向于学过Java的人群,与学了一段时间的人,有利于面向对象思想的提高,推荐给大家. 详情请参照注释,这里就不多废话了,实现一下儿时的经典而已. Blood.java ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3…
本文来自:小易博客专栏.转载请注明出处:http://blog.csdn.net/oldinaction 在此小易将坦克大战这个项目分为几个版本,以此对J2SE的知识进行回顾和总结,希望这样也能给刚学完J2SE的小伙伴们一点启示! 如果嫌代码太长,可以在这里下载打包好的源代码哦! 坦克大战效果图: 坦克大战V0.7图片版实现功能: 1.将方向定义为一个Enum类写在一个文件里,修正坦克子弹的颜色 2.加入坦克.子弹.爆炸的图片 3.添加配置文件,并导出可运行的jar包 注意事项: 1.Prope…
本文来自:小易博客专栏.转载请注明出处:http://blog.csdn.net/oldinaction 在此小易将坦克大战这个项目分为几个版本,以此对J2SE的知识进行回顾和总结,希望这样也能给刚学完J2SE的小伙伴们一点启示! 坦克大战V0.6实现功能: 1.超级炮弹 2.我方坦克有生命值 3.图像化我方坦克的生命值 4.添加血块,吃了可以涨生命值 5.敌方坦克死完后可以再有新的加入,我方坦克死亡可以复活 注意事项: 1.画生命值是fillRect()和drawRect()的不同 2.此处血…
本文来自:小易博客专栏.转载请注明出处:http://blog.csdn.net/oldinaction 在此小易将坦克大战这个项目分为几个版本,以此对J2SE的知识进行回顾和总结,希望这样也能给刚学完J2SE的小伙伴们一点启示! (此版本基本上就可以和电脑对打了,不信把源码放到你的电脑上就可以马上开启坦克大战之旅哦) 坦克大战V0.5实现功能: 1.产生一个敌方坦克 2.将敌人坦克击毙,相应的子弹和坦克都消失 3.添加爆炸效果 4.添加多辆坦克,并能够打掉敌方坦克 5.让敌方坦克可以随机运动,…
本文来自:小易博客专栏.转载请注明出处:http://blog.csdn.net/oldinaction 在此小易将坦克大战这个项目分为几个版本,以此对J2SE的知识进行回顾和总结,希望这样也能给刚学完J2SE的小伙伴们一点启示! 坦克大战V0.4实现功能: 1.写一个Missile类,产生一个可运动的子弹 2.让子弹可以通过按键控制发射,并且从坦克中心发射出来 3.使坦克停下来仍然能发子弹.为坦克添加炮筒,炮筒的方向会随着坦克运动方向而改变 4.能打出多发炮弹 5.解决炮弹不消亡的问题,解决坦…