| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2344 人关注过本帖, 1 人收藏
标题:初学C语言!浅谈C游戏的编写!想做游戏的看看!高手请多多指教!(一)
取消只看楼主 加入收藏
一尛星一
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:41
专家分:49
注 册:2009-10-17
结帖率:50%
收藏(1)
已结贴  问题点数:20 回复次数:3 
初学C语言!浅谈C游戏的编写!想做游戏的看看!高手请多多指教!(一)
        初学C语言不久!刚发表了一个C语言游戏!是迷宫子的!做完那个游戏我也很惊讶!原来游戏就是反复判断而          成的!因为初学,所以并没复杂的东东!下面开始解析游戏制作步骤!
        (纯属个人思路!或许有问题!因为没深入C语言数据结构!也请高高手的大侠们指点下!)
      
        首先(键盘)
        玩游戏都要用键盘吧!游戏控制要用键盘!可是(谭浩强)书里没写怎么用键盘控制!
        貌似用什么都要用“Enter”输入!第一次用C做迷宫是用的WASD!来上下左右!每次按下WASD还要按Enter!
        这极其麻烦!所以这里就要用键码!键码我不知道是什么东西!因为我也刚学!可我基本会用吧!
        用键码要先用宏定义!"#define"也不是非要这样!只是这样方便些!因外键码都是十六进制数字!
        手动每次输入容易出错!都是XXXFFFOOO的!
        以下是上下左后和WASD得键码!
        #define LEFT 0x4b00
        #define RIGHT 0x4d00
        #define DOWN 0x5000
        #define UP 0x4800
        #define ESC 0x011b
        #define ENTER 0x1c0d
        #define W   0x1177   
        #define S   0x1f73   
        #define A   0x1e61   
        #define D   0x2064
      
        有键码,做游戏玩游戏都方便多了!
        用键码的方法以下举例!
        #include<stdio.h>
        #define W   0x1177    定义W的键码!
        int main()
        {
        key=bioskey(0);        这里相当于一个scanf的输入!你触摸键盘的键码会赋值在key上!
        if(key==W)        如果你触摸的键码是W的!也就是W!则判断为1!
        {
            printf("  yes");
        }
        getch();
    }
    这里注意的是!键码非要提前定义!不定义计算机不识别你按得字母!或者手动输入键码!
    #include<stdio.h>
    int main()
    {
        key=bioskey(0);
        if(key==0x1177)
        {
            printf("  yes");
        }   
        getch();
    }
    键盘上没个按键都有键码!某些键盘按键的键码不一样!应该是为了兼容!就只识别键码吧!不识别键码所附带的按键字符!
    这样的键码!就可以实现上下左右!

    接下来(移动)
    一般都游戏都要移动!怎么样实现移动呢?我曾经想过!结果发现可以这样!当然,这只是个人用法!高手可以指点!越详细越好!
   
    用数组!高手就加上指针吧!
    一个二维数组!数组的第一行第一个位置定义一个字符"*"!要让它移动!就把它附给数组的第一行第二个位置!在把第一个位置清空    !我是赋值为空格!这样显示的也是空!
    这样就是移动了!
   

    迷宫主要就是移动!要做迷宫就是反复的移动!
    接下来就是一个坐标关系了!到了数组的某些地方触发什么效果!这就是编程的问题了!
   




   

    到此!如果还有谁不懂可以回复!本人很喜欢游戏!所以会尽量很详细的去回复读者!
   
    本人很喜欢游戏!所以更希望高手们可以指点指点!多多指教!!在下感激不尽!
   
   
搜索更多相关主题的帖子: 游戏 初学 编写 C语言 
2009-10-18 20:48
一尛星一
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:41
专家分:49
注 册:2009-10-17
收藏
得分:0 
回复 楼主 一尛星一
因为现在是个学生!编译器都不清楚!只要能写就行!呵呵!我刚下了VS.6!你不说我还不知道有那编译器!那我用用看吧!谢谢啊!
2009-10-18 21:31
一尛星一
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:41
专家分:49
注 册:2009-10-17
收藏
得分:0 
回复 2楼 xu0xiang0
没有啊!只不过就是对那敢兴趣而已!恩!我以为都是16的进制哦!呵呵!谢谢指教!
2009-10-18 21:39
一尛星一
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:41
专家分:49
注 册:2009-10-17
收藏
得分:0 
回复 7楼 jiangwu10057
蒽!那个空格占内存我也知道!可是我不知道怎么解决!
我的地图也是每次全部都要输出!着个迷宫也是!不过现在可以不用全部每次输出了!就是清空特定坐标的字符!用gotoxy();函数清空一两个字符!这样就可以只输入一次地图!然后只清空或赋值特定的各把坐标!(着是听前辈叙述的)因该可以!
如果想详细探讨!加我QQ吧!291606494
2009-10-19 18:27
快速回复:初学C语言!浅谈C游戏的编写!想做游戏的看看!高手请多多指教!(一) ...
数据加载中...
 
   



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

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