php 简单的程序设计(轮流攻击)

php 简单的程序设计(轮流攻击),第1张

胡乱写了个简单程序,不过测试程序的时候发现,你的伤害计算有很大的问题。

上面说道:实际伤害=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高级程序设计模式框架与测试》百度网盘pdf最新全集下载:

链接:>pwd=uthw 提取码:uthw

简介:PHP高级程序设计:模式、框架与测试详细讲解了对他们为重要的主题:高级面向对象、设计模式、文档、测试和标准PHP库等内容。同时,为适应目前Web开发的新趋势,作者还全面探讨了MVC架构和Zend Framework,以及Ajax、JSON、SOAP等Web 20技术。  

php是一种通用开源脚本语言,PHP独特的语法吸收了C语言JavaPerl以及php自创的语法特点PHP语言学习的门槛不高,即使是零基础的同学,只要勤于动手实践,也能由入门到精通如果你是php语言的初学者,不妨和昌平北大青鸟小编了解一下Php是干什么用的,以及学习php从哪些方面入手学PHP就到昌平北大青鸟值得信赖

零基础到精通,新手应该如何学习PHP语言

Php的用途是什么

对于一个php门外汉来说,对php语言存在着较浅的认识,他会觉得php语言就是做网站的但是,更确切地说,php语言是网站后端开发以及后端处理的因为这是一项技能,所以在学习php语言之前,大有必要搞清楚它是做什么的,这一点非常重要!

php学习的框架

下面昌平北大青鸟小编对学习PHP的过程做一下概括:

(1)熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页

(2)理解动态语言的概念,运做机制,熟悉PHP语法

(3)学习如何将PHP与HTML结合起来完成简单动态页面

(4)接触MYSQL,设计数据库程序

(5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,模板

(6)建立一个功能齐全的动态站点

这整个的学习过程是循序渐进的过程,就拿html来说,只有当你先学会了制作网页,才能为之后建立网站打下基础

学习php语言会遇到的问题

对于一个零基础的php初学者来说,学习过程难免会碰到各种各样的问题,昌平北大青鸟小编在此特别做出说明

就以html学习为例,在学习过程比较常见的问题就是,看了手册中的各种概念,但是回想起来概念相当模糊和零碎然而,php语言的学习并非知识型的,而是技能型的所以,对于手册里每一个标签,每一个属性都敲了一遍,看看它们的效果和反应,这样对概念的认识显然会更深刻一些像html和css的任何元素标记,这些都要亲自动手

另外,在自学的过程中,一个人的视野是有限的,因而仍然需要找些教程视频来看观看这些视频,你可以发现自己学习当中的遗漏和未曾注意的细节问题像学习html的一样,一定要克服惰性,最好建立一个文本,专门用于记录不懂的一些问题,这样有利于你继续前进

搞点项目开发

编程在刚接触有会有些新鲜感,但是接下来就是一些乏味感,因而需要寻找一些刺激搞点项目开发,当你发现编程可以解决生活实际问题,将获得满满的成就感,这也你继续学习的动力源泉之一当你学会HTML的时候,就可以编好几个大表格排板的网页;当你学会PHP,就可以把一加一的运算写在函数里,然后调用啦当然,最好做一个留言板,和helloworldPK一下!

以上就是关于php 简单的程序设计(轮流攻击)全部的内容,包括:php 简单的程序设计(轮流攻击)、《PHP高级程序设计模式框架与测试》pdf下载在线阅读全文,求百度网盘云资源、昌平北大青鸟分享新手应该如何学习PHP语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9392294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存