911接线员(C++制作)

哈喽,鸽了许久的酱某终于回来啦!

又来整新活了~

在中国,紧急拨号一般分成:

110 、120、119

但在美国,他们的救援电话是一体的,那就是:

911

一款名叫《911接线员》的游戏便应运而生了。

但这并不是酱某我的游戏~

今天我们就要复刻一下这款策略性游戏。

———————————————————闲话少说————————————————————

1.游戏玩法

我们担任一个接线员,接听民众打来的求救电话,然后和民众进行交流,花资金雇佣人力物力,派出警队、医疗队、消防队前往救援。

2.代码实现

int t1(){
	cout<<"女士:您好!"<<endl;
	delay(1);
	cout<<"你:您好。"<<endl;
	delay(1);
	cout<<"女士:我...我们家...着火了。"<<endl;
	delay(1);
	cout<<"你:您的地址?"<<endl;
	delay(1);
	cout<<"女士:洛克伍德街45号。"<<endl;
	delay(1); 
	cout<<"你:好的。"<<endl;
	delay(1);
	cout<<"A.有人受伤吗?B.我现在为您派消防员。C.我让外卖给您捎个灭火器。"<<endl;
	char t1q;
	cin>>t1q;
	return t1q;
	 
}

我尝试用函数解决,以便使代码简化,避免if套if的情况。

但事与愿违,主函数还是十分冗长:

if(r==1){
				char f1=t1(); 
				if(f1=='A'){
					score+=5;
					cout<<"女士:我...我老公...他...在火里烧伤了..."<<endl;
					delay(1);
					cout<<"你:了解。我会派出消防队、医疗队,预计在15分钟到达。"<<endl;
					delay(1);
					cout<<"女士:谢谢你。"<<endl;
					delay(1);
					cout<<"你:不用谢,我们为公民们服务。"<<endl;
					delay(1);
					cout<<"按任意键挂电话。"<<endl;
					
					cin>>gua;
					cout<<"通话结束。"<<endl; 
					system("cls");
					cout<<"___________________________________________________________"<<endl;
					cout<<"                        任务简报"<<endl;
					cout<<"地点:洛克伍德街45号 	   |出动警力:"<<endl;
					cout<<"火势:15                   |出动医疗:"<<endl;
					cout<<"伤亡:1人中度烧伤(6)     |出动消防:"<<endl;
					cout<<"明细:初级消防员 3火势/人  |救护车42$/次(救治+9,急救1人)"<<endl;
					cout<<"               1人-救援-1人|警车20$/次(逮捕嫌疑人)"<<endl;
					cout<<"      初级创伤小组 2伤势/人|消防车38$/次(灭火+10)"<<endl;
					cout<<"               3人-急救-1人|暴动:0"<<endl;
					cout<<"          初级警员 1暴动/人|火势:18"<<endl;
					cout<<"           5人-肃清-1场事件|伤亡:6"<<endl;
					cout<<"           3人-逮捕-1嫌疑人|"<<endl;
					cout<<"请输入要出动的警员、警车:"<<endl;
					cin>>jing>>jingche;
					cout<<"请输入要出动的医疗队、救护车:"<<endl; 
					cin>>yi>>yiche;
					cout<<"请输入要出动的消防队、消防车:"<<endl; 
					cin>>huo>>huoche;
					delay(1);
					system("cls");
					cout<<"救援队正在赶往事故地点."<<endl;
					delay(1);
					system("cls");
					cout<<"救援队正在赶往事故地点.."<<endl;
					delay(1);
					system("cls");
					cout<<"救援队正在赶往事故地点..."<<endl;
					delay(1);
					system("cls");
					if((6-yi*2-yiche*9<=0)&&(18-huo*3-huoche*10<=0)){
						cout<<"任务完成"<<endl;
						score+=15;
						money=money-jing*5-jingche*20-yi*10-yiche*42-huo*8-huoche*38+95;
						delay(3);
						system("cls");
					}
					else{
						cout<<"任务失败"<<endl;
						score-=5; 
						money=money-jing*5-jingche*20-yi*10-yiche*42-huo*8-huoche*38+15;
						delay(3);
						system("cls");
					}
				}
				else if(f1=='B'){
					cout<<"你:我为您出动6名消防员救火,立即出动。"<<endl;
					delay(1);
					cout<<"女士:等等,我,我老——啊!!!"<<endl;
					delay(0.35);
					cout<<"电话挂了。"<<endl;
					money+=1;
					score-=10; 
					cout<<"任务不成功"<<endl;
					cout<<"火被扑灭,女人的老公却因无法得到救治而死。"<<endl;
					delay(3);
					system("cls");
				}
				else{
					cout<<"女士:<该剧脏话被和谐>"<<endl;
					cout<<"任务失败"<<endl; 
					score-=35;
					delay(3);
					system("cls");
				}
			}

这也仅仅是一个问题的代码,正式版我们还要保证一回不重样呢~

头要秃了呜呜呜┭┮﹏┭┮......

本作有资金和积分机制,暂未实装。

3.技术亮点

void delay(float seconds) { //增加延时时间,功能设计
	clock_t start=clock();
	clock_t lay=(clock_t)seconds * CLOCKS_PER_SEC;
	while((clock()-start)<lay);
}

延时设计代码,想要的可以自取~

4.游戏剧情

if(a==1){
		cout<<"你的名字?"<<endl;
		string name;
		cin>>name;
		cout<<"您好,"<<name<<"欢迎上岗。"<<endl;
		delay(1.5);
		cout<<"未知:嗨,新的接线员?"<<endl;
		delay(1.5);
		cout<<"你:额...您好..."<<endl;
		delay(1.5);
		cout<<"未知:不用拘谨啊,我是这边的接线员指挥,安娜。"<<endl;
		delay(1.5);
		cout<<"你:嗯…很高兴见到您,安娜。"<<endl;
		delay(1.5);
		cout<<"安娜:这边是你的工位,不错吧?"<<endl;
		delay(1.5);
		cout<<"你:嗯,我觉得不错。"<<endl;
		delay(1.5);
		cout<<"安娜:好的,那我们开始吧。"<<endl;
		delay(1.5);
		cout<<"安娜:你会随时接到报警、求救电话,你需要出动警队、医疗队、消防队,去急救他们、逮捕匪徒,同时和他们仔细沟通。"<<endl;
		cout<<"安娜:你要用自己的资金来雇佣干员们,还要买设施。"<<endl;
		cout<<"安娜:对了,别忘了注意言辞!"<<endl;
		cout<<"安娜:开始快乐的一天吧!"<<endl;
		delay(5);
		system("cls");

———————————————————————————————————————————

那本期内容就到这里了,喜欢的同学可以点一个赞,目前游戏正在内测,不提供下载哦~

Bye!!

大伙都不瞎吧,能看见吗,告诉大家,开学前一定会公测,等着吧!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ender_momo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值