首頁 > 後端開發 > php教程 > 一个php处理回合制PK过程的问题

一个php处理回合制PK过程的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 20:35:24
原創
1412 人瀏覽過

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

<code>游戏中就是你打我一下,我打你一下,两边都打完进如下一轮,现在是这样的。

左边是进攻方,先打

------------左边

人物A,人物B,人物C

------------右边

敌人A

PK过程是

人物A ---->攻击: 敌人A

敌人A ---->攻击: 人物A   (现在敌人攻击完了,左边没有攻击完)

人物B ---->攻击: 敌人A

人物C ---->攻击: 敌人A

==========到这里,一轮攻击就算完毕,进入下一轮PK===== 人物先手(即左边)

人物A ---->攻击: 敌人A

敌人A ---->攻击: 人物A   (现在敌人攻击完了,左边没有攻击完)

人物B ---->攻击: 敌人A

人物C ---->攻击: 敌人A

.....

比如双方的人物是由数组组成的。

//人物

$humen = array(

    1 => array(

        'name'=>'人物A'

        'is_attack'=>0,//表示本轮是否攻击过,到新一轮的时候就重置他

    ),

    2 => array(

        'name'=>'人物B',

        'is_attack'=>0,

    ),

    3 => array(

        'name'=>'人物C',

        'is_attack'=>0,    

    )

);

//敌人

$enemy= array(

    1 => array(

        'name'=>'敌人A',

        'is_attack'=>0,

    ),

);

最后实形成这样一个过程

<?php $process = array(

    0 => array(

        launch => 'left',

        attackor => 1, //人物A发起攻击

        hurt => array(0 => array('beattackors' => 1), //敌人A被攻击  beattackors 对应地方的数组索引

        )

    ),

    1 => array(

        launch => 'right',

        attackor => 1, //敌人A发起攻击

        hurt => array(0 => array('beattackors' => 1), //人物A被攻击  beattackors 对应地方的数组索引

        )

    ),

    2 => array(

        launch => 'left',

        attackor => 2, //人物B发起攻击

        hurt => array(0 => array('beattackors' => 1), //敌人A被攻击  beattackors 对应地方的数组索引

        )

    ), //到这里由于敌人已经攻击完了,但是本方还没有攻击完,继续left

    3 => array(

        launch => 'left',

        attackor => 3, //人物C发起攻击

        hurt => array(0 => array('beattackors' => 1), //攻击敌人A  beattackors 对应地方的数组索引

        )

    )

);

</code>

登入後複製
登入後複製

PHP怎么实现这个PK过程呢。

回复内容:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

<code>游戏中就是你打我一下,我打你一下,两边都打完进如下一轮,现在是这样的。

左边是进攻方,先打

------------左边

人物A,人物B,人物C

------------右边

敌人A

PK过程是

人物A ---->攻击: 敌人A

敌人A ---->攻击: 人物A   (现在敌人攻击完了,左边没有攻击完)

人物B ---->攻击: 敌人A

人物C ---->攻击: 敌人A

==========到这里,一轮攻击就算完毕,进入下一轮PK===== 人物先手(即左边)

人物A ---->攻击: 敌人A

敌人A ---->攻击: 人物A   (现在敌人攻击完了,左边没有攻击完)

人物B ---->攻击: 敌人A

人物C ---->攻击: 敌人A

.....

比如双方的人物是由数组组成的。

//人物

$humen = array(

    1 => array(

        'name'=>'人物A'

        'is_attack'=>0,//表示本轮是否攻击过,到新一轮的时候就重置他

    ),

    2 => array(

        'name'=>'人物B',

        'is_attack'=>0,

    ),

    3 => array(

        'name'=>'人物C',

        'is_attack'=>0,    

    )

);

//敌人

$enemy= array(

    1 => array(

        'name'=>'敌人A',

        'is_attack'=>0,

    ),

);

最后实形成这样一个过程

<?php $process = array(

    0 => array(

        launch => 'left',

        attackor => 1, //人物A发起攻击

        hurt => array(0 => array('beattackors' => 1), //敌人A被攻击  beattackors 对应地方的数组索引

        )

    ),

    1 => array(

        launch => 'right',

        attackor => 1, //敌人A发起攻击

        hurt => array(0 => array('beattackors' => 1), //人物A被攻击  beattackors 对应地方的数组索引

        )

    ),

    2 => array(

        launch => 'left',

        attackor => 2, //人物B发起攻击

        hurt => array(0 => array('beattackors' => 1), //敌人A被攻击  beattackors 对应地方的数组索引

        )

    ), //到这里由于敌人已经攻击完了,但是本方还没有攻击完,继续left

    3 => array(

        launch => 'left',

        attackor => 3, //人物C发起攻击

        hurt => array(0 => array('beattackors' => 1), //攻击敌人A  beattackors 对应地方的数组索引

        )

    )

);

</code>

登入後複製
登入後複製

PHP怎么实现这个PK过程呢。

按速度属性排列出来一个攻击顺序队列,攻击完成,出队列

$humen中增加计数属性,记录都有谁攻击过,且每个item中的人物增加血条值属性和is_alive属性,血没了is_alive置为false;

相關標籤:
php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板