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

📄 armament_action_boss1.php

📁 Download you own three BR
💻 PHP
📖 第 1 页 / 共 3 页
字号:
<?php
///////////////////
//怪物信息
///////////////////
$query_boss=$db->query("select * from city_boss where  w_to_x='".$w_to_x."' and w_to_y='".$w_to_y."';");
$list_boss_num=$db->num_rows($query_boss);
$list_boss=$db->fetch_array($query_boss);


	//武将信息;
	$boss_gen_power       =  $enemy_gen_power[$list_boss['gen_n']];			//武将攻击力;
	$boss_gen_intellect   =  $enemy_gen_intellect[$list_boss['gen_n']];     //武将智力;
	$boss_gen_commend     =  $enemy_gen_commend[$list_boss['gen_n']];       //武将防御;
	//武将入表信息:攻击|智力|防御|忠诚|经验|等级
	$boss_gen_attribute=$boss_gen_power.'|'.$boss_gen_intellect.'|'.$boss_gen_commend.'|100|未知|未知';
	//是否有武将;6为没武将;
	$boss_gen_num_if=$list_boss['gen_n'];
	
	//攻击加成
	$boss_gen_power_add=$enemy_gen_power[$boss_gen_num_if]*$gen_add_power+1;
								
	//防御加成
	$boss_gen_comm_add=$enemy_gen_commend[$boss_gen_num_if]*$gen_add_comm+1;
								
	//武将智力加士兵血
	$boss_gen_life_add=$enemy_gen_intellect[$boss_gen_num_if]*$gen_add_left+1;
	
	
	//统计兵种和数量
	$boss_soldier_type=explode("|",$list_boss['soldier_t']);
	$boss_soldier_num=explode("|",$list_boss['soldier_n']);
	$num_ls_all=count($boss_soldier_type);
	
	//清空变量;
	unset($boss_soldier_num_temp,$boss_soldier_num_temp_ls,$boss_soldier_name_temp,$boss_soldier_type_array_num_temp,$boss_soldier_one_power,$boss_soldier_one_comm,$boss_soldier_one_life,$boss_soldier_one_exert);
	
	for ($i=0;$i<$num_ls_all;$i++){
		if ($boss_soldier_num[$i]>0){//如果兵数大于0;
			//临时存入防御方兵数;
			$boss_soldier_num_temp[]    = $boss_soldier_num[$i];
			$boss_soldier_num_temp_ls[] = $boss_soldier_num[$i];
			//临时存入防御方兵种名称;
			$boss_soldier_name_temp[]   = $enemy_soldier_type[0][$i+1];
			//临时存入防御方数组指数;
			$boss_soldier_type_array_num_temp[]=$i+1;
			//单兵伤害值;
			$boss_soldier_one_power[]  =$enemy_soldier_type[$i+1][2];
			//单兵防御值;
			$boss_soldier_one_comm[]   =$enemy_soldier_type[$i+1][3];
			//单兵血量;武将智力加成
			$boss_soldier_one_life[]   =$enemy_soldier_type[$i+1][1] * $boss_gen_life_add;
			//攻击发挥
			$boss_soldier_one_exert[]  =$enemy_soldier_type[$i+1][4];
		}
	}
	
	


///////////////////
//进攻部队
///////////////////
//进攻武将
$query_gon_gen=$db->query("select * from gen where g_uid='".$war_array_fp['u_id']."' and g_cid='".$war_array_fp['c_id']."' and g_gid='".$war_array_fp['w_gen']."';");
$list_gon_gen=$db->fetch_array($query_gon_gen);
$gon_gen_id=$list_gon_gen['id'];
	//攻击方武将属性(入表用);
	$gon_gen_attribute=$list_gon_gen['g_power'].'|'.$list_gon_gen['g_intellect'].'|'.$list_gon_gen['g_commend'].'|'.$list_gon_gen['g_fealty'].'|'.$list_gon_gen['g_exploit'].'|'.$list_gon_gen['g_grade'];
