⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 npc.cpp

📁 这是我用VC写的一个RPG的文字游戏
💻 CPP
📖 第 1 页 / 共 2 页
字号:


			   }
			    if(k.gety()==40)
			   {
                 
				  message3();
				   cout<<"\n";
				   c.baise();
				   call.image("  前方好象有若干人影在晃动!但因光线太暗实在是看不清楚。",56);
				   cout<<"  难道也是同去蓬莱的大侠?正好与他们结伴同行!按 w 键前去查看"<<endl;
             }
			 if(k.gety()==38)
			 {  c.huangse();
				 call.image("  哦~,还不少呢,共四人!,他们怎么站那不动?",46);
                 c.huangse();
				 cout<<"按 "; 
				 c.Hongse();
				 c.huangse();
				 cout<<"w" ;
				 cout<<"走近一步查看。";
			 }
	          if(k.gety()==36)
			 {   
				 message3();
				 c.anqingse();
				 cout<<"  你面前出现";
				 c.Hongse();
				 cout<<"  2";
				 c.anqingse();
				 cout<<"个骷髅战士(斧子),";
				 c.Hongse();
				 cout<<"2 ";
				 c.anqingse();
				 cout<<"个骷髅战士(矛)";
				 
				 cout<<"\n";
				 c.anlvse();
				 cout<<"  在大理部落的地下中,因死于非命而离不开世间的战士的灵魂,其唯一目的是战斗."<<endl;
			    cout<<"\n";
				 message3();
				 c.anbaise();
				 call.image("  两名骷髅战士(斧子)向你冲来!!!",36);
D:				 cout<<"\n";
			    c.anqingse();
				 cout<<" 选择攻击方式:"<<endl<<"\n";
				 c.huangse();
				 cout<<"  1.逃跑 2.";
				 c.qingse();
				 cout<<"『强化乌龙剑』";
                 c.huangse();
				 cout<<"近距离刺杀 3.";
				 c.qingse();
				 cout<<"『暗夜连环斩』";
                 c.huangse();
				 cout<<"直线冲杀(每次消耗力量2)"<<"\n";
				 cin>>k.W;
				 switch(k.W[0])
				 {
				 case '1':
					 message3();
					 c.anqingse();
					 cout<<"大侠!此处皆为洞壁并没有逃跑的道路!你自保吧~!"<<endl;
					 goto D;
					 break;
				 case '2':
                       message3();
					   c.anhuangse();
					   call.image("『强化乌龙剑』已经紧握在你手中.",32);
					   cout<<"\n";
					   c.anbaise();
					   cout<<"  目前敌人位置:";
					   c.baise();
					   cout<<"正前方(数量2),左前方(数量2),";
                       cout<<"\n";
                       message3();
				 F:    c.qingse();
					   cout<<"选择攻击位置:";
					   c.anlvse();
					   cout<<" 1.正前方 2.左前方"<<endl;
                     // int i=1;
					  cin>>k.W;
					/*while(i)
						{*/
						
						 switch(k.W[0])
						   {
						 case'1':
                             message3();
							 cout<<"\n";
							 message2();
							 c.anbaise();
							 cout<<"  双手紧握";
							 c.anlvse();
							 cout<<"『强化乌龙剑』";
							 c.anbaise();
							 cout<<"腾空而起直刺正前方的骷髅战士!"<<endl;
                             message3();
							 c.lvse();
							 cout<<"  『强化乌龙剑』";
							 c.anqingse();
							 cout<<"刺穿正前方一骷髅战士之头!黑血四溅!当场脑袋落地!"<<"\n";
							 c.anqingse();
							 
							 message2();
							 c.Hongse();
                             cout<<"  被正前方另一骷髅战士刺中大腿";
							 c.qingse();
							 cout<<"血值丢失15;"<<"\n";
							 k.setHP(k.getHP()-15);
							 c.qingse();
							  
							 message2();
							 c.anlvse();
							 cout<<"  忍住巨痛,空中迅速转身,一剑将正前方另一骷髅战士劈成两半!黑血溅了一身!"<<"\n";
                             message3();
							 c.anhuangse();
							 cout<<"左前方两名骷髅战士已经冲到你身边,并举斧要将你劈成两半!"<<endl;
							 message3();
E:                           c.Hongse();
						     cout<<"按 y 键使用";
							 c.qingse();
							 cout<<"『暗夜连环斩』";
                              c.Hongse();
							 cout<<"方可解决他们"<<endl;
                                  cin>>k.W;
								   switch(k.W[0])
								   {
								   case'y':
                                         message3();
										 c.anlvse();
										 cout<<"凝聚浑身力量,瞬间发出数道紫光射向两个骷髅战士~!"<<endl;
										 message3();
										 c.anHongse();
										 call.image("  两名骷髅战士已经被粉碎!",26);
										 cout<<"\n"<<endl;
										 message3();
										 cout<<k.player;
										 c.baise();
										 call.image("在战斗中你的血值丢失了",22);
										 c.Hongse();
										 cout<<"15";
                                         c.baise();
                                         cout<<" 经验值增加";
										 c.Hongse();
										 cout<<"5";
										 c.baise();
										 cout<<" 等级升高";
										 c.Hongse();
										 cout<<"2";
										 c.baise();
										 cout<<" 力量减少";
										 c.Hongse();
										 cout<<"2";
										 k.setHP(k.getHP()-15);//HP
										 k.setLEVL(k.getLEVL()+2);//级别
										 k.setEP(k.getEP()+5);//经验
										 k.setBI(k.getBI()-2);//力量
										 cout<<"\n";
										 k.shuxing();

									   break;
								   default:
                                        cout<<"  现在只能使用『暗夜连环斩』了!"<<endl;
										goto E;
									   break;
								   }
							 
							 //i=0;
							 break;
						 case'2':
							 message3();
							 c.anbaise();
                             cout<<"左前方怪物已经移动到了正前方怪物的后面!现在只能攻击正前方!"<<endl;
							 cout<<"  ";
							 goto F;
							 break;
						 default:
							 cout<<"输入错误,重新输入!"<<endl;
							  goto F;
							 break;
						   }
					  //}
					 break;
				 case '3':
                      message3();
					  c.qingse();
                      cout<<"  暂时不能选择!";
                       goto D;
					 break;
				 default:
					 cout<<"输入错误~!";
                      goto D;
					 break;
				 }
			 
			  message3();
			  c.anqingse();
			  call.image("  骷髅战士掉落了一个",20);
			  c.lvse(); 
			  cout<<"『战盔』";
              c.anqingse();
			  cout<<"\n";
			  call.image("  请选择:",10);
			 
			  c.anbaise();
			  cout<<"1.放入物品栏 2.马上装备 3.丢弃";
			   cout<<"\n";
			  int i = 1;
			  while(i){
			  cin>>k.W;
			   switch(k.W[0])
			   {
			   case '1':
				    message3();
					c.lvse(); 
			        cout<<"『战盔』";
					c.anlvse();
					cout<<"已经放进物品栏。"<<endl;
				    call.wupin3="    战盔      ";
                     call.zhuangtai=1;
					call.wupin();////////////////////////lllllllllllllllllllllllllllllllllllll
					/*c.anlvse();
					cout<<"继续行走..."<<endl;*/
					i=0;
				   break;
			   case'2':
				   message3();
					c.lvse(); 
			        cout<<"『战盔』";
					c.anLanse();
					cout<<"已经装备完毕"<<endl;
					c.anlvse();
					cout<<"继续行走..."<<endl;
					i=0;
					
				   break;
			   case'3':
				   i=0;
				   break;
			   default:
                message3();
				cout<<"输入错误,请重新输入!"<<endl;
				   break;
			   }
			  
			 }
			c.anhuangse();
			cout<<"【";
			c.anqingse();
			cout<<"提示";
			c.anhuangse();
			 cout<<"】:";
			c.anhuangse();
			cout<<"你的生命值有所损失,可以按 t 键打开物品栏,补充生命值。";
			}	
}

