首页 > 其他分享 >走迷宫

走迷宫

时间:2023-08-07 19:11:07浏览次数:30  
标签:hOut HANDLE ## 迷宫 printf curInfo include

#include<cstdio>
#include<conio.h>
#include<windows.h>
char a[25][25]= {"############",
                 "#O#    #  ##",
                 "#   ## # # #",
                 "#####  ### #",
                 "#     #### #",
                 "# #####   ##",
                 "#       #   ",
                 "############",};
void Hide(){
	system("color c1");
	HANDLE              hOut;
	CONSOLE_CURSOR_INFO curInfo;
	
	hOut=GetStdHandle(STD_OUTPUT_HANDLE);
	curInfo.dwSize=1;
	curInfo.bVisible=0;
	SetConsoleCursorInfo(hOut,&curInfo);
}
void Set(){
	HANDLE hOut;
	COORD pos={0,0};
	hOut=GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hOut,pos);
}
void Welcome(){
	printf("\n\n                欢迎游玩:");
	printf("\n\n                走 迷 宫");
	printf("\n\n             请按任意键开始");
	getch();
	system("cls"); 
}
int main() {
	Hide();
	Welcome();
	int x,y;
	char ch;
	x=1,y=1;
	for(int i=0; i<=7; i++)
		puts(a[i]);
	while(1) {
		ch=getchar();
		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=='d') {
			if(a[x][y+1]==' ') {
				a[x][y]=' ';
				y++;
				a[x][y]='O';
			}
		} else if(ch=='a') {
			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(1000);
}

标签:hOut,HANDLE,##,迷宫,printf,curInfo,include
From: https://www.cnblogs.com/niuzeyu1/p/17612490.html

相关文章

  • 844. 走迷宫
    题目给定一个$n×m$的二维整数数组,用来表示一个迷宫,数组中只包含$0$或$1$,其中$0$表示可以走的路,$1$表示不可通过的墙壁。最初,有一个人位于左上角$(1,1)$处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角$(n,m)$处,至少需......
  • HJ43 迷宫问题
    1.题目读题 HJ43 迷宫问题 考查点 2.解法思路 代码逻辑 具体实现importjava.util.ArrayList;importjava.util.List;publicclassMain{publicstaticvoidmain(String[]args){//迷宫地图int[][]maze={......
  • 【UNR #7】比特迷宫
    Description小青鱼来到了重(zhòng)庆市的一个迷宫,名为比特迷宫。听说只有最聪明的人才能从里面走出。这个迷宫看似容易,但在小青鱼即将走出迷宫的时候,却被\(n=2^k\)个比特机器人拦住了去路。这些机器人从左到右显示着\(a_{0,},a_1,\cdots,a_{n-1},\)表示一个\(n-1\)......
  • java用栈解决迷宫问题
    用栈解决迷宫问题迷宫问题是计算机科学中一个经典的问题,它可以通过使用栈来解决。在本文中,我们将使用Java语言来介绍如何使用栈来解决迷宫问题。迷宫问题简介迷宫问题是一个寻找从起点到终点的路径的问题,其中起点和终点被围在一个迷宫中的墙壁之间。迷宫由一个二维矩阵表示,其中0......
  • 电脑迷宫鼠----功能实现
    电脑迷宫鼠功能实现1.迷宫的生成自动生成迷宫算法介绍:网上有着各种各样的迷宫生成算法,我只是用了一种迷宫的生成算法-->prim算法该算法并不复杂,请自行到哔哩哔哩上找讲解视频进行学习,在这里展示一下java语言的实现方式 //迷宫的行数和列数privatevoidprim(introw,......
  • 电脑迷宫鼠(Java语言实现)
    电脑迷宫鼠基础要求1.概述:用java面向对象程序设计语言,设计和实现一电脑鼠走迷宫的软件程序,即一个假想的小车能在图示的迷宫中根据设定的起始点和终点自主寻找路径。本综合实践分成两部分:第一部分为算法设计和实现部分,第二部分为界面展现部分。2.第一部......
  • [刷题笔记] ybt1255:迷宫问题
    题目传送门Solution数据范围很小,一共才\(5\times5\),所以乱搞做法很多比如我一开始就先bfs单纯跑最短路,然后dfs找路径但是忘回溯被嘲讽其实可以边bfs边记录路径,因为bfs是按层数搜的,所以第一次到达终点的路径一定是最优的。那么如何记录路径呢?我原来用pair,经教练指导发现可以......
  • 人工智能导论——机器人自动走迷宫&强化学习
    一、问题重述强化学习是机器学习中重要的学习方法之一,与监督学习和非监督学习不同,强化学习并不依赖于数据,并不是数据驱动的学习方法,其旨在与发挥智能体(Agent)的主观能动性,在当前的状态(state)下,通过与环境的交互,通过对应的策略,采用对应的行动(action),获得一定的奖赏(reward)......
  • ZOJ 4020 Traffic Light(走迷宫变形)
    传送门我感觉就是一个走迷宫的题,只不过这个的墙是变化的。但是因为一直在0-1之间转换,所以把走到当前位置的步数进行判断,如果是奇数就把当前位置的灯状态改变,偶数不用处理,然后就是基本的搜索了。#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+10;vector<int>......
  • P1793 求解迷宫问题
    #include<iostream>usingnamespacestd;charmaze[8][8];voiddfs(intx,inty);voidprint(){for(inti=0;i<8;i++){for(intj=0;j<8;j++)cout<<maze[i][j];cout<<endl;}......