喵宗 2022-09-26 17:35 采纳率: 77.8%
浏览 25
已结题

请哪位帮帮我,谢谢您嘞

//函数外全局变量定义
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int position_x,position_y;
int high,width;
void starup() //数据初始化
{
high=18;
width=30;
position_x=high/2;
position_y=width/2;
}
void show() //显示画面
{
int i,j;
system("cls");
for (i=0;i<high;i++)
{
for(j=0;j<width;j++)
if((i==position_x)&&(j==position_y))
printf("*");
else
printf(" ");
}
printf("\n");
}
void undateWithoutInput() //与用户输入无关的更新
{
}
void undateWithInput() //与用户输入有有关的更新
{
char input;
if(kbhit())
{
input=getch();
if(input=='a')
position_y--;
if(input=='d')
position_y++;
if(input=='w')
position_x--;
if(input=='s')
position_x++;

 } 

}
int main()
{
starup(); //数据初始化
while(1) //游戏循环执行
{
show(); //显示画面

 undateWithoutInput();     //与用户输入无关的更新
 undateWithInput();     //与用户输入有有关的更新    
 }
 return 0 ; 

}
哪位可以告诉我为什么程序运行中我按w或者s不是上下移动而是乱跳呢?

  • 写回答

1条回答 默认 最新

  • 有老虎 2022-09-26 17:46
    关注

    你按键可能在一直触发,应该你把它做成按下触发一次就行了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月4日
  • 已采纳回答 9月26日
  • 创建了问题 9月26日

悬赏问题

  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