VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 18994|回复: 100

发布坦克机器人测试版,大家帮忙测试下,先谢了

[复制链接]
 楼主| 发表于 2006-4-18 23:00:40 | 显示全部楼层 |阅读模式
下载地址
http://wachel.bigwww.com/download/RobotTankForVB.rar


历经近一月时间,我的作品终于可以发布测试版了,接下来的一段时间主要就是测试这个程序和编写使用帮助。大家下载试用下。

如果有使用方面的问题,也请在下面跟贴。我会一一解答


如果您已经看懂了怎么设计坦克,请把您的设计坦克跟贴在下面。希望大家能够多多提一些改进意见。

这不是一个人与人作战的游戏,也不是一个人与电脑作战的游戏,而是一个电脑与电脑作战的游戏,只有程序员才能够参加这个游戏,每个程序员都可以创建自己的坦克,然后与别人的坦克厮杀。让我们用代码为这些小小的坦克附加最初等的智力,让它在残酷的战场上求得生存。

基本设定:

1、所有的坐标系统都是以左下角为坐标原点,x轴正方向为右,y轴的正方向为上,x轴的正方向为角度0。逆时针方向为角度增大的方向,也就是与数学中的一致。
2、很多坦克在一个战场内进行战斗,这些坦克拥有相同的性能。战斗开始的时候,每个坦克的开始位置、角度是随机的。
3、坦克由基座、炮管、雷达三部分组成。基座决定移动方向,炮管决定开火方向,雷达决定扫描方向。
4、雷达扫描是唯一能够获得战场上其他坦克信息的方法。
5、雷达能够往前方发射直线的扫描信号,雷达转动时,当该直线扫过一辆坦克的时候,会收到一个扫描信号。雷达静止时,如果有坦克从扫描直线的一侧走到另一侧,也会触发扫描信号。静止的雷达无法探测到静止的坦克
6、没有任何方法可以获取战场上炮弹的信息。
7、炮管可以锁定于基座,使之与基座一起转动,这时发送的炮管转动命令指定的角度是相对于基座的转动角度。也可解除与基座的锁定,这时的炮管转动时指定的角度为相对于屏幕的角度。
8、雷达可以锁定于炮管。这时发送的雷达转动角度是相对于炮管。也可以解除锁定,这是指定的雷达转动角度是相对于屏幕。
9、坦克开火后需要一定的时间冷却炮管(大约15侦)。炮管冷却后才可以继续发射。
10、坦克的初始能量值为100。当能量值为0时,即被消灭。
11、坦克发射炮弹时可以选择炮弹携带的能量。能量范围为0-3。发射后坦克自身的能量会减掉相应的值。击中对方坦克后会获得一些能量补充作为奖励。当发射的炮弹能量为x的时候,自身会损失x的能量。如果击中敌人后敌人会损失5*x的能量。如果击中敌人,发射方会获得2*x的能量补充。

不能下载的请使用这个地址。
http://callwachel.googlepages.com/RobotTankForVB.rar


[ 本帖最后由 sgdjr2003 于 2006-5-13 14:34 编辑 ]
发表于 2006-4-19 11:18:18 | 显示全部楼层
大脚的东东要顶~
回复 支持 反对

使用道具 举报

发表于 2006-4-19 12:06:01 | 显示全部楼层
我不是很清楚这类东东,但我肯学
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-19 12:32:05 | 显示全部楼层
我觉得在这个框架下设计坦克是很容易的事情,怎么好像感兴趣的人并不多
回复 支持 反对

使用道具 举报

发表于 2006-4-19 12:55:31 | 显示全部楼层
哈哈,很好玩啊~
研究中...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-19 13:20:46 | 显示全部楼层
这不是一个人与人作战的游戏,也不是一个人与电脑作战的游戏,而是一个电脑与电脑作战的游戏,只有程序员才能够参加这个游戏,每个程序员都可以创建自己的坦克,然后与别人的坦克厮杀。让我们用代码为这些小小的坦克附加最初等的智力,让它在残酷的战场上求得生存。

基本设定:

1、所有的坐标系统都是以左下角为坐标原点,x轴正方向为右,y轴的正方向为上,x轴的正方向为角度0。逆时针方向为角度增大的方向,也就是与数学中的一致。
2、很多坦克在一个战场内进行战斗,这些坦克拥有相同的性能。战斗开始的时候,每个坦克的开始位置、角度是随机的。
3、坦克由基座、炮管、雷达三部分组成。基座决定移动方向,炮管决定开火方向,雷达决定扫描方向。
4、雷达扫描是唯一能够获得战场上其他坦克信息的方法。
5、雷达能够往前方发射直线的扫描信号,雷达转动时,当该直线扫过一辆坦克的时候,会收到一个扫描信号。雷达静止时,如果有坦克从扫描直线的一侧走到另一侧,也会触发扫描信号。静止的雷达无法探测到静止的坦克
6、没有任何方法可以获取战场上炮弹的信息。
7、炮管可以锁定于基座,使之与基座一起转动,这时发送的炮管转动命令指定的角度是相对于基座的转动角度。也可解除与基座的锁定,这时的炮管转动时指定的角度为相对于屏幕的角度。
8、雷达可以锁定于炮管。这时发送的雷达转动角度是相对于炮管。也可以解除锁定,这是指定的雷达转动角度是相对于屏幕。
9、坦克开火后需要一定的时间冷却炮管(大约15侦)。炮管冷却后才可以继续发射。
10、坦克的初始能量值为100。当能量值为0时,即被消灭。
11、坦克发射炮弹时可以选择炮弹携带的能量。能量范围为0-3。发射后坦克自身的能量会减掉相应的值。击中对方坦克后会获得一些能量补充作为奖励。当发射的炮弹能量为x的时候,自身会损失x的能量。如果击中敌人后敌人会损失5*x的能量。如果击中敌人,发射方会获得2*x的能量补充。

[ 本帖最后由 大脚 于 2006-4-19 13:33 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2006-4-19 13:40:24 | 显示全部楼层
能否添加一个被别人扫描到的事件?这样可以做一定的躲避处理

还有,如何获得战场的最大宽度距离及最大长度距离?

[ 本帖最后由 superboss 于 2006-4-19 13:43 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-19 13:48:37 | 显示全部楼层
能否添加一个被别人扫描到的事件?这样可以做一定的躲避处理
==========好主意

还有,如何获得战场的最大宽度距离及最大长度距离?
=====tank.RoomWidth和tank.Roomheight
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-19 13:54:53 | 显示全部楼层
坦克的一些经常会变的值 ,如位置,基座的角度,炮管的角度,雷达的角度,能量等,在每次使用前,需要先调用tank.UpdataTankInfo函数从引擎获得最新的值。
回复 支持 反对

使用道具 举报

发表于 2006-4-19 14:27:27 | 显示全部楼层
'当坦克完成一个转动命令的时候
Private Sub tank_OnTankTurnComplete()
    If bAhead Then
        tank.GoAhead 1000
    Else
        tank.GoBack 1000
    End If
    tank.TankTurnLeft Rnd * 360 - 180
End Sub
==================================================
这段的功能是当坦克完成一个转动后向前或后移动1000象素吧?为什么不管我设置成10还是10000效果都差不多呢,是程序有问题还是使用方法错了?
PS:这是" 酒后驾车"中的一段代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2020-4-1 22:33

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表