$gon_gen_num_if=$db->num_rows($query_gon_gen);
	//攻击加成
	$gon_power_add=$list_gon_gen['g_power']*$gen_add_power+1;
	
	//防御加成
	$gon_comm_add=$list_gon_gen['g_commend']*$gen_add_comm+1;
	
	//武将智力加士兵血
	$gon_life_add=$list_gon_gen['g_intellect']*$gen_add_left+1;
	
	//部队提升防御g_recovery
	$gon_comm_all=$list_gon_gen['g_recovery'];
	
//查询科技
//$query_gon_study=$db->query("select * from study where u_id='".$war_array['u_id']."';");
//$list_gon_study=$db->fetch_array($query_gon_study);
//	//部队指挥  部队携带量提高10%,抢夺比率提高1%(起始抢20%)  部队指挥等级 s_command  
//		//携带量
//		$gon_take_add=$list_gon_study['s_command']*$take_add_one_num;
//		//抢夺比率
//		$gon_loot_add=$list_gon_study['s_command']*$loot_add_one_num;
//		
//	//武器制造  所有近战兵种攻击伤害提高5%  武器制造 s_arm   
//	$gon_close_in_power_add=$list_gon_study['s_arm']*$close_in_add_power;
//	
//	//铠甲制造  所有近战兵种防御力提高5%    铠甲制造 s_loricae 
//	$gon_close_in_comm_add=$list_gon_study['s_loricae']*$close_in_add_comm;
//	
//	//机械技术  远程、机械兵种防御力提高5%    机械技术 s_engine 
//	$gon_long_range_comm_add=$list_gon_study['s_engine']*$long_range_add_comm;
//	
//	//弹道技术  远程、机械兵种攻击伤害提高5%  弹道技术 s_trajectory  
//	$gon_long_range_power_add=$list_gon_study['s_trajectory']*$long_range_add_power;
//	
//	//兵法专精  所有部队攻击力提高5%   兵法专精 s_tactics  
//	$gon_all_soldier_power_add=$list_gon_study['s_tactice']*$all_soldier_add_power;
//	
//	//阵法专精  所有部队防御力提高5%   阵法专精 s_position  
//	$gon_all_soldier_add_comm=$list_gon_study['s_position']*$all_soldier_add_comm;
	
//统计进攻方士兵和兵种;	
//$soldier_type_array_num=explode("|",$war_array['w_soldier_type']);						
//$soldier_num_ls=explode("|",$war_array['w_soldier_num']);

 for($i=0;$i<$num_g;$i++)
                        {						
						$soldier_num[]=explode("|",$war_array3[$i]['w_soldier_num']);
                 
                
                        }
                        $soldier_type=explode("|",$war_array3[0]['w_soldier_type']);
		
                        for($i=0;$i<$num_g;$i++)
                        {
                        	for($j=0;$j<17;$j++){
                        	
                        	if($soldier_num[$i][$j]<>0)
                        	{
                        		$soldier_type_array_num[]=$soldier_type[$j];
                        		$soldier_num_ls[]=$soldier_num[$i][$j];
                        	}
                       
                        	}
                        }                     


$sum_ls=count($soldier_type_array_num);

	//引用临时变量清空区
	unset($gon_soldier_num_temp,$gon_soldier_name_temp,$gon_soldier_type_array_num_temp,$gon_soldier_num_temp_ls);   //临时存入进攻方兵数,临时存入进攻方兵种名称,临时存入进攻方数组数
	unset($gon_soldier_one_power,$gon_soldier_one_comm,$gon_soldier_one_life,$gon_soldier_one_take,$gon_info_array,$gon_soldier_one_exert);              //临时存入单兵伤害,单兵防御,单兵血量,攻方战报
					
