2024216 2022-05-15 23:35 采纳率: 50%
浏览 7

为什么一个方向只能动一下,不能一直动,而且再向其他方向动还是从原点出发的,还不会刷新?

为什么一个方向只能动一下,不能一直动,而且再向其他方向动还是从原点出发的,还不会刷新?

img

img

img

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>

#define W 20
#define H 20

int a[H][W];
int i,j;

enum
{
up='2',
down='8',
left='4',
right='6',
};

struct jia
{
int x;
int y;
};

struct FOOD
{
int x;
int y;
};

struct jia zhang={3,3};
struct FOOD food={10,10};
// a[food.x][food.y]=2;
// a[zhang.x][zhang.y]=3;

void map();
int start();
void draw();
int move();
void clear();

int main()
{
map();
start();
draw();
while(1)
{
move();
//printf("\33[2j");
clear();
draw();
}
}

//清屏
void clear()
{
printf("\e[1;1H\e[2J");
}

//初始化背景地图
void map()
{
//struct jia zhang={3,3};
for(i=0;i<H;i++)
{
for(j=0;j<W;j++)
{
if(i==0||j==0||i==H-1||j==W-1)
{
a[i][j]=1;
}
else
{
a[i][j]=0;
}
}
}
//printf("\n");
//a[10][10]=2;
//a[zang.x][zang.y]=3;
}

//初始化位置
int start()
{
//struct jia zhang={3,3};
// struct FOOD food={10,10};
a[food.x][food.y]=2;
a[zhang.x][zhang.y]=3;
}

//画背景地图
void draw()
{
//map();
//start();
for(i=0;i<H;i++)
{
//a[10][10]=2;
for(j=0;j<W;j++)
{
switch(a[i][j])
{
case 0:
printf("\33[47;37m ");
break;
case 1:
printf("\33[41;33m \33[40;37m");
break;
case 2:
printf("♥");
break;
case 3:
printf("💏");
}
// printf("\n");
}
printf("\n");
}
}

//移动
int move()
{
int k=getch();
switch(k)
{
case up:
a[zhang.x][zhang.y]=0;
a[zhang.x-1][zhang.y]=3;
break;
case down:
a[zhang.x][zhang.y]=0;
a[zhang.x+1][zhang.y]=3;
break;
case left:
a[zhang.x][zhang.y]=0;
a[zhang.x][zhang.y-1]=3;
break;
case right:
a[zhang.x][zhang.y]=0;
a[zhang.x][zhang.y+1]=3;
break;
}
}

  • 写回答

1条回答 默认 最新

  • 「已注销」 2022-05-16 07:26
    关注

    因为代码写的不对

    评论

报告相同问题?

问题事件

  • 修改了问题 5月15日
  • 创建了问题 5月15日

悬赏问题

  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题