c++数字炸弹
一.前言
这个小游戏代码是我学了半年编程打出开的第一个小游戏代码,游戏内无void以及goto.
适合给新手当一个模板。
二.代码
#include<iostream>
#include<ctime>
#include<windows.h>
using namespace std;
int main()
{
int a=0,c,d=100,x=1,jb=100,n;
long long tsy=1,czzd=1,fh=1;
int b;
cout<<" 请输入密码(密码是 6)"<<endl;
cin>>a;
if(a==6)
{
cout<<" 游戏名:数字炸弹"<<endl;
cout<<" 游戏规则:随机生成两个炸弹,一个炸玩家,可以被透视眼侦察到,中了这个炸弹你就输了,一个炸电脑,不可被透视眼侦察到,但中了这 个炸弹你就赢了,具体操作会有显示"<<endl;
cout<<" 输了也可以获得10金币"<<endl;
cout<<" 每赢一局就获得50金币,金币可以买道具哦"<<endl;
cout<<" 温馨提示:此游戏没有存档记录,关闭之后存档就会重置!"<<endl<<endl<<endl;
for(;;)
{
srand(time(0));
c=rand()%100;
cout<<" ----------------------*你需要做什么*-----------------------"<<endl;
cout<<" |输入1进入游戏,输入2查看账号,输入3进入商店,输入4退出游戏|"<<endl;
cout<<" -----------------------------------------------------------"<<endl;
cin>>n;
if(n==1)
{
cout<<"数字炸弹开始!!!"<<endl;b=1;
for(;;)
{
cout<<x<<'~'<<d<<endl;
cout<<"输入1输入数字,输入2使用道具"<<endl;
cin>>n;
if(n==1)
{
cout<<"请输入"<<x<<'~'<<d<<"的数 "<<endl;
cin>>b;
}
if(n==2)
{
cout<<"您有透视眼"<<tsy<<endl;
cout<<"您有重置炸弹"<<czzd<<endl;
cout<<"您有时空机"<<fh<<endl;
cout<<"输入1使用透视眼,输入2使用重置炸弹,输入0使用时空机,输入3退出"<<endl;
cin>>n;
if(n==1)
{
if(tsy>0)
{
cout<<"请输入要透视的数"<<endl;
cin>>n;
if(n==c)
{
cout<<n<<"是炸弹"<<endl;tsy--;
}
else
cout<<n<<"不是炸弹"<<endl;tsy--;
}
else
{
cout<<"您没有透视眼"<<endl;
}
}
if(n==2)
{
if(czzd>0)
{
srand(time(0));
c=rand()%100;
cout<<"炸弹已重置"<<endl;
czzd--;
x=1;d=100;
}
else
{
cout<<"您没有重置炸弹"<<endl;
}
}
if(n==0)
{
if(fh>0)
{
srand(time(0));
c=rand()%100;
cout<<"时空穿梭!"<<endl;
fh--;
srand(time(0));
x=c-rand()%10;d=c+rand()%10;
x--;d++;
}
else
cout<<"您没有时空机"<<endl;
}
}
if(n==1)
if(b==c)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED);
cout<<"你炸了!!!"<<endl;
jb+=10;
break;
}
if(b<=x||b>=d)
{
cout<<"请输入任意数字继续。"<<endl;
cin>>b;
}
if(b<d&&b>c)
{
d=b;
cout<<"请继续输入"<<endl;
}
if(b>x&&b<c)
{
x=b;
cout<<"请继续输入"<<endl;
}
if(x+1==c&&d-1==c)
{
cout<<"电脑炸了,你赢了!!! "<<endl;
jb+=50;
break;
}
}
}
if(n==2)
{
cout<<"您现在有"<<jb<<"金币"<<endl;
cout<<"您现在有"<<tsy<<"透视眼"<<endl;
cout<<"您现在有"<<czzd<<"重置炸弹"<<endl;
cout<<"您现在有"<<fh<<"时光机"<<endl;
}
if(n==3)
{
cout<<" 商店"<<endl;
cout<<" 您现在有"<<jb<<"金币 "<<endl;
cout<<" 输入1购买透视眼(100金币),输入2购买重置炸弹(150金币),输入0购买时空机(200金币),输入3退出"<<endl;
cout<<" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~清仓大甩卖~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cin>>n;
if(n==1)
{
if(jb>=100)
{
tsy++;jb-=100;
cout<<"您购买了1透视眼,您现在有"<<tsy<<"个透视眼";
}
else
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED);
cout<<"您没有足够的金币"<<endl;
}
if(n==2)
{
if(jb>=150)
{
czzd++;jb-=150;
cout<<"您购买了1重置炸弹,您现在有"<<czzd<<"个重置炸弹";
}
else
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED);
cout<<"您没有足够的金币"<<endl;
}
if(n==0)
{
if(jb>=200)
{
fh++;jb-=200;
cout<<"您购买了1时光机,您现在有"<<fh<<"个时光机";
}
else
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED);
cout<<"您没有足够的金币"<<endl;
}
}
if(n==4)
{
break;
}
cout<<"请问继续吗?(输入1继续,输入0退出)"<<endl;
cin>>b;
if(b==0)
{
break;
}
d=100;
x=1;
}
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
FOREGROUND_RED);
cout<<"密码错误";
}
return 0;
}