Andrew Huang
Tank大战的经典的红白机游戏。有人将其移植到 SDL之上。其中在pndn有 0.2和0.3版本下载,其界面效果如下.我经常拿这个做为SDL的几个基本演示程序之一
其中0.3版作了源码上的整理.并支持两个游戏者。所以相对比较好处理。
1. 0.3版本的编译.
这个版本的Makefile有一个小BUG
.c.o
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDE)
默认规则是针对.c来编译,但实际所有源码已经改成了 .cpp因此需要修改成如下
%.o:%.cpp
$(CC) -c $< -o $@ $(CFLAGS) $(INCLUDE)
make编译,在RHEL运行效果如下.
运行源码目录下的./tank 即可运行成功
2.0.3的扩展
1.Joy Stick支持。
0.3 不支持Joy Stick。可以在其中加入Joy Stick代码.这个将在后续加入。
2.网络对战
我的有学生将其加入网络对战,其两个游戏者分别用两台机器通讯。是数据结构非常不好分离,最后实现方面将把一台主机的内存的所有数据不断通过TCP传给另一台机器。这样传输的数据量很大,但是可以实现一部分对战功能,但是很容易造成段错误,在运行一段时间挂掉。
3. 0.3版本的移植
---------------------------------------------------------
Tank在ARM版移植较为困难.主要是因为地图数据高度依赖于原始图片的像素。这样在不同分辩率下的嵌入式设备无法显示完整(如果缩放图片会倒致地图不准确)
强行移植的话的要修改Makefile把CC换成arm-linux-gcc 即可能性
|
文件: |
tank.zip |
大小: |
311KB |
下载: |
下载 | |
阅读(1463) | 评论(0) | 转发(0) |