C语言迷宫小游戏

#include <stdio.h>

#include <time.h>

#include <getch.h>

#include <stdlib.h>

int main(int argc,const char* argv[])

{

	//定义迷宫地图

	char maze[10][10]={

		{1,1,1,1,1,1,1,1,1,1},

		{1,1,1,1,1,0,0,0,0,0},

		{1,1,0,1,1,0,1,1,1,1},

		{1,1,2,1,1,0,1,1,1,1},

		{1,1,0,1,1,0,0,0,1,1},

		{1,1,0,1,1,1,1,0,1,1},

		{1,1,0,1,1,1,1,0,1,1},

		{1,1,0,0,0,0,1,0,1,1},

		{1,1,1,1,1,0,0,0,1,1},

		{1,1,1,1,1,1,1,1,1,1},

		};

	// 定义老鼠坐标

	int mouse_x=3,mouse_y=2;

	//获取开始时间

	time_t start_time=time(NULL);

	for(;;)

	{

		//清屏

		system("clear");

		for(int i=0;i<10;i++)

		{

			for(int j=0;j<10;j++)

			{

				switch(maze[i][j])

				{

					case 0:printf("  ");break;	

					case 1:printf("# ");break;	

					case 2:printf("@ ");break;	

				}

			}

			printf("\n");

		}

		//判断是否到达出口

		if (1==mouse_x&&9==mouse_y)

		{

			time_t end_time=time(NULL);

			printf("你赢了!");

			printf("游戏时长为:%lu秒",end_time-start_time);

			return 0;

		}

		//获取方向键并处理

		switch(getch())

		{

			case 183:

			if(maze[mouse_x-1][mouse_y]==0&&0!=mouse_x)

			{

				maze[mouse_x][mouse_y]=0;

				maze[mouse_x-1][mouse_y]=2;

				mouse_x--;

			}break;

			case 184:

			if(maze[mouse_x+1][mouse_y]==0)

			{

				maze[mouse_x][mouse_y]=0;

				maze[mouse_x+1][mouse_y]=2;

				mouse_x++;

			}break;

			case 185:

			if(maze[mouse_x][mouse_y+1]==0)

			{

				maze[mouse_x][mouse_y]=0;

				maze[mouse_x][mouse_y+1]=2;

				mouse_y++;

			}break;

			case 186:

			if(maze[mouse_x][mouse_y-1]==0)

			{

				maze[mouse_x][mouse_y]=0;

				maze[mouse_x][mouse_y-1]=2;

				mouse_y--;

			}break;

		}

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值