JAVA入门到精通-第48讲-坦克大战12
Posted 夏至稻花如白练,大暑池畔赏红莲
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA入门到精通-第48讲-坦克大战12相关的知识,希望对你有一定的参考价值。
![](https://image.cha138.com/20210524/b0c186f30cfb4330ac1d4fba0eb74769.jpg)
![](https://image.cha138.com/20210524/64c76c8cd3554f8f8e62c69a550d2ba8.jpg)
-------------------------
字体闪烁:
(一会儿画出,一会儿不画,线程闪烁,休眠1秒,重画)
![](https://image.cha138.com/20210524/bd1e4cf7a2424e5fbe3ff829277de314.jpg)
启动msp线程:
![](https://image.cha138.com/20210524/60a4d21b2621445bb46506ead0c725c8.jpg)
---------------------------
如何切换到游戏界面?
响应“开始新游戏”这个按钮就OK了;
![](https://image.cha138.com/20210524/b47978843ea349928f7ee3d4852357ae.jpg)
让JFrame实现一个接口:
对用户不同的点击作出不同的处理
//先删除旧的开始面板
this.remove(msp);
//显示,刷新JFrame
![](https://image.cha138.com/20210524/02b5a6604793425c9c718aaecddf254a.jpg)
![](https://image.cha138.com/20210524/2db39258d32143cb91d65fccaf6cd359.jpg)
--------------------------------------
![](https://image.cha138.com/20210524/d5ec2c0099b54822a541975b823b5c21.jpg)
可以在玩游戏的时候暂停和继续:
思路:当用户点击暂停的时候,把子弹的速度和坦克的速度设为0,并且让坦克的方向不要变化;
--------------------------------------
记录玩家的成绩:
思路:用文件流的方式,小游戏-文件;大游戏-数据库;
CS/BS结构,保存在服务器数据库里面;
![](https://image.cha138.com/20210524/28ec8ce207754d609f8040580936e9c7.jpg)
------------------------------------------
做界面:
添加新功能:单写一个类,专门来记录一些设置信息:
通过面板来控制一些游戏设置;
![](https://image.cha138.com/20210524/1c83326cfe974cc4973dae68132fc50b.jpg)
游戏设置信息完全可以保存在缓存recoder里面;
//记录每关有多少敌人
private static int enNum=20;
private static int myLife=3;
![](https://image.cha138.com/20210524/3ac81469784a416d897c2878ccf22d83.jpg)
----------------------------------------
paint 函数:
//画出提示信息坦克
![](https://image.cha138.com/20210524/8221aba248ba4acabb4aa3bc8145b567.jpg)
敌人坦克数量从Recoder取出;
![](https://image.cha138.com/20210524/e668739e5b92406cbb90cb059712009f.jpg)
//我的坦克
Recorder.getMyLife()
//封装成一个函数 ,画出提示信息,传一个画笔
![](https://image.cha138.com/20210524/021dacc3a10848c5bb6468523676a429.jpg)
![](https://image.cha138.com/20210524/179e02da2f5d42ad808c878c3a131d52.jpg)
//当打掉敌人一个坦克,坦克数量需要减少
hitEnemyTank判断
![](https://image.cha138.com/20210524/842649aac105468b856204cebb67a17b.jpg)
et.isLive=false;
![](https://image.cha138.com/20210524/0f4d3b777a7d4b9d847a9b2a55129a0f.jpg)
public static void reduceEnNum()
![](https://image.cha138.com/20210524/fdf7eac28f6042aca29fd2961df49acd.jpg)
![](https://image.cha138.com/20210524/00138c15e93b427a98a8d48d5f97bd3e.jpg)
//画出总成绩,把成绩写进文件流里面
![](https://image.cha138.com/20210524/18d876e333b0414593c74bda9c3d9e31.jpg)
![](https://image.cha138.com/20210524/8de711b7264f4d358cee0708600044d9.jpg)
//
![](https://image.cha138.com/20210524/dcdfa22543544accacd443e216be80e1.jpg)
//下一步,退出,暂停,重新开始;
写,读---交给Recorder函数
以上是关于JAVA入门到精通-第48讲-坦克大战12的主要内容,如果未能解决你的问题,请参考以下文章