两个都适合。更适合的话,我怕被打,弱弱的说一句php,php7效率高,php就是为了web而生。python偏脚本比较多,python跟php两兄弟咯,php效率高一点咯
胡乱写了个简单程序,不过测试程序的时候发现,你的伤害计算有很大的问题。
上面说道:实际伤害=A部队攻击力-B部队防御力
那么攻击最高的骑兵攻击是30,打在防最低为5的弓兵身上,那么伤害等于30-5=25,这里倒是没多大问题,但是又看
实际伤害/B部队单位血量=本次攻击杀死敌兵数量,余数进位
那么杀死弓兵的数量就等于25/200=0125 按余数进位也就是1而已 0125已经是里面最大的伤害了,所以造成每次无论任意兵种攻击任意兵种,死亡的单位都是1
附程序(没怎么思考,期待楼下更精简的算法):
<php
//初始化团队
$team_a=array(
"5"=>set_c("军团A骑兵甲","cavalry"),
"11"=>set_c("军团A弓兵甲","archer"),
"14"=>set_c("军团A弓兵乙","archer"),
"8"=>set_c("军团A步兵甲","infantry"),
"7"=>set_c("军团A步兵乙","infantry")
);
$team_b=array(
"8"=>set_c("军团B骑兵甲","cavalry"),
"9"=>set_c("军团B骑兵乙","cavalry"),
"13"=>set_c("军团B弓兵甲","archer"),
"5"=>set_c("军团B步兵甲","infantry"),
"10"=>set_c("军团B步兵乙","infantry")
);
//按速度对团队进行排序
$team_a=spe_sort($team_a);
$team_b=spe_sort($team_b);
//初始化战斗单位
function set_c($name,$type){
//初始化兵种 infantry 步兵 archer弓兵 cavalry骑兵,兵种=>(攻,防,HP,速度,数量)
$arm=array(
"infantry"=>array("tak"=>20,"def"=>10,"hp"=>250,"spe"=>"20|24","amo"=>120),
"archer"=>array("tak"=>25,"def"=>5,"hp"=>200,"spe"=>"25|27","amo"=>100),
"cavalry"=>array("tak"=>30,"def"=>15,"hp"=>300,"spe"=>"28|30","amo"=>80)
);
$d=$arm[$type];
$d["name"]=$name;
$spe=explode("|",$d["spe"]);
$d["spe"]=rand($spe[0],$spe[1]);
return $d;
}
//速度排序
function spe_sort($array){
foreach($array as $key => $value)
{
$temp[$key] = $value['spe'];
}
arsort($temp);
foreach($temp as $key => $value)
{
$result[$key] = $array[$key];
}
return $result;
}
//战斗函数 $active=攻击团队 $passive=被攻击团队
function fight($active,$passive){
//目标选择规则
$targeting=array(7,4,10,1,13,8,5,11,2,14,9,6,12,3,15);
foreach($active as $k=>$a)
{ foreach($targeting as $t)
{
if(isset($passive[$t]))
{
$hurt=$active[$k]["tak"]-$passive[$t]["def"];
$kill=ceil($hurt/$passive[$t]["hp"]);
$passive[$t]["amo"]=$passive[$t]["amo"]-$kill;
echo "<font color='#0000FF'>"$active[$k]["name"]"</font> 攻击了 <font color='#0000FF'>" $passive[$t]["name"] "</font>,共伤害<font color='#ff000'> $hurt </font>点,杀死<font color='#ff000'> $kill </font>个单位剩余"$passive[$t]["amo"]"个单位</br>";
if( $passive[$t]["amo"]<=0)
{
echo "×<font color='#ff000'>"$passive[$t]["name"]"</font>被消灭了!</br>";
unset($passive[$t]);
if(!count($passive)){echo "<font color='#ff000'>该军团已全军覆没!战斗结束</font>"; die();}
}
break;
}
}
}
echo "-------------------本回合结束,换对方攻击-------------------</br>";
fight($passive,$active);
}
echo "战斗开始!</br>";
fight($team_a,$team_b);
>
对于进阶我们首先需要明白它是建立在PHP基础上而进行升华的,它不单单是高级的内容,而是我们对于PHP开发程序原理的深入理解,再到对网站的性能优化、微服务、网站架构、高并发问题解决方案、团队管理等一系列学习内容。
在不同的时期进阶学习的内容也不一样,所以需要把握当下的基础,然后去针对每个时期应该学习和具备的内容,一步一步的进阶上去,这样才是稳扎稳打的。就像一套军体拳,打出该有的作用就可以,而不是一味的去注重华丽的动作。
初期
在初期我们应该把PHP基础打扎实,下层基础决定上层建筑。在这个时期我们应该注重项目实战、编程思考、开发模式、实用功能开发。
需要学习:PHP基础语法、PHP扩展、面向对象、MySQL *** 作、linux环境编译安装(例如:lnmp、lamp)、常用框架(例如:laravel、tp)、常用设计模式、PSR开发规范、项目封装等
中期
在这个阶段我们应该开始注重项目开发后的性能,对开发过程的原理分析,对于网络编程要开始学习准备了。自己可尝试重构代码。开发自己需要的组件功能
需要学习:框架的底层原理、缓存数据库的 *** 作Memcache,Redis,Mongodb)、MySQL优化、PHP底层原理实现机制、服务器优化、网络模型、io模型、集群搭建、主从复制与读写分离等
后期
在这个时期,基本上你的技术能力都已经具备的很充分,这个时期我们应该从项目网站的整体架构和公司的业务线,以及人员管理、自身领导力入手。这个时期更加注重管理和规划的能力。
需要学习:微服务的架构设计,高并发的解决方案。项目网站的技术选项、团队人员协调、团队问题解决等。
综上,需要把握每个时期的核心关键要求,切记不要太过的去分散精力,这样你是具备可持续发展的
觉得有感悟,欢迎在线咨询
以上就是关于简单的PHP小程序全部的内容,包括:简单的PHP小程序、php 简单的程序设计(轮流攻击)、php该怎样进阶等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)