| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3548 人关注过本帖
标题:无聊至极,弄了一个控制台游标模块,可用于写贪食蛇游戏
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:65 
无聊至极,弄了一个控制台游标模块,可用于写贪食蛇游戏
test_Console.exe.zip (8 KB)


附件为EXE可运行程序,不用解压,修改文件后缀即可。



以下是运行图样:



[ 本帖最后由 TonyDeng 于 2011-10-7 02:51 编辑 ]
搜索更多相关主题的帖子: 贪食蛇 控制台 游戏 运行程序 
2011-10-07 02:16
wxfcyuyan
Rank: 2
来 自:中国安徽
等 级:论坛游民
帖 子:14
专家分:29
注 册:2011-9-2
收藏
得分:0 
发现病毒
2011-10-07 09:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不可能的事

授人以渔,不授人以鱼。
2011-10-07 09:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
源代码:

程序代码:
#include "myTools.h"
#include "Console.h"
#include <conio.h>

void Block_Move(const WCHAR* block, COORD& position, USHORT& direction, DWORD time);

Console console;

void main(void)
{
    const WCHAR block[] = L"";
    const DWORD time(120);
    COORD position = {0, 0};
    USHORT direction(6);

    console.SetTitle(L"控制台按键测试程序");
    console.ClearScreen(BACKGROUND_BLUE);
    console.SetTextColor(FOREGROUND_WHITE | BACKGROUND_BLUE);
    console.WriteText(L"←↑→↓控制方块运动方向,PgUp加速,PgDn减速,Esc键结束", console.GetMaxRow(), 0);
    console.SetTextColor(FOREGROUND_YELLOW | BACKGROUND_BLUE);
    console.SetCursor(false);

    Block_Move(block, position, direction, time);
}

void Block_Move(const WCHAR* block, COORD& position, USHORT& direction, DWORD time)
{
    int keycode;

    while (true)
    {
        if (_kbhit())
        {
            keycode = console.ReadKey();
            if (keycode == K_ESC)
            {
                break;
            }
            switch (keycode)
            {
            case K_UP:
                direction = 8;
                break;
            case K_DOWN:
                direction = 2;
                break;
            case K_LEFT:
                direction = 4;
                break;
            case K_RIGHT:
                direction = 6;
                break;
            case K_PGUP:
                time -= 50;
                if (time < 0)
                {
                    time = 0;
                }
                break;
            case K_PGDN:
                time += 50;
                if (time > 1000)
                {
                    time = 1000;
                }
                break;
            default:
                break;
            }
        }
        console.WriteText(block, position.Y, position.X);
        Sleep(time);
        console.WriteText(L" ", position.Y, position.X);
        switch (direction)
        {
        case 2:
            ++position.Y;
            if (position.Y > console.GetMaxRow() - 1)
            {
                position.Y = 0;
            }
            break;
        case 4:
            --position.X;
            if (position.X < 0)
            {
                position.X = console.GetMaxCol() - 1;
            }
            break;
        case 6:
            ++position.X;
            if (position.X > console.GetMaxCol())
            {
                position.X = 0;
            }
            break;
        case 8:
            --position.Y;
            if (position.Y < 0)
            {
                position.Y = console.GetMaxRow() - 1;
            }
            break;
        default:
            break;
        }
        console.WriteText(block, position.Y, position.X);
    }
}
收到的鲜花
  • Devil_W2011-10-07 11:44 送鲜花  -3朵   附言:不值一文。
  • 小鱼儿c2011-10-07 17:38 送鲜花  4朵   附言:分享就好了,看不那些所谓的高手到处乱喷

授人以渔,不授人以鱼。
2011-10-07 10:01
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
收藏
得分:0 
来学习下哈。。。
2011-10-07 10:35
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
vc与wintc都没有#include "myTools.h"
2011-10-07 11:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 6楼 cosam
两个双引号括着的头文件都是我自己写的,当然没有。那部分没发出来,运行程序看效果就成了。用VS2010写的,我不知道在目标机器上要不要.NETFrameword 4库支持,希望有人测试一下,仅仅靠这个.EXE文件,在什么配置上能执行、什么配置上不能执行?

授人以渔,不授人以鱼。
2011-10-07 11:21
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
.......
见怪见怪,只记住几个常用的头文件,还以为这个是我不认识的头文件。。

[ 本帖最后由 cosam 于 2011-10-7 11:26 编辑 ]
2011-10-07 11:24
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这个程序所有源代码(连空格和注释)加起来,是5687byte,编译生成的可执行机器码,是8Kbyte,C++的编译效率还是挺高的。

授人以渔,不授人以鱼。
2011-10-07 11:32
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
现在CPU这么给力,效率在做一般软件都没问题吧,合理就行,最怕就是怕内存占用。
有个朋友做3d游戏,才做一个demo,一张地图20人玩,贴图资源不多,但游戏占内存快2G,比wow还恐怖。。

2011-10-07 11:43
快速回复:无聊至极,弄了一个控制台游标模块,可用于写贪食蛇游戏
数据加载中...
 
   



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

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