吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1477|回复: 7
收起左侧

[C&C++ 原创] 简易的走迷宫c语言解法吧

  [复制链接]
lookat 发表于 2023-9-10 05:25
参考参考无聊搞的这个可以的
[C] 纯文本查看 复制代码
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
	char a[50][50]={"##################",
					"#o #   #  #       ",
                    "# ## # ## ## #####",
                    "#  # # ## ## #   #",
                    "##   #    ##   # #",
                    "#### # #  ## # ###",
                    "#  # # ##  # # # #",
                    "##   #   #   #   #",
                    "##################",};
    int i,x,y,p,q;
    char ch;
    x=1;y=1;p=1;q=18;
    for(i=0;i<=18;i++)
		puts(a[i]);
		while(x!=p||y!=q){
			ch=getch();
			if(ch=='s')
			{
				if(a[x+1][y]!='#')
				{
					a[x][y]=' ';
					x++;
					a[x][y]='o';
				}
			}
            if(ch=='w')
			{
				if(a[x-1][y]!='#')
				{
					a[x][y]=' ';
					x--;
					a[x][y]='o';
				}
			}
            if(ch=='a')
			{
				if(a[x][y-1]!='#')
				{
					a[x][y]=' ';
					y--;
					a[x][y]='o';
				}
			}
            if(ch=='d')
			{
				if(a[x][y+1]!='#')
				{
					a[x][y]=' ';
					y++;
					a[x][y]='o';
				}
			}
			system("cls");
            for(i=0;i<=18;i++)
			puts(a[i]);
        } 
        system("cls");
        printf("win\n");
        Sleep(5000);
	return 0;
}

特别特别简易版

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
爱吃香菜123 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

HuaHuoCG 发表于 2024-4-3 19:10
[C++] 纯文本查看 复制代码
#include<iostream>
using namespace std;

char arr[][17] = {
	 "011111111111110@",
	 "0000000000000001",
	 "1111101111011001",
	 "0111111111000101",
	 "1100100000010101",
	 "11$0001011110001",
	 "1111111111111111",
};

void test()
{
	for (int i = 0; i < 7; i++)
	{
		for (int n = 0; n < 17; n++)
		{
			cout << arr[i][n];
		}
		cout << endl;
	}
}
void maze(int x, int y)
{
	system("cls");
	test();

	if (arr[x][y] == '$')
	{
		cout << "成功!" << endl;
		system("pause");
		exit(0);
	}
	arr[x][y] = '?';

	if (arr[x][y + 1] == '0' || arr[x][y + 1] == '$')
	{
		maze(x, y + 1);
	};
	if (arr[x - 1][y] == '0' || arr[x - 1][y] == '$')
	{
		maze(x - 1, y);
	};
	if (arr[x + 1][y] == '0' || arr[x + 1][y] == '$')
	{
		maze(x + 1, y);
	};
	if (arr[x][y - 1] == '0' || arr[x][y - 1] == '$')
	{
		maze(x, y - 1);
	};

	arr[x][y] = 'Q';
	return;
}
int main(void)
{
	test();
	int x = 0;
	int y = 0;
	maze(x, y);
	
	return 0;
}


我也写了一个类似的。思路用的是递归
wuyongyin 发表于 2023-9-10 07:18
wapjdongge 发表于 2023-9-10 10:25
5215op 发表于 2023-9-10 10:54
可以的,
roadmmqqll 发表于 2023-9-10 11:59
get技能, 多谢分享
ArrayList· 发表于 2023-9-15 13:46
挺好,看着还行。
wangqf250022 发表于 2023-9-15 22:01
不错  能玩 ,有创意
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表