0
已解决
张三
修练者
修练者
Rt。
目前想以“突围”为中文名,但不知道英文名取啥好:
目前我定了 3 个:
1. Escape (逃脱)
2. Run (意思众人皆知)
3. Break through (这是 Google 翻译的结果)
请投票,如果您有更好的也可以写出来 QAQ
勿水
张三在2021-08-07 22:52:09追加了内容
https://wenda.codingtang.com/questions/9581/
张三在2021-08-07 22:56:21追加了内容
好像刷题求解的帖子不给复制,
我发一份我做了批注但只字未动的程序:
#include<iostream>
#include<conio.h>
#include<windows.h>
using namespace std;
int x=31,y=13,yf[1010],yx[1010],yy[1010],ysl=0,hh=0,nd;
// nd 难度 1~4
// hh 回合
// ysl 怪物数量
// yf 怪物方向
// yx 怪物 x 坐标 列
// yy 怪物 y 坐标 行
int main() {
cout<<"请选择难度1~4\n";
cin>>nd;
system("cls");
nd=nd%5; // 防乱搞,应为 nd = nd % 4 + 1;
while(1) {
hh++; // 回合
cout<<"第"<<hh<<"回合\n";
char c1;
for(int i=1; i<=nd; i++) { // 新生成 nd 只,怪物
ysl++;
yf[ysl]=rand()%4+1; // 初始化方向
if(yf[ysl]==1) {
yx[ysl]=51; // 第 51 列
yy[ysl]=rand()%25+1; // 随机 1 行
}
if(yf[ysl]==2) {
yx[ysl]=rand()%50+1; // 随机 1 列
yy[ysl]=0; // 第 0 行
}
if(yf[ysl]==3) {
yx[ysl]=0; // 第 0 列
yy[ysl]=rand()%25+1; // 随机一行
}
if(yf[ysl]==4) {
yx[ysl]=rand()%50+1; // 随机一列
yy[ysl]=26; // 26 行
}
}
for(int i=1; i<=ysl; i++) {
if(yf[i]==1)yx[i]--; // 左
if(yf[i]==2)yy[i]++; // 下
if(yf[i]==3)yx[i]++; // 右
if(yf[i]==4)yy[i]--; // 上
if(x==yx[i]&&y==yy[i])return 0; // 与怪物相撞,结束
}
for(int i=25; i>=1; i--) { // 打印
for(int j=1; j<=50; j++) {
int l=0;
for(int k=1; k<=ysl; k++)
if(yx[k]==j&&yy[k]==i)
l=1;
if(l==1)
cout<<"怪";
else if(i==y&&j==x)
cout<<"你";
else
cout<<" ";
}
cout<<endl;
}
c1=getch(); // 玩家移动 这里原本是 getche()
if(c1=='a') x-=1;
if(c1=='s') y-=1;
if(c1=='d') x+=1;
if(c1=='w') y+=1;
system("cls");
}
return 0;
}
张三在2021-08-08 23:01:04追加了内容
同学们,结贴啦,名字定为 “Escape”!
0
已采纳
钱成
初级守护
初级守护
这个游戏有一个bug,
上图!
你能找到我吗?
开局后直接把‘我’走出地图就这样了
似乎是怪物刷新的范围问题(25行,60列),数组定义的倒是挺大,
还有,这个“防乱搞的 nd = nd % 4 + 1;”欠妥。若难度为1,nd=2;若难度为4,nd=1;
给游戏加个分数也不错,“我”还不够显眼,看花了;
总体上还是不错哒。填坑是要有觉悟滴,不要放弃
钱成在2021-08-08 18:48:58追加了内容
名字的话简洁一些也可(就1吧),名字尽可能的跟游戏贴合为佳
0
0