void NPC::chose_wupin()   //游戏中的物品选择
{        
	     int i = 1;
	        c.baise();
			
			call.wupin();////////////////////////////////////
        	
			while(i)
			{
                cin>>k.W;
				switch(k.W[0])
				{
				case '1':
                    message3();
					c.Hongse();
					cout<<"  『强化乌龙剑』不是消耗物品!"<<endl;
					c.anbaise();
					cout<<"   请选择其他物品."; 
					c.huangse();
					cout<<"按 6 键退出物品栏!"<<endl;
					break;
				case '2':
					if(call.wupin2=="             ")
					{
						c.huangse();
						cout<<"此栏目为空!"<<endl;
					    c.anbaise();
					    cout<<"   请选择其他物品.";
						c.huangse();
					    cout<<"按 6 键退出物品栏!"<<endl;
					}
					if(call.wupin2==" 生命药水   ")
					{
						message3();
						c.qingse();
						call.image("生命药水已经服用.",20);
						cout<<"\n";
						call.wupin2="             ";
						 message3();
						  if(k.getHP()<80)
					     	 {
								 cout<<"生命值增加";
								 c.qingse();
								 cout<<"20."<<endl;
								 k.setHP(k.getHP()+20);
							 }else
								{
                                 cout<<"生命值增加10"<<endl;
								 k.setHP(k.getHP()+10);
								 if(k.getHP()>100)
								 {
									 k.setHP(100);
								 }
								}
								call.wupin();
								k.shuxing();
								c.huangse();
					            cout<<"按";
								c.qingse();
								cout<<"1,2,3,4";
								c.huangse();
								cout<<"继续选择物品,按 6 键退出物品栏!"<<endl;
								
					}

					break;
				case '3':///////////////////////////////////////////////////////????????

		                

					    if(call.wupin3=="             ")
							{
								c.huangse();
								cout<<"  此栏目为空!"<<endl;
								c.anbaise();
								cout<<"   请选择其他物品.";
							    c.huangse();
					            cout<<"按 6 键退出物品栏!"<<endl;
							}
						if(call.wupin3=="    战盔      ");
							{
							   message3();
								c.qingse();
								call.image("  你选择的物品已经装备完毕.",27);
								cout<<"\n";
								call.wupin3 = "             ";
								 
								call.wupin();//物品 回执报告
                                c.huangse();
					            cout<<"  按 6 键退出物品栏!"<<endl;
								
							} 
				         break;
				case '4':

					if(call.wupin4=="             ")
					{
						 c.huangse();
						 cout<<"  此栏目为空!"<<endl;
						 c.anbaise();
						 cout<<"   请选择其他物品.";
						 c.huangse();
						 cout<<"按 6 键退出物品栏!"<<endl;             
					}
					if(call.wupin4=="   强酸花     ")
					{
                        message3();
			            c.qingse();
						call.image("  你选择的物品已成功使用!.",27);
                        cout<<"\n";
						message3();
						c.anlvse();
                        cout<<"使用";
						c.qingse();
						cout<<"『强酸花』";
						c.anlvse();
						cout<<"后力量增加 ";
						c.Hongse();
						cout<<"10  ";
						c.anlvse();
						cout<<"魔法增加 ";
						c.Hongse();
						cout<<"5"<<endl;
						cout<<"\n";
						call.wupin4 = "             ";
						k.setBI(k.getBI()+10);
						k.setID(k.getID()+5);
						call.wupin();//物品 回执报告
						k.shuxing();//属性报告
						c.huangse();
						cout<<"  按 6 键退出物品栏!"<<endl;

					}

					break;
				case '5':

					cout<<"此栏目为空"<<endl;
					break;
				case '6':
					c.anbaise();
                     cout<<"物品栏已关闭,请继续行走!(w/a/d)"<<endl;
					 i=0;//跳出循环
					break;
				default:
					cout<<"输入错误!请选择1-5,按 6 键退出物品栏:"<<endl;
					break;
				}
			}
}




