PROGRAM PYTHON

Pythonスクリプト【スレッドを使ったバトルロワイアル】

 

 

スレッドを使ってバトルロワイアルを作ろう

今回は前回作った戦闘シミュレーションを改造して、3人以上で戦うバトルロワイアルのプログラムを作りましょう。

 

実行イメージ

3人のプレイヤーが自動で自分以外の相手を攻撃して、最後までHP(ヒットポイント)が残っていた人が勝ちになります。
プレイヤーのパラメーターは、HP、攻撃力、敏捷性がランダムで設定されます。
ターン制ではないので、敏捷性の値が高ければ早く攻撃ができるようになり、場合によっては連続して攻撃します。

 実行例
C:\>python battle2-1.py
戦士A HP[29] 攻撃力[12] 敏捷性[19]
戦士B HP[84] 攻撃力[ 9] 敏捷性[ 6]
戦士C HP[48] 攻撃力[ 6] 敏捷性[ 8]
戦士Aは戦士Bに14のダメージ
→ 戦士Bの残HP[70]
戦士Cは戦士Bに16のダメージ
→ 戦士Bの残HP[54]
戦士Bは戦士Aに14のダメージ
→ 戦士Aの残HP[15]
戦士Aは戦士Cに13のダメージ
→ 戦士Cの残HP[35]
戦士Cは戦士Aに14のダメージ
→ 戦士Aの残HP[1]
戦士Bは戦士Cに16のダメージ
→ 戦士Cの残HP[19]
戦士Aは戦士Cに16のダメージ
→ 戦士Cの残HP[3]
戦士Aは戦士Cに16のダメージ
→ 戦士Cの残HP[0]
戦士Bは戦士Aに14のダメージ
→ 戦士Aの残HP[0]
++ 戦士Bの勝利! ++

 

Pythonスクリプト

今回のPythonスクリプトは、以下のようになります。
前回との違いは、動いているスレッドからMainスレッドを除外した配列を作り、その配列の並びをシャッフルして攻撃する相手をランダムに選択するようにしています。
敏捷性が低いと自分が攻撃する間もなく、他の相手に攻撃されて終了することもあります。

 

 

-PROGRAM, PYTHON
-