for ($i=0;$i<$sum_ls;$i++)
{
	
	if ($soldier_num_ls[$i]>'0') {
		//临时存入进攻方兵数;
		$gon_soldier_num_temp[]=$soldier_num_ls[$i];
		$gon_soldier_num_temp_ls[]=$soldier_num_ls[$i];
		
		//临时存入进攻方兵种名称;
		$gon_soldier_name_temp[]=$soldier_type_name[$soldier_type_array_num[$i]];
		
		//临时存入进攻方数组数;
		$gon_soldier_type_array_num_temp[]=$soldier_type_array_num[$i];
		
		//查询士兵信息基础表;
		$query_soldier_base=$db->query("select * from soldier_attribute where s_type='".$soldier_type_array_num[$i]."';");
		$list_soldier_base=$db->fetch_array($query_soldier_base);
			
		//单兵伤害值;
		$gon_soldier_one_power[]=$list_soldier_base['s_attack'];
				
		//单兵防御值;
		$gon_soldier_one_comm[]=$list_soldier_base['s_recovery'];
				
		//单兵血量;武将智力加成
		$gon_soldier_one_life[]=$list_soldier_base['s_life']*$gon_life_add;
		
		//单兵血量;
		$gon_soldier_one_take[]=$list_soldier_base['take_num'];
		
		//攻击发挥
		$gon_soldier_one_exert[]=$list_soldier_base['attack_exert'];
	}
}


	
	$aj=0;
	/////////////////////
	//攻击开始(最多3次)[$war_max_num]
	/////////////////////
	for ($kj=1;$kj<=$war_max_num;$kj++)
	{
		if ($kj<=$war_max_num) {
			//计算攻方总伤害和总防御;
			include("gon_processing1.php");
			//计算防守方总伤害和总防御;
			include("boss_processing1.php");
		
		
		//存入攻方临时攻击
		$gon_all_power_ls=$gon_all_power;
		if ($kj==1) {
			//记录攻方第一次伤害
			$gon_all_power_first=$gon_all_power;
		}
		//存入防守方临时攻击
		$boss_all_power_ls=$boss_all_power;
		
		if ($boss_now_num<1||$gon_now_num<1) {
			break;
		}
		
		//////////////////////攻方打防守方//////////////////////
		$kf=0;
		$last_power_temp_ls=0;
		//减防后剩于伤害值
		$last_power_temp=(int)($gon_all_power_ls-$boss_all_comm);
			//如果小于等于0,不破防不死兵;								
			if ($last_power_temp>0) {
				$end_i=0;
				//计算有几种士兵;$gon_soldier_num_temp士兵数数组
				$boss_num=count($boss_soldier_num_temp);
				//循环开始;
				while ($kf<$boss_now_num)
				{
					//每个士兵种类应该分以的伤害为(int)($last_power_temp/$fang_now_num);
					$last_power_temp=$last_power_temp-$last_power_temp_ls;
					if ($last_power_temp_ls<>0) $last_power_temp_ls=0;
					if ($last_power_temp<1 || $boss_now_num<1) 
					{
						break;
					}else {
						$power_one=(int)($last_power_temp/$boss_now_num);
						if ($power_one<1) break;
					}
					for ($i=0;$i<$boss_num;$i++)
					{
						if ($power_one<$boss_soldier_one_life[$i]) {
							$end_i+=1;
						}else {
							if ($boss_soldier_num_temp[$i]>0)//如果此兵种还有士兵的话
							{		
								//死亡士兵公式:(int)($power_one/$fang_soldier_one_life[$i])
								$dear_num=(int)($power_one/$boss_soldier_one_life[$i]);
									
								//如果现有兵数减去死亡兵数大于0,减去对应兵数,总伤害减少;
								if ($boss_soldier_num_temp[$i]-$dear_num>0) {
									$last_power_temp_ls=$last_power_temp_ls+$dear_num*$boss_soldier_one_life[$i];
									$boss_soldier_num_temp[$i]=$boss_soldier_num_temp[$i]-$dear_num;
								}else {
									//如果现有兵数减去死亡兵数小于或等于0,对应兵数为0,减少相应总伤减害;
									$last_power_temp_ls=$last_power_temp_ls+$boss_soldier_num_temp[$i]*$boss_soldier_one_life[$i];
									$boss_soldier_num_temp[$i]=0;
									$boss_now_num-=1;												
								}
							} else $end_i+=1;
						}
					}
					$kf++;
				}
				//循环结束;
			}
			
		////////////////////////攻方打守方结束/////////////////////////
		

⌨️ 快捷键说明

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