IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 用C语言写迷宫 -> 正文阅读

[C++知识库]用C语言写迷宫

用C语言写迷宫

思路:
1、定义一个二维数组作为迷宫
0 ‘ ’
1 ‘#’
2 ‘@’
2、定义两个变量来记录老鼠的坐标
3、记录游戏开始时间
4、进入死循环
(1)清理屏幕system(“clear”);
(2)显示迷宫(遍历打印二位数组)
(3)判断是否到达出口
是:获取游戏结束时间
结束程序
(4)获取方向键并处理
判断前方是否是路
是:
1、旧位置=0;
2、新位置=2;
3、更新老鼠的位置

#include <stdio.h>
#include <getch.h>
#include <time.h>
#include <stdlib.h>

int main(int argc,const char* argv[])
{
//定义迷宫
char arr[10][10] = {
{1,1,1,1,1,1,1,1,1,1},
{1,0,2,0,1,1,1,1,1,1},
{1,0,1,1,1,1,1,1,1,1},
{1,0,1,1,1,1,1,1,1,1},
{1,0,0,0,1,1,1,0,0,0},
{1,1,1,0,1,1,1,0,1,1},
{1,1,1,0,0,0,0,0,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
};

//定义老鼠坐标
int mouse_x = 1,mouse_y = 2;

//获取开始时间
time_t start_time = time(NULL);

for(;;)
{

    //清理屏幕
   system("clear");
    for(int i=0; i<10; i++)
    {
        for(int j=0; j<10; j++)
        {
            switch(arr[i][j])
            {
                case 0: printf("  ");break;
                case 1: printf("# ");break;
                case 2: printf("@ ");break;
            }
        }
        printf("\n");
    }

    //判断是否到达出口
    if(4 == mouse_x && 9 == mouse_y)
    {
        time_t end_time = time(NULL);
        printf("成功走出迷宫,耗时%lu\n",end_time-start_time);
        return 0;
    }
    //获取方向键并处理
    switch(getch())
    {
        case 183:
            if(0 == arr[mouse_x-1][mouse_y] && 0 != mouse_x)
            {
                arr[mouse_x][mouse_y] = 0;
                arr[--mouse_x][mouse_y] = 2;
            } break;
        case 184:
            if(0 == arr[mouse_x+1][mouse_y] && 9 != mouse_x)
            {
                arr[mouse_x][mouse_y] = 0;
                arr[++mouse_x][mouse_y] = 2;
            } break;
        case 185:
            if(0 == arr[mouse_x][mouse_y+1] && 9 != mouse_y)
            {
                arr[mouse_x][mouse_y] = 0;
                arr[mouse_x][++mouse_y] = 2;
            } break;
        case 186:
            if(0 == arr[mouse_x][mouse_y-1] && 0 != mouse_y)
            {
                arr[mouse_x][mouse_y] = 0;
                arr[mouse_x][--mouse_y] = 2;
            } break;
    }

}

}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 22:56:44  更:2021-07-14 22:59:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年3日历 -2024/3/29 0:46:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码