午前4時前・・・今日ももちろん仕事です、
プログラミングにはまっちゃうとやばいですね
さて、今日のところは詳しく書きませんが、以下の設定で1000回戦うコードを作りました(何万回でも良いですが)
勝率およそ63%くらいでした
かなり高いと思いますので、ドラクエ1に詳しい方いらっしゃいましたらご指導お願い致します
"""
基礎データ
ゆうしゃ(Lv18を想定)
HP115
MP100
こうげきとベホイミのみ
こうげき 6~12のランダム
ベホイミ 85~100のランダム
りゅうおう
HP130
こうげき 24~48
ほのお 42~48
こうげきとほのおの確率を半分とする
ルーチーン
HP49以上ならこうげき
HP48以下になったらMPが尽きるまでベホイミで回復
"""
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
""" | |
基礎データ | |
ゆうしゃ | |
HP115 | |
MP100 | |
こうげきとベホイミのみ | |
こうげき 6~12のランダム | |
ベホイミ 85~100のランダム | |
りゅうおう | |
HP130 | |
こうげき 24~48 | |
ほのお 42~48 | |
確率半分とする | |
ルーチーン | |
HP49以上ならこうげき | |
HP48以下になったらMPが尽きるまでベホイミで回復 | |
""" | |
import random | |
kati = 0 | |
make = 0 | |
for i in range(1000): | |
myHP =115 | |
myMP = 100 | |
HP = 130 | |
syouhiMP = 10 | |
turn = 1 | |
try: | |
while HP > 0: | |
print("ターン"+str(turn)) | |
turn += 1 | |
if myHP >48: | |
print("ゆうしゃ のこうげき") | |
damage = random.randint(6,12) | |
print (" りゅうおうに " + str(damage) + " のダメージ") | |
HP -= damage | |
if HP <= 0: | |
print("りゅうおうを たおした!") | |
kati +=1 | |
raise Exception | |
elif myHP >0: | |
if myMP >= 10: | |
behoimi = random.randint(85,100) | |
print ("ゆうしゃ は ベホイミのじゅもんを となえた!") | |
myHP += behoimi | |
myMP -= syouhiMP | |
if myHP >115: | |
myHP =115 | |
else: | |
damage = random.randint(6,12) | |
print (" りゅうおうに " + str(damage) + " のダメージ") | |
HP -= damage | |
if HP <= 0: | |
print("りゅうおうを たおした!") | |
kati +=1 | |
raise Exception | |
ryucommand = random.randint(0,1) | |
if ryucommand == 0: | |
mydamage = random.randint(24,48) | |
print("りゅうおうの こうげき") | |
print("ゆうしゃ は"+str(mydamage)+"のダメージを うけた!") | |
myHP -= mydamage | |
elif ryucommand == 1: | |
mydamage = random.randint(42,48) | |
print("りゅうおうは ほのおをはいた!") | |
print("ゆうしゃ は"+str(mydamage)+"のダメージを うけた!") | |
myHP -= mydamage | |
print(HP) | |
print(myHP) | |
if myHP < 0: | |
print ("ゆうしゃは しんでしまった!") | |
make +=1 | |
raise Exception | |
except Exception: | |
print (kati) | |
print (make) |
---------------
出力例
ターン1
ゆうしゃ のこうげき
りゅうおうに 7 のダメージ
りゅうおうの こうげき
ゆうしゃ は47のダメージを うけた!
ターン2
ゆうしゃ のこうげき
りゅうおうに 11 のダメージ
りゅうおうの こうげき
ゆうしゃ は40のダメージを うけた!
ターン3
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうの こうげき
ゆうしゃ は44のダメージを うけた!
ターン4
ゆうしゃ のこうげき
りゅうおうに 7 のダメージ
りゅうおうの こうげき
ゆうしゃ は34のダメージを うけた!
ターン5
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうは ほのおをはいた!
ゆうしゃ は45のダメージを うけた!
105
70
ターン6
ゆうしゃ のこうげき
りゅうおうに 11 のダメージ
りゅうおうは ほのおをはいた!
ゆうしゃ は43のダメージを うけた!
94
27
ターン7
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうに 6 のダメージ
りゅうおうは ほのおをはいた!
ゆうしゃ は46のダメージを うけた!
88
69
ターン8
ゆうしゃ のこうげき
りゅうおうに 7 のダメージ
りゅうおうの こうげき
ゆうしゃ は43のダメージを うけた!
ターン9
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうは ほのおをはいた!
ゆうしゃ は45のダメージを うけた!
81
70
ターン10
ゆうしゃ のこうげき
りゅうおうに 6 のダメージ
りゅうおうの こうげき
ゆうしゃ は25のダメージを うけた!
ターン11
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうの こうげき
ゆうしゃ は46のダメージを うけた!
ターン12
ゆうしゃ のこうげき
りゅうおうに 10 のダメージ
りゅうおうの こうげき
ゆうしゃ は30のダメージを うけた!
ターン13
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうの こうげき
ゆうしゃ は26のダメージを うけた!
ターン14
ゆうしゃ のこうげき
りゅうおうに 7 のダメージ
りゅうおうの こうげき
ゆうしゃ は33のダメージを うけた!
ターン15
ゆうしゃ のこうげき
りゅうおうに 12 のダメージ
りゅうおうは ほのおをはいた!
ゆうしゃ は42のダメージを うけた!
46
14
ターン16
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうに 8 のダメージ
りゅうおうの こうげき
ゆうしゃ は37のダメージを うけた!
ターン17
ゆうしゃ のこうげき
りゅうおうに 7 のダメージ
りゅうおうは ほのおをはいた!
ゆうしゃ は44のダメージを うけた!
31
26
ターン18
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうの こうげき
ゆうしゃ は41のダメージを うけた!
ターン19
ゆうしゃ のこうげき
りゅうおうに 11 のダメージ
りゅうおうの こうげき
ゆうしゃ は41のダメージを うけた!
ターン20
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうの こうげき
ゆうしゃ は42のダメージを うけた!
ターン21
ゆうしゃ のこうげき
りゅうおうに 12 のダメージ
りゅうおうは ほのおをはいた!
ゆうしゃ は44のダメージを うけた!
8
29
ターン22
ゆうしゃ は ベホイミのじゅもんを となえた!
りゅうおうは ほのおをはいた!
ゆうしゃ は48のダメージを うけた!
8
67
ターン23
ゆうしゃ のこうげき
りゅうおうに 9 のダメージ
りゅうおうを たおした!
kati637
make363
<<< りゅうおうを倒すまでの攻撃回数【Python】if文,while文
0 件のコメント:
コメントを投稿