猫史档案馆


C++实现键盘按键移动角色效果

用户:happy_chickenhappy_chicken查看:102 回复:5 评论:102 创建时间:2022-08-04T13:39:06


由于这是个演示程序,所以无需 与无关的更新 程序

首先我们需要for来打印总map,map总大小约为25*120,由于可能有些人不懂 数组 ,所以这次用变量定义。

这次我们需要判断按键按下,所以我们需要一些新函数!

此函数所需头文件:

#include<conio.h>

函数为:

_kbhit(); and _getch();

用此函数不需要参数,其 _kbhit() 是判断函数,_getch() 是获取函数

我们可以这样判断:

while (1){//无限执行
    if (_kbhit()){//判断按下按键
    input=getch();//input是获取按下什么按键的,其input需要只为:char类型
    cout<<input;//这样就可以输出按下的按键了!
}

要想实现角色移动的效果,其角色之前的空余部分必须为 空格

经过作者的几次头脑风暴后,程序再此下

#include<iostream>
#include<conio.h>
#include<Windows.h>
using namespace std;
int main()
{
	string a;
	char b; 
	int su;
	cout<<"请选择移动速度"<<endl;
	cin>>su;//==移动速度
	windows:
	system("cls");
	int shua=40,shuw=10;
	cout<<"w,s,a,d键操控'你'哦"<<endl;
	int sdx,shy;
	sdx=rand()%120;shy=rand()%30;
	for(int i=1;i<=shuw;i++){
		cout<<endl;
	}
	for(int i=1;i<=shua;i++){
		cout<<' ';
	}
	cout<<"你";
	while(1){
		if (_kbhit()){
			a=_getch();
			b=_getch();
			if(a=="a"||b=='←'&&shua>0){
				shua=shua-su;
				system("cls");
				for(int i=1;i<=shuw;i++){
					cout<<endl;
				}
				for(int i=1;i<=shua;i++){
					cout<<' ';
				}
				cout<<"你"; 
			}
			if(a=="d"||b=='→'&&shua<120){
				shua=shua+su;
				system("cls");
				for(int i=1;i<=shuw;i++){
					cout<<endl;
				}
				for(int i=1;i<=shua;i++){
					cout<<' ';
				}
				cout<<"你"; 
			}
			if(a=="w"&&shuw>0){
				shuw=shuw-su;
				system("cls");
				for(int i=1;i<=shuw;i++){
					cout<<endl;
				}
				for(int i=1;i<=shua;i++){
					cout<<' ';
				}
				cout<<"你";
			}
			if(a=="s"&&shuw<30){
				shuw=shuw+su;
				system("cls");
				for(int i=1;i<=shuw;i++){
					cout<<endl;
				}
				for(int i=1;i<=shua;i++){
					cout<<' ';
				}
				cout<<"你";
			}
			}
		}
	}

system(“cls”);可能有些新手不知道这个,执行这串代码可以把全场输出的字符都清除,俗称 清场

 

有其他不理解的 请拿名来!到评论区吐槽

 


回复

上一页1 页 / 共 1下一页
北墓南笙i北墓南笙i

这....

点赞0


评论


北墓南笙i北墓南笙i

看不懂

点赞0


评论


happy_chickenhappy_chicken

此程序执行是 按下/点击 按键:wads/↑↓←→ 键移动角色:你

点赞0


评论


VisualProgramerVisualProgramer

还好,起码我知道system(“cls”);是清屏,对应#include〈stdlib〉

点赞0


评论


姓梁monkey淡退姓梁monkey淡退

很简单

点赞0


评论