用 Dev-C++ 编写简单的走迷宫小游戏

article/2025/9/14 4:47:16

用 Dev-C++ 编写简单的走迷宫小游戏

  • 前言
  • 基础版
  • 优化版

前言

以下是显示效果
显示效果
B站视频讲解:【小游戏】用 Dev-C++ 编写简单的控制台走迷宫小游戏

【小游戏】用 Dev-C++ 编写简单的控制台走迷宫小游戏

基础版

# 代表墙
用 空格 代表空地
O 代表玩家

地图存储:a[x][y]
以下是代码:

#include <cstdio>
#include <windows.h>
#include <conio.h>
//8*12
char a[50][50]={"############","#O#    #   #","#   ## # # #","#####    # #","#     #### #","# #####  # #","#       ##  ","############"};int main()
{int x=1,y=1;char ch;for(int i=0;i<=7;i++)puts(a[i]);while(1){ch=getch();if(ch=='s')//下{if(a[x+1][y]==' '){a[x][y]=' ';x++;a[x][y]='O';}}else if(ch=='w')//上{if(a[x-1][y]==' '){a[x][y]=' ';x--;a[x][y]='O';}}else if(ch=='a')//左{if(a[x][y-1]==' '){a[x][y]=' ';y--;a[x][y]='O';}}else if(ch=='d')//右{if(a[x][y+1]==' '){a[x][y]=' ';y++;a[x][y]='O';}}system("cls");for(int i=0;i<=7;i++)puts(a[i]);if(x==6 && y==11)break;}printf("你赢了!");Sleep(10000);return 0;
}

优化版

以下有些函数的使用方法可以看看其他人的博客

#include <cstdio>
#include <windows.h>
#include <conio.h>
//8*12
char a[50][50]={"############","#O#    #   #","#   ## # # #","#####    # #","#     #### #","# #####  # #","#       ##  ","############"};void Hide()//用于隐藏控制台光标 
{HANDLE				hOut;CONSOLE_CURSOR_INFO	curInfo;hOut=GetStdHandle(STD_OUTPUT_HANDLE); curInfo.dwSize=1;curInfo.bVisible=0;SetConsoleCursorInfo(hOut,&curInfo);
}void Welcome()//欢迎界面 
{printf("\n\n           走 迷 宫");printf("\n\n        请按任意键开始");getch();system("cls");
}void Set()//设置光标到初始位置 
{HANDLE hOut;COORD pos={0,0};hOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut,pos); 
}int main()
{Hide();Welcome();int x=1,y=1;char ch;for(int i=0;i<=7;i++)puts(a[i]);while(1){ch=getch();if(ch=='s')//下{if(a[x+1][y]==' '){a[x][y]=' ';x++;a[x][y]='O';}}else if(ch=='w')//上{if(a[x-1][y]==' '){a[x][y]=' ';x--;a[x][y]='O';}}else if(ch=='a')//左{if(a[x][y-1]==' '){a[x][y]=' ';y--;a[x][y]='O';}}else if(ch=='d')//右{if(a[x][y+1]==' '){a[x][y]=' ';y++;a[x][y]='O';}}Set();for(int i=0;i<=7;i++)puts(a[i]);if(x==6 && y==11)break;}printf("你赢了!");Sleep(10000);return 0;
}

http://chatgpt.dhexx.cn/article/ty8NTSUe.shtml

相关文章

简单的迷宫问题(DFS/BFS分别求解)

简单的迷宫问题 题目描述输入样例输出样例 dfs解题思路(深搜)路线规划DFS特点C源码(DFS) bfs解题思路(广搜)路线规划测试代码段BFS特点C源码&#xff08;BFS&#xff09; 题目描述 现在需要你来规划一条路线&#xff0c;从起点到终点的最短路线。 给你一个nm的地图&#xff08;…

基于JAVA的简单迷宫游戏

一、实验要求 1. 迷宫游戏是非常经典的游戏&#xff0c;在该题中要求随机生成一个迷宫&#xff0c;并求解迷宫。 2. 要求游戏支持玩家走迷宫&#xff0c;和系统走迷宫路径两种模式。玩家走迷宫&#xff0c;通过键盘方向键控制&#xff0c;并在行走路径上留下痕迹&#xff1b;系…

C++实现简单的走迷宫

c实现简单走迷宫 用n*n个小方格代表迷宫&#xff0c;每个方格上有一个字符0或1&#xff0c;0代表这个格子不能走&#xff0c;1代表这个格子可以走。只能一个格子一个走&#xff0c;而且只能从一个格子向它的上、下、左、右四个方向走&#xff0c;且不能重复。迷宫的入口和出口分…

迷宫问题(简单模拟)

目录导航 图解体会领悟&#xff1a;代码实现&#xff08;Java&#xff09;&#xff1a;C语言版C版 为了复习递归&#xff0c;而模拟学习的。所以迷宫不大&#xff0c;总体是8行7列。 图解 A为起点&#xff0c;B为终点。 如下图在A和B之间设置挡板被隔绝之后&#xff0c;结果如…

超级简单的迷宫代码 初学者程序

迷宫 走迷宫一种比较有趣&#xff0c;操作简单的小游戏。 #include<stdio.h> #include<getch.h> #include<stdlib.h> #include<time.h> int main(int argc,const char*argv[]) {//构造迷宫地图char maze[10][10]{{#,#,#,#,#,#,#,#,#,#},{#,,#,#,#,#…

最简单的迷宫求解

在计算机中&#xff0c;我们可以把迷宫当做一个二维数组。其中0表示通路&#xff0c;1表示墙。 我们以下图为例&#xff0c;对于只有一条通路的简单迷宫进行求解 该迷宫存储在“Map.txt”文档中。 对于该迷宫&#xff0c;我们首先将入口点压入栈中&#xff0c;然后通过对该点…

JAVA 中实现的简单的迷宫小游戏

多的不说&#xff0c;直接上代码&#xff0c;就是一个简单的迷宫小游戏。 import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.Random; import java.util.Stack; import javax.swing.JFr…

Python实现迷宫游戏

项目&#xff1a;迷宫游戏 摘要1.引言1.1研究的背景及意义1.2研究的内容 2.系统结构2.1系统的结构2.2基本思路 3.实现代码3.1Maze类3.2Player类3.3Controller类3.4主函数 4.实验5.总结和展望参考文献 摘要 本次实验设计了一款迷宫小游戏&#xff0c;采用用Python开发技术实现。…

C语言实现简单迷宫

C语言实现迷宫程序 前言 大家小时候一定都玩过迷宫这个游戏&#xff0c;很吸引人吧&#xff0c;有那种走不出来就不罢休的执着&#xff0c;然后走出来了觉得自己很强&#xff0c;自己可以了&#xff0c;接着激动的开始下一个关卡&#xff0c;慢慢的沉溺在迷宫的世界里了。 然…

如何使用C语言实现简单迷宫(递归和非递归实现 含图例)

1.非递归实现 简单迷宫&#xff1a;只有一条通路的迷宫 思路&#xff1a;在找迷宫通路的时候&#xff0c;我们往往是在给定入口(入口合法且为通路)的情况下&#xff0c;沿着入口的某个方向走&#xff08;此方向是通路&#xff09;。现给定走迷宫的方向&#xff1a;上、左、右…

简单迷宫(递归)

代码思路 1.创建二位数组作为迷宫 2.数字1为墙壁&#xff0c;2为经过的位置&#xff0c;3为死路&#xff0c;0为未探寻的位置 3,定义一个起点和终点&#xff0c;运用递归的方法&#xff0c;按照自己设计的寻找方向的优先级运行&#xff0c;直到让终点值为2则返回true&#x…

简单迷宫问题

简单迷宫问题 一、问题描述二、数据组织三、算法说明附录&#xff1a;完整代码 #简单迷宫问题 一、问题描述 给定一个MN得迷宫&#xff0c;求一条从指定入口到出口得迷宫路径。假设一个迷宫如图1所示&#xff0c;&#xff08;这里MN8)&#xff0c;其中每个方块用空白表示通道…

maven生命周期lifecycle和plugins介绍

一、Maven的生命周期 生命周期的定义&#xff1a;Maven的生命周期就是为了对所有的构建过程进行抽象和统一。在大量项目的构建过程中&#xff0c;Maven总结出了一套高度完善的&#xff0c;易于扩展的生命周期&#xff0c;包括项目的清理&#xff0c;初始化&#xff0c;编译&am…

【Maven】IDEA中Maven生命周期

Maven生命周期&#xff08;lifecycle&#xff09;由各个阶段组成&#xff0c;每个阶段由Maven的插件plugin来执行完成。 生命周期&#xff08;lifecycle&#xff09;主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等&#xff0c;其…

Maven生命周期与插件

竟无语凝噎 文章目录 前言一、生命周期二、插件总结 前言 maven原来有这么多道道 一、生命周期 Maven对项目构建的生命周期划分为三套 clean&#xff1a;清理工作 default&#xff1a;核心工作&#xff0c;例如编译&#xff0c;测试&#xff0c;打包&#xff0c;部署等 si…

Maven 生命周期详解

思考&#xff1a;我们常使用的maven命令&#xff0c;比如 mvn clean install&#xff0c;mvn clean package 这些命令到底最后是如何工作的&#xff1f; 在这里我们还是先一步步来&#xff0c;其实它们运行的是生命周期中对应的phase阶段。 Maven 拥有三套独立的生命周期&…

关于maven生命周期的理解

晚上有点无聊&#xff0c;看到了一些东西引发了自己的思路&#xff0c;就想将maven的一些东西总结总结&#xff0c;有从网上抄的&#xff0c;也有自己的思路。 一、生命周期是指什么&#xff08;lifecycle&#xff09; Maven的生命周期就是对所有的构建过程进行抽象和统一。包…

Maven的生命周期

一、生命周期简介&#xff1a; Maven强大的一个重要的原因是它有一个十分完善的生命周期模型&#xff0c;这个生命周期可以从两方面来理解&#xff1a; 运行Maven的每个步骤都由它来定义的&#xff0c;这种预定义的默认行为使得我们使用Maven变得简单。 这个模型是一种标准&am…

Maven 生命周期

1. Maven 构建生命周期 Maven 构建生命周期就是 Maven 将一个整体任务划分为一个个的阶段&#xff0c;类似于流程图&#xff0c;按顺序依次执行。也可以指定该任务执行到中间的某个阶段结束。Maven 的内部有三个构建生命周期&#xff0c;分别是 clean, default, site。其中 def…