| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2369 人关注过本帖, 3 人收藏
标题:都是新手,我在这里出道小游戏的题目,大家一块来做,在项目中学习
取消只看楼主 加入收藏
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
结帖率:100%
收藏(3)
已结贴  问题点数:20 回复次数:3 
都是新手,我在这里出道小游戏的题目,大家一块来做,在项目中学习
个人觉得光看书还是不行的,是不是要做些小东西来提高一下兴趣,有高人在的话请不要不屑,人人都有刚开始的时候,现在开始吧。。
//----------
这是一个字符游戏,可能会用到一些额外的知识,比如
gotoxy();//光标的移动
clrscr();//清屏涵数
还有bioskey;//键盘控制
...
等等
//----------------------
题目是这样的:
1.在黑窗口中生成一个"笑脸"或者你喜欢的"字符形状",还有一些"障碍物(也是字符)",还有一些可以随机出现的可以吃的点心(也是字符)",(考虑一下随机涵数的用法喽~)
2.你试图用键盘上的按键控制“笑脸”在黑窗口里运动
3.你不能越过障碍物,因为他阻挡了你前进的路。
4.当你吃到超过10个的时候,会跳出"恭喜过关"
5.当然你还可以加一些你喜欢的元素在里面。
//------------------
:a.网上可能会有些类似的代码,可以去参考一下,最好是个人独立想出来,可能会遇的有些额外的知识,去一下翻书,把这游戏做出来。
    b.自己试着能不能加点自己喜欢的功能,比如他会“自己运动"(贪吃蛇),注意多去想想关于实现碰撞。
    c.通过这个"小项目",自己是不是已经掌握了gotoxy();clrscr()的一些用法,是否觉得你自己是真实的运用C去实现想法。
    d.通过这“小项目”来学习与光看课本的方法,觉得有什么区别啊?

[ 本帖最后由 cosam 于 2011-9-28 09:13 编辑 ]
搜索更多相关主题的帖子: 键盘 小游戏 人人 看书 
2011-09-28 09:09
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
http://wenku.baidu.com/view/e13a2120aaea998fcc220eed.html
大家如果不知道如何下手,这里有介绍。
我只是在这上面增加了一项碰撞,看大家能不能试验出来。
游戏个个都爱玩嘛,自己做你会发现,程序真的很好玩,兴趣就来了。
2011-09-28 09:45
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
1.笑脸
    printf("%c",2);
    这样就生成了一个笑脸了。
2.上网查一下:
    c语言控制光标运动的实现方法,实现后,你就是要把光标换成笑脸就行了;你会有收获的
3.会动的概念:
    先打印一个"笑脸",移动一下,用清屏涵数清掉前面的,然后在下一格再打印“笑脸”,实现"移动"
4.点心
    有点心的坐标让他的值为1,只要有1的坐标全部打印“红心 printf("%c",3);,这里用到数组了”;笑脸路过了红心,值变成0;清屏;每清一次count记录下来,等count=10时,打印“good job”
5.障碍物
    有障碍物的坐标让他的值为2;当“笑脸”移动动这里的时候,判断能不能过。
:这里只用到了清屏和光标移动这两个课本里没有提到的,考一下大家的自学能力了,找一下gotoxy(x,y)的用法,
不会很难。其他的都是一些很基础的东西了,看大家怎样组织了。
可能会用到wintc,tc之类,因为现在的vs已经没有他们的头文件了;下面贴一下实现光标移动,大家可以试一下,"
case 后面的数值是什么东东?。
程序代码:
# include <stdio.h>
# include <bios.h>
int x = 5;
int y = 5;
int main()
{
    while(1)
    {
        switch(bioskey(0))
        {
        case 18432:
            y = y-1;clrscr();gotoxy(x,y);break;
        case 20480:
            y = y+1;clrscr();gotoxy(x,y);break;
        case 19200:
            x = x-1;clrscr();gotoxy(x,y);break;
        case 19712:
            x =x +1;clrscr();gotoxy(x,y);break;
        }
    }

    return 0;
   
}
补充一下,我们的dos窗口,其实大小是:80*25,单位是字符,这样你们好理解,所以数组嘛````

[ 本帖最后由 cosam 于 2011-9-30 14:27 编辑 ]
2011-09-30 13:59
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
回复 14楼 fedcab123
可以啊。。。。
2011-09-30 14:34
快速回复:都是新手,我在这里出道小游戏的题目,大家一块来做,在项目中学习
数据加载中...
 
   



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

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