C语言实现崩铁“寻径指津”(有源码),不看后悔37天

2024-01-08 20:24:06

因为最近有在玩崩坏星穹铁道,做了一个任务游戏,叫做“寻径指津”

所以我就在想能不能用C语言搞出来,在我搞了长达一坤时之后,是终于搞出来了一关,大家可以拿去玩玩。

如果想听具体怎么实现的请在评论区扣1。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<Windows.h>
int main()
{
start:
	char arr[5][12]= {{"* * * *   *"}
					 ,{"*         *"},
					  {"* *   *   *"}
					 ,{"* +   *   *"}
					 ,{"* * * * * *"} };
	for (int i = 0; i < 5; i++) {
		for (int j = 0; j < 11; j++)
		{
			printf("%c", arr[i][j]);
		}
		printf("\n");
	}
	int x = 2;
	int y = 3;

	char arr1[5] = { 0 };
	while (true)
	{
		printf("请输入往哪走,四个字母,l往左,r往右,u往上,d往下(输入多了会报错哟!)\n");
		scanf("%s", arr1);
		char* arr2 = arr1;
		int count = 5;
		char c='a';
		while (count)
		{
			count -= 1;
			if (*arr2 == 'u' || *arr2 == 'd' || *arr2 == 'l' || *arr2 == 'r')
			{
				arr2 += 1;
				c = *arr2;
			}
		}
		if (c== '\0')
		{
			break;
		}
		else
		{
			printf("输入错误喵~,重新输入\n");
		}
	}
	char* arr2 = arr1;
	while (*arr2)
	{
		switch (*arr2)
		{
		case'l':
		{
			while (1)
			{
				if (arr[y][x - 2] == '*')
				{
					break;
				}
				if (arr[0][8] == '+')
				{
					break;
				}
				arr[y][x] = ' ';
				arr[y][x - 2] = '+';
				x -= 2;
			}
			break;
		}
		case'r':
		{
			while (1)
			{
				if (arr[y][x + 2] == '*')
				{
					break;
				}
				if (arr[0][8] == '+')
				{
					break;
				}
				arr[y][x] = ' ';
				arr[y][x + 2] = '+';
				x += 2;
			}
			break;
		}
		case'u':
		{
			while (1)
			{
				if (arr[y-1][x] == '*')
				{
					break;
				}
				if (arr[0][8] == '+')
				{
					break;
				}
				arr[y][x] = ' ';
				arr[y-1][x] = '+';
				y -= 1;
			}
			break;
		}
		case'd':
		{
			while (1)
			{
				if (arr[y + 1][x] == '*')
				{
					break;
				}
				if (arr[0][8] == '+')
				{
					break;
				}
				arr[y][x] = ' ';
				arr[y + 1][x] = '+';
				y += 1;
			}
			break;
		}

		default:
			break;
		}
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 11; j++)
			{
				printf("%c", arr[i][j]);
			}
			printf("\n");
		}
		printf("\n");
		Sleep(500);
		arr2 += 1;
	}
	int i = 0;
	if (arr[0][8] == '+') {
		printf("成功了喵~\n");
	}
	else
	{
		printf("失败了喵\n扣1重试,扣其他退出");
		{
			scanf("%d", &i);
			if (i == 1)
			{
				goto start;
			}
		}
	}

	return 0;
}

直接复制粘贴就能用了,可以拿去学习一下

文章来源:https://blog.csdn.net/zgwnb666/article/details/135429890
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。