c++自制小游戏(不完美)
作者:互联网
我做的一个挖矿小游戏,后面会改进一些读入与输出,有建议的话记得评论区留言。
上代码:
#include <bits/stdc++.h>
using namespace std;
struct block{
int type,hard;
};
int xx=7,yy=0,hunger=100,money=0,strong=1;
int price[100]={1,5,8,8,10,12,30,60,100,170,130,170,300,180,220,400,20};
int bprice[100]={20};
int upgradeprice=20;
block g[101][301]={{0}};
int backpack[100]={0};
void out(int i,int j){
block x=g[i][j];
if(i==yy&&j==xx)
{
cout<<" 你 ";
return ;
}
switch (x.type)
{
case -1:cout<<" ";break;
case 0:cout<<"石头 ";break;
case 1:cout<<"煤炭 ";break;
case 2:cout<<"铁矿 ";break;
case 3:cout<<"铝矿 ";break;
case 4:cout<<"铜矿 ";break;
case 5:cout<<"锡矿 ";break;
case 6:cout<<"银矿 ";break;
case 7:cout<<"金矿 ";break;
case 8:cout<<"祖绿 ";break;
case 9:cout<<"水晶 ";break;
case 10:cout<<"石油 ";break;
case 11:cout<<"钻石 ";break;
case 12:cout<<"合金 ";break;
case 13:cout<<"电石 ";break;
case 14:cout<<"气石 ";break;
case 15:cout<<"明铁 ";break;
}
}
void print(){
cout<<"控制键:wasd上左下右,m卖东西(ad切换卖的东西,y确认,s全卖),e刷新地图"<<endl;
cout<<"b买东西(ad切换买的东西,y确认,最后输入买的个数),c吃面包,u升级"<<endl;
cout<<"钱:"<<money<<" "<<"饥饿:"<<hunger<<" 强度:"<<strong<<" 升级花费:"<<upgradeprice<<endl;
cout<<"石"<<backpack[0]<<" ";
cout<<"煤"<<backpack[1]<<" ";
cout<<"铁"<<backpack[2]<<" ";
cout<<"铝"<<backpack[3]<<" ";
cout<<"铜"<<backpack[4]<<" ";
cout<<"锡"<<backpack[5]<<" ";
cout<<"银"<<backpack[6]<<" ";
cout<<"金"<<backpack[7]<<" ";
cout<<"绿"<<backpack[8]<<" ";
cout<<"晶"<<backpack[9]<<" ";
cout<<"油"<<backpack[10]<<" ";
cout<<"钻"<<backpack[11]<<" ";
cout<<"合"<<backpack[12]<<" ";
cout<<"电"<<backpack[13]<<" ";
cout<<"气"<<backpack[14]<<" ";
cout<<"明"<<backpack[15]<<" ";
cout<<"面包"<<backpack[16]<<endl;
for(int i=1;i<=max(9-yy,0);i++)
{
cout<<endl;
}
cout<<" ";
for(int i=max(xx-10,1);i<=min(xx+10,100);i++)
{
if(yy==0&&xx==i)
{
cout<<" 你 ";
}
else
{
cout<<" ";
}
}
cout<<endl;
for(int i=max(yy-4,1);i<=yy+6;i++)
{
if(i<10)
{
cout<<" "<<i<<":";
}
else if(i<100)
{
cout<<" "<<i<<":";
}
else if(i<1000)
{
cout<<i<<":";
}
for(int j=max(xx-10,1);j<=min(xx+10,100);j++)
{
out(i,j);
}
cout<<endl;
if(i<10)
{
cout<<" "<<i<<":";
}
else if(i<100)
{
cout<<" "<<i<<":";
}
else if(i<1000)
{
cout<<i<<":";
}
for(int j=max(xx-10,1);j<=min(xx+10,100);j++)
{
out(i,j);
}
cout<<endl;
}
}
void sellprint(int x){
if(x==0){
cout<<"选择石头 ";
}
else cout<<"石"<<backpack[0]<<" ";
if(x==1){
cout<<"选择煤炭 ";
}
else cout<<"煤"<<backpack[1]<<" ";
if(x==2){
cout<<"选择铁矿 ";
}
else cout<<"铁"<<backpack[2]<<" ";
if(x==3){
cout<<"选择铝矿 ";
}
else cout<<"铝"<<backpack[3]<<" ";
if(x==4){
cout<<"选择铜矿 ";
}
else cout<<"铜"<<backpack[4]<<" ";
if(x==5){
cout<<"选择锡矿 ";
}
else cout<<"锡"<<backpack[5]<<" ";
if(x==6){
cout<<"选择银矿 ";
}
else cout<<"银"<<backpack[6]<<" ";
if(x==7){
cout<<"选择金矿 ";
}
else cout<<"金"<<backpack[7]<<" ";
if(x==8){
cout<<"选择祖绿 ";
}
else cout<<"绿"<<backpack[8]<<" ";
if(x==9){
cout<<"选择水晶 ";
}
else cout<<"晶"<<backpack[9]<<" ";
if(x==10){
cout<<"选择石油 ";
}
else cout<<"油"<<backpack[10]<<" ";
if(x==11){
cout<<"选择钻石 ";
}
else cout<<"钻"<<backpack[11]<<" ";
if(x==12){
cout<<"选择合金 ";
}
else cout<<"合"<<backpack[12]<<" ";
if(x==13){
cout<<"选择电石 ";
}
else cout<<"电"<<backpack[13]<<" ";
if(x==14){
cout<<"选择气石 ";
}
else cout<<"气"<<backpack[14]<<" ";
if(x==15){
cout<<"选择明铁 ";
}
else cout<<"明"<<backpack[15]<<endl;
}
void sell(){
char c;
int ch=1;
sellprint(ch);
cin>>c;
while(c!='y')
{
switch(c)
{
case 'a':if(ch!=0){ch--;}break;
case 'd':if(ch!=15){ch++;}break;
case 's':for(int i=0;i<=15;i++){money+=backpack[i]*price[i],backpack[i]=0;}cout<<"兑换成功"<<endl;return ;
}
sellprint(ch);
cin>>c;
}
cout<<"兑换成功"<<endl;
money+=backpack[ch]*price[ch];
backpack[ch]=0;
}
void buyprint(int x){
if(x==0)
{
cout<<"选择面包 ";
}
else
{
cout<<"面包"<<bprice[0];
}
cout<<endl;
}
void buy(){
char c;
int ch=0;
buyprint(ch);
cin>>c;
while(c!='y')
{
switch(c)
{
case 'a':if(ch!=0){ch--;}break;
case 'd':if(ch!=0){ch++;}break;
}
buyprint(ch);
cin>>c;
}
int num;
cin>>num;
if(money>=num*bprice[ch])
{
money-=num*bprice[ch];
backpack[ch+16]+=num;
cout<<"购买成功"<<endl;
return ;
}
else
{
cout<<"余额不足"<<endl;
return ;
}
}
void make(){
for(int i=0;i<=13;i++){
for(int j=1;j<=10;j++){
for(int k=1;k<=100;k++){
if(i==0){
int x=rand()%1000;
if(x<100)
{
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<130)
{
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<140)
{
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<145)
{
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<147)
{
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<148)
{
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<149)
{
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<150)
{
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==1){
int x=rand()%1000;
if(x<100)
{
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<150)
{
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<180)
{
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<195)
{
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<205)
{
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<210)
{
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<211)
{
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<212)
{
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<213)
{
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==2){
int x=rand()%1000;
if(x<100)
{
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<150)
{
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<200)
{
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<230)
{
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<250)
{
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<260)
{
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<265)
{
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<266)
{
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<267)
{
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else if(x<268)
{
g[i*10+j][k].type=10;
g[i*10+j][k].hard=22;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==3){
int x=rand()%1000;
if(x<100)
{
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<150)
{
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<190)
{
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<230)
{
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<260)
{
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<280)
{
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<300)
{
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<310)
{
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<315)
{
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else if(x<316)
{
g[i*10+j][k].type=10;
g[i*10+j][k].hard=22;
}
else if(x<317)
{
g[i*10+j][k].type=11;
g[i*10+j][k].hard=24;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==4){
int x=rand()%1000;
if(x<80){
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<130){
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<170){
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<210){
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<250){
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<270){
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<290){
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<310){
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<320){
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else if(x<325){
g[i*10+j][k].type=10;
g[i*10+j][k].hard=22;
}
else if(x<330){
g[i*10+j][k].type=11;
g[i*10+j][k].hard=24;
}
else if(x<331){
g[i*10+j][k].type=12;
g[i*10+j][k].hard=26;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==5){
int x=rand()%1000;
if(x<50){
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<80){
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<110){
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<140){
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<170){
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<200){
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<230){
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<260){
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<280){
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else if(x<295){
g[i*10+j][k].type=10;
g[i*10+j][k].hard=22;
}
else if(x<310){
g[i*10+j][k].type=11;
g[i*10+j][k].hard=24;
}
else if(x<315){
g[i*10+j][k].type=12;
g[i*10+j][k].hard=26;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
}
}
}
}
int main()
{
srand(time(NULL));
make();
print();
for(int i=1;i<=100;i++)
{
g[0][i].type=-1;
g[0][i].hard=0;
}
while(1)
{
char c;
cin>>c;
switch(c)
{
case 'w':if(yy!=0){
if(g[yy-1][xx].hard<=strong){
yy--;
backpack[g[yy][xx].type]++;
g[yy][xx].type=-1;
g[yy][xx].hard=0;
hunger--;
}
else
{
g[yy-1][xx].hard-=strong;
hunger--;
}
if(yy==0){
hunger=100;
}
}
break;
case 's':
if(g[yy+1][xx].hard<=strong){
yy++;
backpack[g[yy][xx].type]++;
g[yy][xx].type=-1;
g[yy][xx].hard=0;
hunger--;
}
else
{
g[yy+1][xx].hard-=strong;
hunger--;
}
if(yy==0){
hunger=100;
}
break;
case 'a':if(xx!=0){
if(g[yy][xx-1].hard<=strong){
xx--;
backpack[g[yy][xx].type]++;
g[yy][xx].type=-1;
g[yy][xx].hard=0;
hunger--;
}
else
{
g[yy][xx-1].hard-=strong;
hunger--;
}
if(yy==0){
hunger=100;
}
}
break;
case 'd':
if(g[yy][xx+1].hard<=strong){
xx++;
backpack[g[yy][xx].type]++;
g[yy][xx].type=-1;
g[yy][xx].hard=0;
hunger--;
}
else
{
g[yy][xx+1].hard-=strong;
hunger--;
}
if(yy==0){
hunger=100;
}
break;
case 'm':sell();break;
case 'e':make(),g[yy][xx].type=-1,g[yy][xx].hard=0,hunger-=20;break;
case 'b':buy();break;
case 'c':if(backpack[16]!=0){hunger+=25;backpack[16]--;}break;
case 'u':if(money>=upgradeprice){money-=upgradeprice;strong++;upgradeprice*=2;}break;
}
if(hunger<=0)
{
cout<<"你死了";
return 0;
}
print();
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
struct block{
int type,hard;
};
int xx=7,yy=0,hunger=100,money=0,strong=1;
int price[100]={1,5,8,8,10,12,30,60,100,170,130,170,300,180,220,400,20};
int bprice[100]={20};
int upgradeprice=20;
block g[101][301]={{0}};
int backpack[100]={0};
void out(int i,int j){
block x=g[i][j];
if(i==yy&&j==xx)
{
cout<<" 你 ";
return ;
}
switch (x.type)
{
case -1:cout<<" ";break;
case 0:cout<<"石头 ";break;
case 1:cout<<"煤炭 ";break;
case 2:cout<<"铁矿 ";break;
case 3:cout<<"铝矿 ";break;
case 4:cout<<"铜矿 ";break;
case 5:cout<<"锡矿 ";break;
case 6:cout<<"银矿 ";break;
case 7:cout<<"金矿 ";break;
case 8:cout<<"祖绿 ";break;
case 9:cout<<"水晶 ";break;
case 10:cout<<"石油 ";break;
case 11:cout<<"钻石 ";break;
case 12:cout<<"合金 ";break;
case 13:cout<<"电石 ";break;
case 14:cout<<"气石 ";break;
case 15:cout<<"明铁 ";break;
}
}
void print(){
cout<<"控制键:wasd上左下右,m卖东西(ad切换卖的东西,y确认,s全卖),e刷新地图"<<endl;
cout<<"b买东西(ad切换买的东西,y确认,最后输入买的个数),c吃面包,u升级"<<endl;
cout<<"钱:"<<money<<" "<<"饥饿:"<<hunger<<" 强度:"<<strong<<" 升级花费:"<<upgradeprice<<endl;
cout<<"石"<<backpack[0]<<" ";
cout<<"煤"<<backpack[1]<<" ";
cout<<"铁"<<backpack[2]<<" ";
cout<<"铝"<<backpack[3]<<" ";
cout<<"铜"<<backpack[4]<<" ";
cout<<"锡"<<backpack[5]<<" ";
cout<<"银"<<backpack[6]<<" ";
cout<<"金"<<backpack[7]<<" ";
cout<<"绿"<<backpack[8]<<" ";
cout<<"晶"<<backpack[9]<<" ";
cout<<"油"<<backpack[10]<<" ";
cout<<"钻"<<backpack[11]<<" ";
cout<<"合"<<backpack[12]<<" ";
cout<<"电"<<backpack[13]<<" ";
cout<<"气"<<backpack[14]<<" ";
cout<<"明"<<backpack[15]<<" ";
cout<<"面包"<<backpack[16]<<endl;
for(int i=1;i<=max(9-yy,0);i++)
{
cout<<endl;
}
cout<<" ";
for(int i=max(xx-10,1);i<=min(xx+10,100);i++)
{
if(yy==0&&xx==i)
{
cout<<" 你 ";
}
else
{
cout<<" ";
}
}
cout<<endl;
for(int i=max(yy-4,1);i<=yy+6;i++)
{
if(i<10)
{
cout<<" "<<i<<":";
}
else if(i<100)
{
cout<<" "<<i<<":";
}
else if(i<1000)
{
cout<<i<<":";
}
for(int j=max(xx-10,1);j<=min(xx+10,100);j++)
{
out(i,j);
}
cout<<endl;
if(i<10)
{
cout<<" "<<i<<":";
}
else if(i<100)
{
cout<<" "<<i<<":";
}
else if(i<1000)
{
cout<<i<<":";
}
for(int j=max(xx-10,1);j<=min(xx+10,100);j++)
{
out(i,j);
}
cout<<endl;
}
}
void sellprint(int x){
if(x==0){
cout<<"选择石头 ";
}
else cout<<"石"<<backpack[0]<<" ";
if(x==1){
cout<<"选择煤炭 ";
}
else cout<<"煤"<<backpack[1]<<" ";
if(x==2){
cout<<"选择铁矿 ";
}
else cout<<"铁"<<backpack[2]<<" ";
if(x==3){
cout<<"选择铝矿 ";
}
else cout<<"铝"<<backpack[3]<<" ";
if(x==4){
cout<<"选择铜矿 ";
}
else cout<<"铜"<<backpack[4]<<" ";
if(x==5){
cout<<"选择锡矿 ";
}
else cout<<"锡"<<backpack[5]<<" ";
if(x==6){
cout<<"选择银矿 ";
}
else cout<<"银"<<backpack[6]<<" ";
if(x==7){
cout<<"选择金矿 ";
}
else cout<<"金"<<backpack[7]<<" ";
if(x==8){
cout<<"选择祖绿 ";
}
else cout<<"绿"<<backpack[8]<<" ";
if(x==9){
cout<<"选择水晶 ";
}
else cout<<"晶"<<backpack[9]<<" ";
if(x==10){
cout<<"选择石油 ";
}
else cout<<"油"<<backpack[10]<<" ";
if(x==11){
cout<<"选择钻石 ";
}
else cout<<"钻"<<backpack[11]<<" ";
if(x==12){
cout<<"选择合金 ";
}
else cout<<"合"<<backpack[12]<<" ";
if(x==13){
cout<<"选择电石 ";
}
else cout<<"电"<<backpack[13]<<" ";
if(x==14){
cout<<"选择气石 ";
}
else cout<<"气"<<backpack[14]<<" ";
if(x==15){
cout<<"选择明铁 ";
}
else cout<<"明"<<backpack[15]<<endl;
}
void sell(){
char c;
int ch=1;
sellprint(ch);
cin>>c;
while(c!='y')
{
switch(c)
{
case 'a':if(ch!=0){ch--;}break;
case 'd':if(ch!=15){ch++;}break;
case 's':for(int i=0;i<=15;i++){money+=backpack[i]*price[i],backpack[i]=0;}cout<<"兑换成功"<<endl;return ;
}
sellprint(ch);
cin>>c;
}
cout<<"兑换成功"<<endl;
money+=backpack[ch]*price[ch];
backpack[ch]=0;
}
void buyprint(int x){
if(x==0)
{
cout<<"选择面包 ";
}
else
{
cout<<"面包"<<bprice[0];
}
cout<<endl;
}
void buy(){
char c;
int ch=0;
buyprint(ch);
cin>>c;
while(c!='y')
{
switch(c)
{
case 'a':if(ch!=0){ch--;}break;
case 'd':if(ch!=0){ch++;}break;
}
buyprint(ch);
cin>>c;
}
int num;
cin>>num;
if(money>=num*bprice[ch])
{
money-=num*bprice[ch];
backpack[ch+16]+=num;
cout<<"购买成功"<<endl;
return ;
}
else
{
cout<<"余额不足"<<endl;
return ;
}
}
void make(){
for(int i=0;i<=13;i++){
for(int j=1;j<=10;j++){
for(int k=1;k<=100;k++){
if(i==0){
int x=rand()%1000;
if(x<100)
{
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<130)
{
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<140)
{
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<145)
{
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<147)
{
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<148)
{
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<149)
{
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<150)
{
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==1){
int x=rand()%1000;
if(x<100)
{
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<150)
{
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<180)
{
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<195)
{
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<205)
{
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<210)
{
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<211)
{
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<212)
{
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<213)
{
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==2){
int x=rand()%1000;
if(x<100)
{
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<150)
{
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<200)
{
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<230)
{
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<250)
{
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<260)
{
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<265)
{
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<266)
{
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<267)
{
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else if(x<268)
{
g[i*10+j][k].type=10;
g[i*10+j][k].hard=22;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==3){
int x=rand()%1000;
if(x<100)
{
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<150)
{
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<190)
{
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<230)
{
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<260)
{
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<280)
{
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<300)
{
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<310)
{
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<315)
{
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else if(x<316)
{
g[i*10+j][k].type=10;
g[i*10+j][k].hard=22;
}
else if(x<317)
{
g[i*10+j][k].type=11;
g[i*10+j][k].hard=24;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==4){
int x=rand()%1000;
if(x<80){
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<130){
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<170){
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<210){
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<250){
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<270){
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<290){
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<310){
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<320){
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else if(x<325){
g[i*10+j][k].type=10;
g[i*10+j][k].hard=22;
}
else if(x<330){
g[i*10+j][k].type=11;
g[i*10+j][k].hard=24;
}
else if(x<331){
g[i*10+j][k].type=12;
g[i*10+j][k].hard=26;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
if(i==5){
int x=rand()%1000;
if(x<50){
g[i*10+j][k].type=1;
g[i*10+j][k].hard=4;
}
else if(x<80){
g[i*10+j][k].type=2;
g[i*10+j][k].hard=6;
}
else if(x<110){
g[i*10+j][k].type=3;
g[i*10+j][k].hard=8;
}
else if(x<140){
g[i*10+j][k].type=4;
g[i*10+j][k].hard=10;
}
else if(x<170){
g[i*10+j][k].type=5;
g[i*10+j][k].hard=12;
}
else if(x<200){
g[i*10+j][k].type=6;
g[i*10+j][k].hard=14;
}
else if(x<230){
g[i*10+j][k].type=7;
g[i*10+j][k].hard=16;
}
else if(x<260){
g[i*10+j][k].type=8;
g[i*10+j][k].hard=18;
}
else if(x<280){
g[i*10+j][k].type=9;
g[i*10+j][k].hard=20;
}
else if(x<295){
g[i*10+j][k].type=10;
g[i*10+j][k].hard=22;
}
else if(x<310){
g[i*10+j][k].type=11;
g[i*10+j][k].hard=24;
}
else if(x<315){
g[i*10+j][k].type=12;
g[i*10+j][k].hard=26;
}
else
{
g[i*10+j][k].type=0;
g[i*10+j][k].hard=4;
}
}
}
}
}
}
int main()
{
srand(time(NULL));
make();
print();
for(int i=1;i<=100;i++)
{
g[0][i].type=-1;
g[0][i].hard=0;
}
while(1)
{
char c;
cin>>c;
switch(c)
{
case 'w':if(yy!=0){
if(g[yy-1][xx].hard<=strong){
yy--;
backpack[g[yy][xx].type]++;
g[yy][xx].type=-1;
g[yy][xx].hard=0;
hunger--;
}
else
{
g[yy-1][xx].hard-=strong;
hunger--;
}
if(yy==0){
hunger=100;
}
}
break;
case 's':
if(g[yy+1][xx].hard<=strong){
yy++;
backpack[g[yy][xx].type]++;
g[yy][xx].type=-1;
g[yy][xx].hard=0;
hunger--;
}
else
{
g[yy+1][xx].hard-=strong;
hunger--;
}
if(yy==0){
hunger=100;
}
break;
case 'a':if(xx!=0){
if(g[yy][xx-1].hard<=strong){
xx--;
backpack[g[yy][xx].type]++;
g[yy][xx].type=-1;
g[yy][xx].hard=0;
hunger--;
}
else
{
g[yy][xx-1].hard-=strong;
hunger--;
}
if(yy==0){
hunger=100;
}
}
break;
case 'd':
if(g[yy][xx+1].hard<=strong){
xx++;
backpack[g[yy][xx].type]++;
g[yy][xx].type=-1;
g[yy][xx].hard=0;
hunger--;
}
else
{
g[yy][xx+1].hard-=strong;
hunger--;
}
if(yy==0){
hunger=100;
}
break;
case 'm':sell();break;
case 'e':make(),g[yy][xx].type=-1,g[yy][xx].hard=0,hunger-=20;break;
case 'b':buy();break;
case 'c':if(backpack[16]!=0){hunger+=25;backpack[16]--;}break;
case 'u':if(money>=upgradeprice){money-=upgradeprice;
strong++;upgradeprice*=2;}break;
}
if(hunger<=0)
{
cout<<"你死了";
return 0;
}
print();
}
return 0;
}
标签:10,cout,int,自制,hard,c++,else,小游戏,type 来源: https://blog.csdn.net/weixin_60733069/article/details/123630506