“程序猿”--用JAVA编一个关于战舰世界的小游戏(一)

2019-05-30 20:41:16 神评论

17173 新闻导语

我是一个苦逼的技校生,菜鸟一个,想要在人生的将来,步入IT页的大门,初级目标就是成为一名程序猿,如今大数据,云计算,pathon,这些新晋技术在各行各业宛如新星一样冉冉升起,

我是一个苦逼的技校生,菜鸟一个,想要在人生的将来,步入IT页的大门,初级目标就是成为一名程序猿,如今大数据,云计算,pathon,这些新晋技术在各行各业宛如新星一样冉冉升起,望着如此盛大的鸿门宴,我也不能无动于衷,在我连续用C++写了几个小游戏后,包括一些小型的RPG游戏,,,想**一下我的情怀,用刚学会的JAVA,来写一个海战小游戏,也是我对战舰世界的情怀所致! 不写完不停更!



以前写的魔塔,画风很中二

 

首先创建游戏窗口,这里直接继承JFrame类,因为是游戏窗口不能缩放,this.setResizable 值为false,考虑到电脑分辨率的问题,要先设置1000x700的分辨率

把事先预设好的背景直接添加到Panel里面去 ,把每一步图片的加载封装成函数,战舰位置在想要的地方出现了,

吧战舰位置用X,Y表示以后方便随时修改,转向机动什么的。

这是执行效果




现在就是实现转向和移动,和战舰世界里一样,左右键并不是直接控制方向的,需要先加速,转向速度为Diresp变量,而且一个难题就是,转向速度要随着移动速度的增加而改变,根据面向对象,关于舰船的东西都是要封装在船类里面的,上图步骤是,吧舰船转向的值传递给船类,船类做出修改以后再把值返回给Panel,Panel**键盘按键。


由于舰船的行进过程是一个不断变化的量,所以用线程来写,现在的舰船就可以进行风骚的加速和转向了233

但是现在有一个困难的问题,X,Y的坐标视向量Dire是不断变化的,如何找到一个公式去描述这个变化,而且向量没有固定区间。比如说一直外切,那么向量就会一直减,目前通过测试可以得出,向量的周期循环是 +-6.25

【来源:贴吧】