用户:
happy_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”);可能有些新手不知道这个,执行这串代码可以把全场输出的字符都清除,俗称 清场
有其他不理解的 请拿名来!到评论区吐槽