void NPC::sleep_money()//休息和淘金~~
{

	if(k.gety()==28)
	{
      message3();
	  c.anbaise();
      cout<<" 洞内又恢复了可怕的平静,经过一夜的紧张战斗感到甚是劳累!想赶紧走出这条     地下水路," <<endl;
     
	 
	  cout<<"  但此时已经是经疲力尽!是否原地休息一会?(能恢复50点的力量)";
	  c.Hongse();
	  cout<<"(y/n)";
	  cin>>k.W;
	  switch(k.W[0])
	  {
	  case 'y':
		  
		   message3();
		    c.anhuangse();
		  cout<<"  疲惫而紧张的身躯终于得到了暂时的解脱~!"<<endl;
		  cout<<"       不知不觉的在危险中睡去!....."<<"\n";
		   message3();
		   c.qingse();
		   cout<<"  你的力量值正在恢复....."<<endl;
		   cout<<"\n"<<endl;
		   k.setBI(k.getBI()+50);
           cout<<"∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽"<<endl;
            message3();
		   cout<<k.player;
		   c.anlvse();
		   cout<<" 被一束强烈的光线刺醒,原来昨夜已经到了地下水路的出口处!";
          break;
	  case'n':
		   message3();
		  c.anhuangse();
		  cout<<"此地不可久留,否则有生命危险!再疲惫也要坚持下去...!"<<endl;
          cout<<"经过一夜的奔波,前方好象有一丝光亮!,原来已经到了地下水路的出口!";

		  break;
	  default:
		      message3();
              c.Hongse();
		      cout<<"错误的输入,默认不休息!";
			  c.anhuangse();
			  cout<<"此地不可久留,否则有生命危险!再疲惫也要坚持下去...!"<<endl;
			   cout<<"经过一夜的奔波,前方好象有一丝光亮!,原来已经到了地下水路的出口!";
		  break;

	  } cout<<"\n"<<endl;
        message3();
		 c.anhuangse();
		cout<<"在你的前方有一块在此沉睡多年的黄金,是否捡起?";
	    c.Hongse();		
	    cout<<"(y/n)"<<endl;
		cin>>k.W;
		   switch(k.W[0])
		   {
		   case 'y':
               message3();
               cout<<"按 w 键向前走一步!";
			   break;
		   default:
               message3();
			   cout<<"你要放弃这块黄金吗?";
			     c.Hongse();		
	             cout<<"(y/n)"<<endl;

			     cin>>k.W;

			     switch(k.W[0])
				 {
                    case 'y':
                    message3();
                    cout<<"已经丢弃!";
			         break;
                 
		        default:
                   message3();
                  cout<<"按 w 键向前走一步!";
					break;
				 }
			   break;
		   }

	}

	if(k.gety()==26)
	{
        message3();
		c.anlvse();
		cout<<"黄金已经捡起!可按 b 查看你的属性---金钱!";
		cout<<"\n"<<endl;
		k.setME(k.getME()+120);
       message3();
	   c.anlvse();
	   cout<<"  你已经到了 ";
	   c.anbaise();
	   cout<<"蓬莱 ";
	    c.anlvse();
	   cout<<"的城外,在蓬莱的 ";
        c.anbaise();
	   cout<<"乌拢 ";
	    c.anlvse();
	   cout<<"之地有个叫做 ";
	    c.qingse();
	   cout<<"『田不易』 ";
	    c.anlvse();
	   cout<<"的人,";
	   cout<<"         你可以凭你的能力在他那里学得精深的招数道行,但此人性格孤僻,教不教你还说不定!按 ";
	   c.huangse();
	   cout<<"w ";
	   c.anlvse();
       cout<<"进城寻找 ";
	   c.qingse();
	   cout<<"『田不易』"<<endl;
	}
	if(k.gety()==24)
	{
      message3();
      c.qingse();
	  cout<<"  『田不易』";
	  c.anhuangse();
	  cout<<"住在城内的 呜龙河 旁边,坐标 ";
	  c.lvse();
	  cout<<"X: 70 , Y: 20 "<<endl;
	    
     
	}

}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -