0
已解决
张岳恒
资深光能
资深光能
额,几个月前蒟蒻写了一小段流浪地球(游戏的代码),因为实在太弱了编了一半不编了,各位大佬谁有思路续写一下子
#include<iostream>
#include<cstdio>
#include<windows.h>
#include<time.h>
using namespace std;
int smz=12,d=1,wq,sw,sw_smz,fc,fc_smz=100,fdj,s;
void sz();
void lhzf();
void sc();
void began();
void jj();
void sd(){
}
void gz(){
}
void lxr(){
int n;
for(int i=1;i<=5;i++){
srand((unsigned)time(NULL));
n=rand()%2;
if(n%2==0)
cout<<"AOI";
else
cout<<"UOI";
}
}
int main(){
cout<<"欢迎来到流浪地球游戏"<<endl;
cout<<"你要做什么?\n";
cout<<"1.开始 2.设置 3.退出 4.玩法简介\n";
int pd;
cin>>pd;
if(pd==1){
began();
pd=0;
}
if(pd==2){
sz();
pd=0;
}
if(pd==3){
exit(0);
}
return 0;
}
void began(){
int l;
while(smz!=0){
system("cls");
cout<<"流浪第"<<d<<"天\n";
Sleep(2000);
if(d>1){
cout<<"离目的地还差"<<2000-s<<"光年\n";
Sleep(1000);
cout<<"继续生存\n";
}
if(d==1){
cout<<"你需要物资\n";
cout<<"是否请求联合政府帮助?\n";
cout<<"1.是 2.否\n";
cin>>l;
if(l==1){
lhzf();
}
else{
sc();
}
}
else if(d==2&&l==1){
cout<<"你有物资了,剩下就靠你了!\n";
Sleep(2000);
if(smz==0){
cout<<"你失败了";
Sleep(2000);
exit(0);
}
sc();
}
if(smz!=0){
d++;
}
else{
cout<<"计划失败\n";
Sleep(2000);
exit(0);
}
}
}
void sz(){
cout<<"字体颜色:红,绿\n";
string ak;
cin>>ak;
if(ak=="红"){
system("color 0c");
cout<<"更换成功!\n";
}
else if(ak=="绿"){
system("color 0a");
cout<<"更换成功!\n";
}
else{
cout<<"正在开发中\n";
}
cout<<"你要做什么?\n";
cout<<"1.开始 2.退出 3.玩法简介\n";
int kz;
cin>>kz;
if(kz==1){
began();
}
if(kz==2){
cout<<"再见";
exit(0);
}
if(kz==3){
jj();
}
}
void lhzf(){
int a,b,c,e;
srand(time(0));
a=rand()%200+1;
srand(time(0));
b=rand()%6+1;
srand(time(0));
c=rand()%1000+1;
srand(time(0));
e=rand()%20+1;
cout<<"给你,剩余的"<<a<<"把枪,"<<b<<"个宇宙飞船\n";
Sleep(3000);
cout<<c<<"个罐头,"<<e<<"个行星发动机\n";
Sleep(3000);
wq=a;
fc=b;
sw=c;
fdj=d;
}
void sc(){
if(d==1){
cout<<"你没有物资,开始生存\n";
cout<<"生存方式:\n";
cout<<"1.扫荡 ";
cout<<"2.工作 ";
cout<<"3.联系人\n";
int a_a;
cin>>a_a;
if(a_a=1) sd();
if(a_a=2) gz();
if(a_a=3) lxr();
}
}
void jj(){
cout<<"太阳即将毁灭,现在你需要带领人类走出太阳系\n";
Sleep(2000);
cout<<"准备好!!!!\n";
Sleep(3000);
cout<<"每次游戏行走数量不定\n";
Sleep(1000);
cout<<"维护生命值,走到目的地!\n";
Sleep(1000);
cout<<"你可以通过吃罐头回血(5个罐头一滴血)\n";
Sleep(1000);
cout<<"行星发动机与飞船走动\n";
Sleep(1000);
cout<<"五个行星发动机才能推动地球!\n";
Sleep(1000);
cout<<"每次路程不定\n";
Sleep(1000);
cout<<"先写这么多,你是否开始游戏?(1.是 2.否 3.设置)";
int cz;
cin>>cz;
if(cz==1){
began();
}
if(cz==2){
exit(0);
}
if(cz==3){
sz();
}
}
怎样,很弱对吧
给各位大佬递笔了
………………………………………………
张岳恒在2020-07-04 10:18:49追加了内容
因为没写完,所以有死循环,各位大佬勿喷啊啊啊啊啊啊啊啊啊啊啊
张岳恒在2020-07-04 10:19:56追加了内容
啊啊啊啊啊啊啊啊啊啊啊啊,我太弱了
张岳恒在2020-07-04 19:10:28追加了内容
bug过多,还请各位大佬海涵
张岳恒在2020-07-06 11:29:36追加了内容
进度条:|————— | (%30完整度)
0
2
0
0
0
0
刘乐宸
新手天翼
新手天翼
借鉴一下我的游戏代码(之前发过问题),试试循环试验:
1.写出所有功能。
2.用while或插入if达到循环效果。
3.记录数据并变化。
然后,就好啦
0
0
0
0
0
0
0
0
0
0
刘景程
新手光能
新手光能
我送你一个快速清屏的代码吧,比system(cls)快
int clrscr()
{
HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hndl,&csbi);
DWORD written;
DWORD N=csbi.dwSize.X*csbi.dwCursorPosition.Y+csbi.dwCursorPosition.X+1;
COORD curhome={0,0};
FillConsoleOutputCharacter(hndl,' ',N,curhome,&written);
csbi.srWindow.Bottom-=csbi.srWindow.Top;
csbi.srWindow.Top=0;
SetConsoleWindowInfo(hndl,TRUE,&csbi.srWindow);
SetConsoleCursorPosition(hndl,curhome);
return 0;
}
转载标明出处哈,保留原作者姓名
刘景程在2020-07-05 11:12:17追加了内容
#include<windows.h>
直接调用即可
0
0
0
0
0
0
0
0
0
0
0
0
0