c11_3.老鼠在菜园出口处遇见一只猫"¤",吓得往回逃,沿着阶梯状路线逃到入口处。

//gotoxy的坐标和数组的坐标是相反的,起先没想到,想了好久的。。= =!
//又忘了把菜园子弄中间了。。。= =!大家自己慢慢挪吧。。。。
//3.老鼠在菜园出口处遇见一只猫"¤",吓得往回逃,沿着阶梯状路线逃到入口处。
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
void gotoxy(int x, int y);
void main()
{
	//菜园 8行 26列 起点(2.1)
     char garden[10][31]={  {"┏━━━━━━━━━━━━━┓"},
                            {"  **************************┃"},
                            {"┃**************************┃"},
                            {"┃**************************┃"},
                            {"┃**************************┃"},
                            {"┃**************************┃"},
                            {"┃**************************┃"},
                            {"┃**************************┃"},
                            {"┃**************************  "},
                            {"┗━━━━━━━━━━━━━┛"},};//终点(28,9)
	int i, j;
	for(i=0; i<10; i++)
	{
        for(j=0; j<31; j++)
			printf("%c", garden[i][j]);
		printf("\n");
	}
   int mousex=2, mousey=1;
   gotoxy(mousex, mousey);
   printf("@");
   int k;
   char c;
   while(1)
   {
      k=_kbhit();
	  if(k)
	  {
		  garden[mousey][mousex]=' ';
		  gotoxy(mousex, mousey);
		  printf(" ");
		  c=_getch();
		  if(c=='l'&&mousex<27)
			  mousex++;
		  if(c=='k'&&mousey<8)
			  mousey++;
		  gotoxy(mousex, mousey);
		  printf("@");
		  garden[mousey][mousex]=' ';
	  } 
	  if(mousex==27&&mousey==8)
	  {
	      gotoxy(29, 8); printf("¤");
		  garden[8][27]=' ';
		  break;
	  }
   }
   while(1)
   {
        if(garden[mousey-1][mousex]==' ')
		{
			gotoxy(mousex, mousey);
			printf(" ");
			mousey--;
			gotoxy(mousex,mousey);
			printf("@");
		}
		if(garden[mousey][mousex-1]==' ')
		{
		   gotoxy(mousex, mousey);
		   printf(" ");
		   mousex--;
		   gotoxy(mousex,mousey);
		   printf("@");
		}
		Sleep(200);
   }
   getchar();
}
void gotoxy(int x, int y) //定位到第y行的第x列
{    
 int xx=0x0b;    
 HANDLE hOutput;    
 COORD loc;    
 loc.X=x;    
 loc.Y=y;    
 hOutput = GetStdHandle(STD_OUTPUT_HANDLE);    
 SetConsoleCursorPosition(hOutput, loc);    
 return;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值