Java实现Tank大战联机版

这篇博客分享了一个使用Java开发的双人联机坦克大战游戏,游戏模式类似小霸王学习机上的经典坦克大战。游戏通过Socket通信和多线程技术实现不同电脑间的实时交互,但存在长时间运行后可能出现操作延迟的问题。地图包含多种障碍物,子弹碰撞后的效果各异。作者提供了源码下载链接供读者研究学习。

        前言

                在前面对于Java初学者开发简单的桌面游戏的碰撞检测的总结中,笔者特意去翻了翻U盘里面

          的东西。发现以前用Java做的Tank大战游戏还静静的躺在那个角落。现在将其分享出来。陆续的

          也会将以前做过的小玩意分享出来。

      功能简述

               笔者完成的Tank大战支持双人游戏,游戏的模式有点类似于小霸王学习(目前只支持双人游戏)

         机上的Tank大战游戏。有什么功能特点笔者就不多说了,相信大家都明白的。对于双人游戏模式

         两个玩家并非在一台电脑上操作Tank,玩家可以在不同电脑上进行“联机”操作。

                基于这个特点,涉及到了Socket通信,多线程,联机的两方必须知道对方的情况,这就需要

         实时的更新地图信息、子弹信息、Tank位置信息。多线程的应用主要也是集中在这一块。不过需要

         指出的是,笔者这里的线程处理还是有缺陷的,就是在游戏正常运行一段时间之后对方的操作可能

         “卡死”,看不见对方的操作。

               这是由于刷新的东西过多,有些传递过来的信息已经无用,笔者没有对其进行处理造成的。

               简单的完成了一些地图效果,这里只在主机端可以看到,没有实现对地图的更新。

               地图上有各种各样的障碍物,Tank子弹发射撞击到上面的效果根据障碍物的类型不同的,例如

         如果为墙体,则墙体爆炸,若为铁块则产生爆炸效果,但是铁块不消失。不过遗憾的是最新版本

         笔者不知去了哪,读者可以自行完成这块。

               这个版本不是最新的版本,详细的功能笔者也没法详述,读者自行尝试吧!

              好了,说了一大堆的废话,我们来看看实际效果图吧!

              


              


              


              

              好了,差不多也就这样了,其实完成的还是很粗糙的,不过对于新手来说还是可以看看的。

          读者如果需要源码的话,直接在评论下面写下邮箱地址,小生会直接发送。
           

               我直接将源码上传到csdn资源区,0积分下载。

                点击打开链接

           

     


评论 44
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值