linux下的推箱子游戏

简介: 推箱子 一、修改linux终端的背景色,字体色等属性     1、printf("\33[%dm", num);         1)30             30黑 31红  32绿  33黄  34蓝  35紫  36深绿  37白         2)40   ...
推箱子
一、修改linux终端的背景色,字体色等属性
    1、printf("\33[%dm", num);
        1)30             30黑 31红  32绿  33黄  34蓝  35紫  36深绿  37白
        2)40             40黑 41红  42绿  43黄  44蓝  45紫  46深绿  47白

    2、printf("\33[?25l")  隐藏光标 

    3、printf("\33[%d;%dH", x, y) 控制光标的位置
          x >= 1       y>=1

、游戏设置
    1、用一个二维数组表示游戏区
        int flag[8][8]={
            {0, 0, 1, 1, 1, 0, 0, 0},
            {0, 0, 1, 2, 1, 0, 0, 0},
            {0, 0, 1, 0, 1, 1, 1, 1},
            {1, 1, 1, 3, 0, 3, 2, 1},
            {1, 2, 0, 3, 4, 1, 1, 1},
            {1, 1, 1, 1, 3, 1, 0, 0},
            {0, 0, 0, 1, 2, 1, 0, 0},
            {0, 0, 0, 1, 1, 1, 0, 0}
            };

    2、数组中为1的地方是边框,为2的地方是目的地,为3的地方是箱子,为4的地方是人,为0的地方是空

三、边框
    /*
    打印边框,游戏区是8x8的正方形区域
    用两层for循环打印,在border数组中为1的地方打印"++"
    注意:打印的时候行每次加1,列每次加2
    */
    void draw_border()
    {
        int i,j;

        for(i=0; i         {
            for(j=0; j             {
                if(flag[i][j] == 1)
                {
                    printf("\33[%d;%dH", START_ROW+i, START_COL+j*2); //确定坐标
                    printf("\33[40m"); //修改背景色:黑
                    printf("||");
                    printf("\33[47m"); //
                }
            }
        }
    }

四、判断能否人移动
    1、能否向左
        如果 左边没有东西(0,2) 那么可以向左
        如果 左边有东西
        如果左边是墙(1),那么不可移向左
        如果左边是箱子(3)
        如果箱子的左边没东西(0,2),那么可以向左
        如果箱子左边有东西(1,3),那么不能向左

    2、右

    3、上

    4、下

五、人移动
    1、人向左移
        如果人能左移  
        1)flag[people.row][people.col] = 0
        2) flag[people.row][people.col-1] = 4
        3) 如果左边有箱子
            flag[people.row][people.col-2] = 3
        4) peolple.col--;                                    //人的坐标移动
    
    2、

六、过关
    如果flag[][]没有2,过关

相关文章
|
5月前
|
Web App开发 存储 Linux
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)(下)
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)
|
5月前
|
存储 Linux 调度
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)(上)
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)
|
6月前
|
安全 Ubuntu Linux
探险月球——Linux上的Moon Buggy游戏体验
Moon Buggy是一款简单却极具挑战性的游戏,在Linux系统中备受欢迎。在游戏中,你将驾驶一辆登月车,在月球表面跳跃、避免障碍物,体验一种别样的探险。本文将介绍如何在Linux上安装、运行和玩Moon Buggy,以及一些游戏中的基本操作和策略。
97 0
|
6月前
|
Ubuntu Linux
数字益智游戏2048——在Linux上挑战你的智力和策略
2048是一款备受欢迎的数字益智游戏,在Linux系统上也有精彩的版本。这个游戏的规则简单,但挑战性十足。本文将向你介绍如何在Linux上安装、运行和玩2048,以及一些制胜的策略和技巧。
47 0
|
6月前
|
Ubuntu Linux
俄罗斯方块的变种——Bastet在Linux上的游戏体验
Bastet是一款受欢迎的俄罗斯方块变种游戏,它在Linux系统上以其高难度和令人上瘾的游戏性而备受欢迎。本文将介绍如何在Linux上安装、运行和玩Bastet,以及一些提高你游戏技巧的窍门。
255 0
|
Shell Linux
Linux shell猜数游戏
Linux shell猜数游戏
99 0
|
Linux 开发工具 数据安全/隐私保护
Linux:文件权限管理小案例1:警察和土匪游戏
Linux:文件权限管理小案例1:警察和土匪游戏
146 0
Linux:文件权限管理小案例1:警察和土匪游戏
|
新零售 安全 物联网
游戏安全资讯精选 2017年第十六期:房卡式棋牌游戏涉赌博风波,抓娃娃火爆市场背后的安全隐患需警惕,Linux内核的Huge Dirty Cow权限提升漏洞
房卡式棋牌游戏涉赌博风波,抓娃娃火爆市场背后的安全隐患需警惕,Linux内核的Huge Dirty Cow权限提升漏洞
2653 0
|
Ubuntu 前端开发 Linux