Java实现Tank大战联机版

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

        前言

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

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

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

      功能简述

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

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

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

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

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

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

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

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

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

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

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

评论 44
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值