可以运行---------------------------------------------------------------------------------------------------------------------
半成品,如发现思路可以评论,评论后本人将在48小时内回复并关注,谢谢!
半成品,如发现思路可以评论,评论后本人将在48小时内回复并关注,谢谢!
半成品,如发现思路可以评论,评论后本人将在48小时内回复并关注,谢谢!
半成品,如发现思路可以评论,评论后本人将在48小时内回复并关注,谢谢!
半成品,如发现思路可以评论,评论后本人将在48小时内回复并关注,谢谢!
#include
#include
#include
#include
#include
#include
using namespace std;
string g_name;
int Lv=1;
int a_=0,c_=0;
int day=1;
double money=100000;
int fac_=1;
int kache=0;
struct factory//fac
{
int sLv;//属性等级
int cl; //产量
int yy; //营业
int rs; //人数
int mg; //面积
};
struct part
{
int a[35];
string name;
int money,out_doing_money;
};
struct buy_
{
int want;
int a[35];
};
buy_ a[5000000];
part b[100];
factory c[1000];
int thing[35];
void rule()
{
system("color 0B");
cout<<"游戏规则:(请仔细阅读,否则会严重影响游戏进度)"<<'\n';
cout<<"一、工人规则"<<'\n';
cout<<" 1.工人工作效率为 1单位/天,以下是具体情况:"<<'\n';
cout<<"__ 主工厂 工人人数不限 一人工资为500$/天"<<'\n';
cout<<"| __ 零件工厂"<<'\n';
cout<<"| | 小型零件工厂 工人人数=工厂大小*2 一人工资为2000~2600$/天"<<'\n';
cout<<"| | 中型零件工厂 工人人数=工厂大小*1 一人工资为3000~3600$/天"<<'\n';
cout<<"| | 大型零件工厂 工人人数=工厂大小*0.5 一人工资为5000~6000$/天"<<'\n';
cout<<"| --"<<'\n';
cout<<"| __组合工厂"<<'\n';
cout<<"| | 钢板焊接工厂 工人人数=工厂大小*0.1 一人工资为1000~1200$/天"<<'\n';
cout<<"| | 铁箱焊接工厂 工人人数=工厂大小*0.5 一人工资为4000~5200$/天"<<'\n';
cout<<"| | 总体组合工厂 工人人数=工厂大小*0.2 一人工资为6000~7500$/天"<<'\n';
cout<<"| --"<<'\n';
cout<<"--"<<'\n';
cout<<'\n';
cout<<"二、各类工厂"<<'\n';
cout<<" 1.主工厂 无需付费 所有工人工作效率+1 需要 0$ 生产线数量+1 需要 0$"<<'\n';
cout<<" 2.小型零件工厂 200$/㎡ 所有工人工作效率+1 需要 10$ 生产线数量+1 需要 10$"<<'\n';
cout<<" 3.中型零件工厂 210$/㎡ 所有工人工作效率+1 需要 15$ 生产线数量+1 需要 15$"<<'\n';
cout<<" 4.大型零件工厂 220$/㎡ 所有工人工作效率+1 需要 20$ 生产线数量+1 需要 20$"<<'\n';
cout<<" 5.钢板焊接工厂 350$/㎡ 所有工人工作效率+1 需要 40$ 生产线数量+1 需要 85$"<<'\n';
cout<<" 6.铁箱焊接工厂 400$/㎡ 所有工人工作效率+1 需要 55$ 生产线数量+1 需要100$"<<'\n';
cout<<" 7.材料组合工厂 700$/㎡ 所有工人工作效率+1 需要 95$ 生产线数量+1 需要500$"<<'\n';
cout<<'\n';
cout<<"三、其他"<<'\n';
cout<<"1.可以进行裁员,每裁员1人需额外付费10$"<<'\n';
cout<<"2.在招募员工时,每招募1人需额外付费50$"<<'\n';
cout<<"3.可以进行贷款,最高额度为资金的80%,每日归还量为 (贷款量的3.5% + 贷款量*(100%/还清时间))*信用等级*100%"<<'\n';
cout<<"4.可以进行外包,小型零件100$ 中型零件150$ 大型零件300$ 其他按零件价格累加"<<'\n';
cout<<"5.在完成订单时,需要使用卡车,卡车需要购买,5000$/辆,载重10吨"<<'\n';
cout<<"6.每个订单会有一个期待值,该期待值每天会随着您的延迟而下降0.5,所以要尽快完成订单,这会影响交付价格,";
cout<<"在期待值为0时,信用等级会下降"<<'\n';
system("pause");
}
void welcome_to()
{
cout<<"给你的工厂起个名字吧:";
cin>>g_name;
cout<<"欢迎到达"<
system("pause");
sleep(1);
system("cls");
rule();
}
void pic()
{
sleep(1);
system("pause");
system("color 0E");
for(int i=1; i<=50; i++)
{
system("cls");
cout<<"正在初始化---[";
for(int j=1; j<=i; j++) cout<<">";
for(int j=1; j<=50-i; j++) cout<<" ";
cout<<"]";
Sleep(10);
}
}
void initialization()//初始化
{
pic();
for(int i=1; i<=a_; i++)
{
a[i].want=0;
for(int j=1; j<=35; j++) a[i].a[j]=0;
}
c[1].cl=0;
c[1].sLv=1;
c[1].yy=1;
c[1].rs=0;
c[1].mg=10;
for(int i=2; i<=a_; i++)
{
c[i].cl=0;
c[i].sLv=0;
c[i].yy=0;
}
day=1;
b[0].name="铁丝",b[0].money=2,b[0].out_doing_money=100;
b[1].name="螺丝",b[1].money=5,b[1].out_doing_money=100;
b[2].name="螺母",b[2].money=5,b[2].out_doing_money=100;
b[3].name="螺组",b[3].money=10,b[3].out_doing_money=150,b[3].a[1]=1,b[3].a[2]=1;
b[4].name="铁",b[4].money=15,b[4].out_doing_money=150;
b[5].name="铁板",b[5].money=25,b[5].out_doing_money=1200,b[5].a[4]=4,b[5].a[3]=4;
b[6].name="铁箱",b[6].money=100,b[6].out_doing_money=4800,b[6].a[5]=4;
b[7].name="铁柜",b[7].money=340,b[7].out_doing_money=15000,b[7].a[6]=3,b[7].a[3]=4;
b[8].name="大型铁柜",b[8].money=3400,b[8].out_doing_money=150000,b[8].a[7]=10;
b[9].name="锡箔",b[9].money=20,b[9].out_doing_money=150;
b[10].name="锡箔纸",b[10].money=100,b[10].out_doing_money=750,b[10].a[9]=5;
b[11].name="小型烤箱",b[11].money=1150,b[11].out_doing_money=14700,b[11].a[10]=10,b[11].a[6]=1,b[11].a[5]=2;
b[12].name="大型烤箱",b[12].money=4080,b[12].out_doing_money=71700,b[12].a[11]=2,b[12].a[10]=10,b[12].a[5]=4,b[12].a[7]=2;
b[13].name="铝箔",b[13].money=20,b[13].out_doing_money=1;
b[14].name="铝箔纸",b[14].money=200,b[14].out_doing_money=10;
b[15].name="专业烤箱",b[15].money=10200,b[15].out_doing_money=144100,b[15].a[3]=4,b[15].a[12]=2,b[15].a[14]=10;
b[16].name="电线",b[16].money=50,b[16].out_doing_money=300;
b[17].name="线圈",b[17].money=540,b[17].out_doing_money=3600,b[17].a[16]=10,b[17].a[3]=4;
b[18].name="LED灯",b[18].money=1350,b[18].out_doing_money=8905,b[18].a[16]=2,b[18].a[17]=2,b[18].a[13]=5,b[18].a[4]=4,b[18].a[0]=5;
b[19].name="LED显示屏",b[19].money=13600,b[19].out_doing_money=89650,b[19].a[18]=10,b[19].a[16]=2;
b[20].name="高级电脑",b[20].money=141500,b[20].out_doing_money=937110,b[20].a[19]=10,b[20].a[18]=2,b[20].a[17]=5,b[20].a[5]=4;
b[21].name="石英砂",b[21].money=5,b[21].out_doing_money=100;
b[22].name="硼砂",b[22].money=5,b[22].out_doing_money=100;
b[23].name="木头",b[23].money=5,b[23].out_doing_money=100;
b[24].name="重晶石",b[24].money=5,b[24].out_doing_money=100;
b[25].name="碳酸钡",b[25].money=5,b[25].out_doing_money=100;
b[26].name="石灰石",b[26].money=5,b[26].out_doing_money=100;
b[27].name="玻璃",b[27].money=25,b[27].out_doing_money=500,b[27].a[26]=1,b[27].a[25]=1,b[27].a[24]=1,b[27].a[22]=1,b[27].a[21]=1;
b[28].name="书架",b[28].money=14450,b[28].out_doing_money=97655,b[28].a[27]=10,b[28].a[19]=1,b[28].a[16]=10,b[28].a[13]=5;
b[29].name="木书架",b[29].money=29400,b[29].out_doing_money=205310,b[29].a[28]=2,b[29].a[23]=100;
b[30].name="家用现代套装",b[30].money=804360,b[30].out_doing_money=5928110;
sleep(1);
system("pause");
system("cls");
}
int Game(int day,int &ans)
{
cout<<" --第 "<
cout<<"1 完成订单"<<'\n';
cout<<"2 查看订单"<<'\n';
cout<<"3 建造工厂"<<'\n';
cout<<"4 提高效率"<<'\n';
cout<<"5 员工情况"<<'\n';
cout<<"6 购买卡车"<<'\n';
cout<<"7 贷款"<<'\n';
cout<<"8 外包"<<'\n';
cout<<"9 增加生产线"<<'\n';
cin>>ans;
}
void geren()
{
cout<<"个人情况:"<<'\n';
cout<<"现有资金($):"<
for(int i=0; i<=30; i++)
{
cout< if(thing[i])
{
cout<<"有货--"<
else
{
cout<<"无货 "<<'\n';
}
}
if(fac_-1)
{
int t=fac_;
for(int i=1; i<=fac_; i++)
{
if(c[i].sLv==1)
{
cout<<"主工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==2)
{
cout<<"小型零件工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==3)
{
cout<<"中型零件工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==4)
{
cout<<"大型零件工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==5)
{
cout<<"钢板焊接工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==6)
{
cout<<"铁箱焊接工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==7)
{
cout<<"材料组合工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
cout<<'\n';
system("pause");
}
}
cout<<"--------------------------------------------------------------"<<'\n'<<'\n';
system("pause");
}
void out()
{
a_=1;
double money_get=0;
if(a_==0) cout<<"您还没有订单!"<<'\n';
else
{
int xz;
//样例,可测试
//a[1].want=100;
//a[1].a[2]=20;
//a[1].a[10]=13;
//thing[2]=1000;
//thing[10]=1000;
for(int i=1; i<=a_; i++)
{
cout<<"订单"< cout<<"1- "< cout<<"2- 订单所需物品:"<<'\n';
int shu=1;
for(int j=0; j<=30; j++)
{
if(a[i].a[j]>0) cout<<"[ "<
cout<<'\n';
}
cout<<"(按-1查看个人情况)准备完成的订单编号:";
cin>>xz;
while(xz<=0)
{
if(xz==-1) geren();
else cout<<"Error!"<<'\n';
for(int i=1; i<=a_; i++)
{
cout<<"订单"< cout<<"1- "< cout<<"2- 订单所需物品:"<<'\n';
int shu=1;
for(int j=0; j<=30; j++)
{
if(a[i].a[j]>0) cout<<"[ "<
cout<<'\n';
}
cout<<"(按-1查看个人情况)准备完成的订单编号:";
cin>>xz;
}
system("pause");
int error=0;
cout<<"订单信息检查中 >> >> >> >> >>"<<'\n';
for(int i=0; i<=30; i++)
{
if(a[xz].a[i]>0)
{
cout<<"检查 -> "<
{
money_get+=a[xz].a[i]*b[i].money*1.1;
Sleep(400);
cout<<" 检查通过 "<
else
{
sleep(2);
cout<<" 检查未通过!"<<'\n';
error++;
}
}
}
cout<<"检查-> 卡车情况";
cout<<"问题数量:"<
{
cout<<" -检查通过-"<<'\n';
cout<<"订单生成中... ..."<<'\n';
Sleep(500);
cout<<"订单"<<'\n';
cout<<"厂家:"<
for(int i=0; i<=30; i++)
{
if(a[xz].a[i]>0)
{
if(thing[i]>=a[xz].a[i])
{
thing[i]-=a[xz].a[i];
Sleep(400);
}
}
}
money+=money_get*1.0;
}
cout<<"------------------------------"<<'\n';
}
}
void look()
{
a_=1;
for(int i=1; i<=a_; i++)
{
int f=1;
cout<<"订单"< cout<<"1- "< cout<<"2- 订单所需物品:"<<'\n';
int shu=1;
for(int j=0; j<=30; j++)
{
if(a[i].a[j]>0) cout<<"[ "<
cout<<'\n';
}
}
void build()
{
int lb_fac;
cout<<"您现有 "<
{
int t=fac_;
for(int i=1; i<=fac_; i++)
{
if(c[i].sLv==1)
{
cout<<"主工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==2)
{
cout<<"小型零件工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==3)
{
cout<<"中型零件工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==4)
{
cout<<"大型零件工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==5)
{
cout<<"钢板焊接工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==6)
{
cout<<"铁箱焊接工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
else if(c[i].sLv==7)
{
cout<<"材料组合工厂"<<'\n';
cout<<"工作效率:"<
else cout<<"-停工休业-"<<'\n';
}
cout<<'\n';
system("pause");
}
}
/*
小型零件工厂 工人人数=工厂大小*2.0
中型零件工厂 工人人数=工厂大小*1.0
大型零件工厂 工人人数=工厂大小*0.5
钢板焊接工厂 工人人数=工厂大小*0.1
铁箱焊接工厂 工人人数=工厂大小*0.5
总体组合工厂 工人人数=工厂大小*0.2
*/
system("color 0E");
cout<<"建造工厂类别(具体按 -1 看规则第二条):";
cin>>lb_fac;
while(lb_fac==-1) rule(),cin>>lb_fac;
system("cls");
system("color 0E");
system("pause");
double s_;
switch(lb_fac)
{
case 2:
cout<<"小型零件工厂,新手必备";
if(money<200*2.0) cout<<",可你资金实在太少了!"<<'\n';
else
{
cout<<",您最多可以买"<
cin>>s_;
while(s_<0||s_>money/200.0) cout<<"无效的操作!",cin>>s_;
money=money-1.0*(s_*200.0);
if(s_>0.0)
{
cout<<"申请成功!"<<'\n';
system("pause");
c[fac_+1].sLv=2;
c[fac_+1].cl=0;
c[fac_+1].mg=s_;
c[fac_+1].rs=0;
c[fac_+1].yy=1;
}
fac_++;
}
break;
case 3:
{
cout<<"中型零件工厂,最好的开始";
if(money<210) cout<<",可你资金实在太少了!"<<'\n';
else
{
cout<<",您最多可以买"<
cin>>s_;
while(s_<0||s_>money/210.0) cout<<"无效的操作!",cin>>s_;
money=money-1.0*(s_*210.0);
if(s_>0.0)
{
cout<<"申请成功!"<<'\n';
system("pause");
c[fac_+1].sLv=3;
c[fac_+1].cl=0;
c[fac_+1].mg=s_;
c[fac_+1].rs=0;
c[fac_+1].yy=1;
}
fac_++;
}
}
break;
case 4:
cout<<"大型零件工厂,企业的标配";
if(money<220*0.5) cout<<",可你资金实在太少了!"<<'\n';
else
{
cout<<",您最多可以买"<
cin>>s_;
while(s_<0||s_>money/220.0) cout<<"无效的操作!",cin>>s_;
money=money-1.0*(s_*220.0);
if(s_>0.0)
{
cout<<"申请成功!"<<'\n';
system("pause");
c[fac_+1].sLv=4;
c[fac_+1].cl=0;
c[fac_+1].mg=s_;
c[fac_+1].rs=0;
c[fac_+1].yy=1;
}
fac_++;
}
break;
case 5:
cout<<"钢板焊接工厂,成功的开始";
if(money<350*0.1) cout<<",可你资金实在太少了!"<<'\n';
else
{
cout<<",您最多可以买"<
cin>>s_;
while(s_<0||s_>money/350.0) cout<<"无效的操作!",cin>>s_;
money=money-1.0*(s_*350.0);
if(s_>0.0)
{
cout<<"申请成功!"<<'\n';
system("pause");
c[fac_+1].sLv=5;
c[fac_+1].cl=0;
c[fac_+1].mg=s_;
c[fac_+1].rs=0;
c[fac_+1].yy=1;
}
fac_++;
}
break;
case 6:
cout<<"铁箱焊接工厂,工厂的骄傲";
if(money<400*0.5) cout<<",可你资金实在太少了!"<<'\n';
else
{
cout<<",您最多可以买"<
cin>>s_;
while(s_<0||s_>money/400.0) cout<<"无效的操作!",cin>>s_;
money=money-1.0*(s_*400.0);
if(s_>0.0)
{
cout<<"申请成功!"<<'\n';
system("pause");
c[fac_+1].sLv=6;
c[fac_+1].cl=0;
c[fac_+1].mg=s_;
c[fac_+1].rs=0;
c[fac_+1].yy=1;
}
fac_++;
}
break;
case 7:
cout<<"材料组合工厂,辉煌的胜利";
if(money<700*0.2) cout<<"!可你想多了!资金不够来玩我啊?"<<'\n';
else
{
cout<<",您最多可以买"<
cin>>s_;
while(s_<0||s_>money/700.0) cout<<"无效的操作!",cin>>s_;
money=money-1.0*(s_*700.0);
if(s_>0.0)
{
cout<<"申请成功!"<<'\n';
system("pause");
c[fac_+1].sLv=7;
c[fac_+1].cl=0;
c[fac_+1].mg=s_;
c[fac_+1].rs=0;
c[fac_+1].yy=1;
}
fac_++;
}
break;
default:
cout<<"默认退出!"<<'\n';
break;
}
}
void play()
{
welcome_to();
initialization();//初始化
while(money>-1000000)
{
int ans;
Game(day,ans);
switch(ans)
{
case 1:
out();
break;
case 2:
look();
break;
case 3:
build();
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
break;
case 9:
break;//帮忙给思路,格式在这里-> int Game(int day,int &ans)
default:
cout<<"NAN"<<'\n';
break;
}
/*
1.主工厂 无需付费 所有工人工作效率+1 需要 0$ 生产线数量+1 需要 0$ 1
2.小型零件工厂 200$/㎡ 所有工人工作效率+1 需要 10$ 生产线数量+1 需要 10$ 2
3.中型零件工厂 210$/㎡ 所有工人工作效率+1 需要 15$ 生产线数量+1 需要 15$ 3
4.大型零件工厂 220$/㎡ 所有工人工作效率+1 需要 20$ 生产线数量+1 需要 20$ 4
5.钢板焊接工厂 350$/㎡ 所有工人工作效率+1 需要 40$ 生产线数量+1 需要 85$ 5
6.铁箱焊接工厂 400$/㎡ 所有工人工作效率+1 需要 55$ 生产线数量+1 需要100$ 6
7.材料组合工厂 700$/㎡ 所有工人工作效率+1 需要 95$ 生产线数量+1 需要500$ 7
*/
}
}
int main()
{
play();
return 0;
}
如想出代码并评论,我会倒立喝水并关注!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!