| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 640 人关注过本帖
标题:[讨论]坦克游戏的问题
只看楼主 加入收藏
lucis009
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2007-5-2
收藏
 问题点数:0 回复次数:4 
[讨论]坦克游戏的问题
1)首先你要了解自己C语言掌握情况,构思符合实际的游戏构想,可以稍稍超 越自己的水平,但是要清楚技术瓶茎在哪里;
2)多看看其他人的程序,找到解决或绕过瓶颈的方法;
3)制作游戏具体过程(我以坦克为例):
(1)分割屏幕:就是设定好游戏范围,和用方格将屏幕分割,这样方便
定位你的图形位置,我是绘制了一个表格函数放到了
include文件夹里,你可以直接把代码放到程序里也可以;
(2)绘画静态图形:以你的网格为标准,绘制你的游戏主人公,我的就
是绘制坦克,具体方法请参阅我的原代码中
void tank (int x,int y,int c)函数
还有炮弹函数和爆炸函数
(3)让你的图形动起来:
A 我是先编辑我控制的坦克:
a用到了键盘控制:
具体做法是先定义你要用的键位,如坦克开头
定义的那几行#define,后面的值是与键一对一对应的,如:
up 0x4800 down 0x5000 left 0x4b00
right 0x4d00 esc 0x011b 等等 ;
b根据输入的键,改变主人公(坦克)的坐标,
参阅原程序主函数结尾部分;
c循环根据坐标绘制主人公(坦克);
B 让对方的坦克动起来:
a只是把键盘控制用随机数控制代替,我用
random()函数产生4个随机数,依次代替4个按键;
b,c和上述的A样;
(4)同步动作:把所有的东西放在一个大循环当中,每循环依次就改变
一次坐标,并根据新坐标绘图,这里我要强调keyhit()
函数的重要性,具体用法请参阅附件中的贪吃蛇例子;

上面的内容是转贴的:
(4)同步动作那里,应该怎么样实现,要是按键与敌方同时进行那好像有矛盾,因为需要等待按键,而在等待按键这段时间里
敌人就不能动了,这是我的理解,有哪位能解答一下?
搜索更多相关主题的帖子: 坦克 游戏 
2007-07-23 05:22
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
while(退出条件)
{
接受按键动作;
if(有按键动作) 移动;
敌方智能移动;
}

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-07-23 08:14
lucis009
Rank: 1
等 级:新手上路
帖 子:181
专家分:0
注 册:2007-5-2
收藏
得分:0 
int value
value=bioskey(1);/*这个是不是不需要等待按键的*/
2007-07-23 13:37
anlogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:293
专家分:20
注 册:2007-7-20
收藏
得分:0 
以下是引用lucis009在2007-7-23 13:37:30的发言:
int value
value=bioskey(1);/*这个是不是不需要等待按键的*/

跟kbhit()作用是一样的

2007-07-23 13:56
岳C
Rank: 1
等 级:禁止发言
帖 子:354
专家分:0
注 册:2007-7-16
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2007-07-23 18:53
快速回复:[讨论]坦克游戏的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040294 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved