走迷宫热身【控制点移动】

# include <iostream>
# include <conio.h>//getch()的使用必须有conio.h头文件

using namespace std;

int main()
{
	char ch;
	int x, y;
	int x1, y1;
	int temp;
	int array[10][20] = 
	{
		{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
		{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
		{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
		{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
		{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
		{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
		{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
		{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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},
	};
	
	x = 4;
	y = 9;
	
	while(1)
	{
		system("cls");
		
		for (int val = 0; val < 10; ++val)
		{
			for (int flag = 0; flag < 20; ++flag)
			{
				if (x == val && y == flag)
				{
					cout << "·";
				}
				else
				{
					if (1 == array[val][flag])
					{
						cout << "#";
					}
					
					if (0 == array[val][flag])
					{
						cout << "  ";
					}
				}
			}
			
			cout << endl;
		}
		
		x1 = x;
		y1 = y;
		
		ch = getch();//输入后直接执行代码,不暂停
		
		if ('w' == ch)
		{
			if (1 != array[x-1][y])
				x = x - 1;
		}
		else if ('a' == ch)
		{
			if (1 != array[x][y-1])
				y = y - 1;
		}
		else if ('d' == ch)
		{
			if (1 != array[x][y+1])
				y = y + 1;
		}
		else if ('s' == ch)
		{
			if (1 != array[x+1][y])
				x = x + 1;
		}
		
		temp = array[x1][y1];
		array[x1][y1] = array[x][y];
		array[x][y] = temp;
	}
	
	return 0;
}


走迷宫热身【控制点移动】_第1张图片

问题:

CPU使用率太高了!!!

你可能感兴趣的:(走迷宫热身【控制点移动】)