100000²ó¥â¥ó¥Æ¥«¥ë¥í¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò¹Ô¤Ã¤Æ»»½Ð¤·¤¿·ë²Ì¤òµºÜ¡£
¥Õ¥·¥®¥Ð¥Ê¤Ï¥²¥ó¥¬¡¼¤Î°ìÊýŪ¤ÊÆÍÇË¡¢¥²¥ó¥¬¡¼¤Ï¥Õ¥·¥®¥Ð¥Ê¤È¤Î£±ÂУ±¸ò´¹¡¢¤¢¤ï¤è¤¯¤Ð°ìÊýŪ¤ËÅݤ¹¤Î¤òÁÀ¤¦¡£
| 50 | ¥Õ¥·¥®¥Ð¥Ê | ¤Í¤à¤ê¤´¤Ê | 3 | ¤ä¤É¤ê¤®¤Î¥¿¥Í | 3 | ¤á¤¶¤á¤ë¥Ñ¥ï¡¼ | 3 | ¤³¤¦¤´¤¦¤»¤¤ | 3 | ¤¤»¤¤Î¤ß | BDFF | 63- 0-63-63-63 |
| 50 | ¥²¥ó¥¬¡¼ | ¤¯¤í¤¤¤Þ¤Ê¤¶¤· | 3 | ¤Û¤í¤Ó¤Î¤¦¤¿ | 3 | ¤«¤ß¤Ê¤ê | 3 | ¤ß¤Á¤Å¤ì | 3 | ¤Õ¤·¤®¤Ê¤¤Î¤ß | 1FFF | 63- 0-63-63-63 |
| »ö¾Ý | À¸µ¯³ÎΨ | Êä |
|---|---|---|
| ¥Õ¥·¥®¥Ð¥Ê¤¬°ìÊýŪ¤Ë¥²¥ó¥¬¡¼¤òÅݤ¹³ÎΨ | 62.460% | - |
| ¥Õ¥·¥®¥Ð¥Ê¤¬¥²¥ó¥¬¡¼¤È£±ÂУ±¸ò´¹¤¹¤ë³ÎΨ | 0.781% | ÌǤӥ¿¡¼¥ó¤¬1¤ò·Þ¤¨¤ëÁ°¤Î¤â¤Î¤Î¤ß¥«¥¦¥ó¥È |
| ¥²¥ó¥¬¡¼¤¬ÌǤӥ¿¡¼¥ó£±¤Þ¤ÇÇ´¤ë³ÎΨ | 36.759% | ¸òÂå¤Ç°ìÊýŪ¤ËÌǤ¹¤«¡¢µïºÂ¤Ã¤Æ£±ÂУ±¸ò´¹¤¹¤ë¤«¤ÎÁªÂò¸¢¤¬¥²¥ó¥¬¡¼Â¦¤Ë¤¢¤ë |
¥Ý¥±¥â¥ó¶â¶ä¤Ç¡¢Ê¬´ô¤¬Â¿¤¹¤®¤Æ¿ÍÎϤǷ׻»¤·¤¤ì¤Ê¤¤¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ °Ê²¼¤Ë¤Ä¤¤¤Æ¡¢¶µ¤¨¤Æ¤¤¤¿¤À¤±¤Þ¤¹¤«¡© ¢£Á°Äó¾ò·ï ¡¦¥Õ¥·¥®¥Ð¥ÊÂÐ¥²¥ó¥¬¡¼ ¡¦³Æ¥¿¡¼¥ó¤ÇÀè¤Ëư¤¯¤Î¤Ï¥²¥ó¥¬¡¼ ¡¦¥Õ¥·¥®¥Ð¥Ê¤Ï¡¢Ì²¤êÊ´¡ÊÌ¿ÃæÎ¨75%¡¢Ì²¤ê¾õÂ֤ˤʤë¤È£±¡Á£´¥¿¡¼¥ó¤Î´Öµ»¤òÂǤƤʤ¯¤Ê¤ë¡Êư¤±¤Ê¤¯¤Ê¤ë¥¿¡¼¥ó¿ô¤Ï¤½¤ì¤¾¤ì25%¡Ë¡Ë¤ÈÌܳФá¤ë¥Ñ¥ï¡¼É¹¡ÊÌ¿ÃæÎ¨100%¡¢HP166¤Î¥²¥ó¥¬¡¼¤ËÂФ·¤Æ¡¢6.6%¤Î³ÎΨ¤ÇµÞ½ê¤ËÆþ¤ê¤½¤Î»þ¤ÏºÇÂç74¤Î¥À¥á¡¼¥¸¡¢¤½¤ì°Ê³°¤ÏºÇÂç38¤Î¥À¥á¡¼¥¸¤Ç¡¢ºÇÂçÃÍ*255/255¡Á217/255¤ÎÈϰϤǥÀ¥á¡¼¥¸¤¬ÊÑÆ°¡Ê¾®¿ôÅÀ°Ê²¼ÀÚ¤ê¼Î¤Æ¡Ë¡Ë ¡¦¥Õ¥·¥®¥Ð¥Ê¤Ï¡¢ÌǤӤβΤ¬¤«¤«¤ëÁ°¡¢Ì²¤êÊ´¤Ç¥²¥ó¥¬¡¼¤¬Ì²¤Ã¤Æ¤¤¤ë»þ¤Ë¡¢¥²¥ó¥¬¡¼¤¬½ÉÌÚ¾õÂ֤Ǥʤ±¤ì¤Ð½ÉÌڤμï¤ò»È¤¦¡£½ÉÌڤμï¤ò»È¤¦¤È¡¢¥²¥ó¥¬¡¼¤ÎHP¤¬¥²¥ó¥¬¡¼¤Îµ»¤ò»È¤Ã¤¿¸å¤Ë20¸º¤ë¡£½ÉÌڤμï¤ÎÌ¿ÃæÎ¨¤Ï90%¤Ç³°¤ì¤ë¤³¤È¤¬¤¢¤ë¡£ ¡¦¥²¥ó¥¬¡¼¤Ï¡¢¹õ¤¤´ãº¹¤·¤ò»È¤Ã¤Æ¤«¤éÌǤӤβΤò»È¤¦¡£ÌǤӤβΤò»È¤¦¤È¡¢»È¤Ã¤¿¥¿¡¼¥ó¤ÎºÇ¸å¡Ê¤ª¸ß¤¤¤Ëµ»¤ò»È¤Ã¤¿¸å¡Ë¤Ë¥«¥¦¥ó¥È£³¡¢¼¡¤Î¥¿¡¼¥ó¤Ë¥«¥¦¥ó¥È£²¡¢¤½¤Î¼¡¤Î¥¿¡¼¥ó¤Ë¥«¥¦¥ó¥È£±¡¢¤½¤·¤Æ¤½¤Î¼¡¤Î¥¿¡¼¥ó¤Ë¥«¥¦¥ó¥È£°¤Ë¤Ê¤ê¤ª¸ß¤¤¤ËÅݤì¤ë¡£ ¡¦¥²¥ó¥¬¡¼¤Ï¡¢ÌǤӤβΤò»È¤Ã¤¿¸å¡¢Ë西¡¼¥óƻϢ¤ì¤ò»È¤¦¡£Æ»Ï¢¤ì¤ò»È¤Ã¤¿¸å¤ËÌܳФá¤ë¥Ñ¥ï¡¼É¹¤Î¥À¥á¡¼¥¸¤Ç¥²¥ó¥¬¡¼¤ÎHP¤¬0¤Ë¤Ê¤ë¤È¡¢¥Õ¥·¥®¥Ð¥Ê¤ÎHP¤â0¤Ë¤Ê¤ë¡£½ÉÌڤμï¤Î¥À¥á¡¼¥¸¤ÇÅݤ줿¾ì¹ç¤Ï¥Õ¥·¥®¥Ð¥Ê¤ÎHP¤Ï0¤Ë¤Ê¤é¤Ê¤¤¡£ ¢£Î©¤Á²ó¤ê ¡¦¥Õ¥·¥®¥Ð¥Ê¤Ï¡¢ÌǤӤβΤ¬¤«¤«¤Ã¤Æ¤Ê¤¯¤Æ¥²¥ó¥¬¡¼¤¬Ì²¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð̲¤êÊ´¡¢ÌǤӤβΤ¬¤«¤«¤Ã¤Æ¤Ê¤¯¤Æ¥²¥ó¥¬¡¼¤¬Ì²¤Ã¤Æ¤¤¤Æ½ÉÌڤμ郎¤«¤«¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð½ÉÌڤμ¤½¤ì°Ê³°¤ÏÌܳФá¤ë¥Ñ¥ï¡¼É¹¤Ç¹¶·â¤¹¤ë¡£ ¡¦¥²¥ó¥¬¡¼¤Ï¡¢¹õ¤¤´ãº¹¤·¤ò»È¤Ã¤Æ¤Ê¤±¤ì¤Ð¹õ¤¤´ãº¹¤·¡¢ÌǤӤβΤò»È¤Ã¤Æ¤¤¤Ê¤±¤ì¤ÐÌǤӤβΡ¢¤½¤ì°Ê³°¤ÏƻϢ¤ì¤ò»È¤¦¡£ ¡¦¥²¥ó¥¬¡¼¤Ë½ÉÌÚ¤¬Æþ¤Ã¤Æ¤¤¤ë¡¢¤«¤ÄÌǤӥ«¥¦¥ó¥È£³¡¢¤«¤Ä¥²¥ó¥¬¡¼¤ÎHP¤¬40°Ê²¼¤Î¾ì¹ç¡¢¥Õ¥·¥®¥Ð¥Ê¤Ï²¿¤â¤·¤Ê¤¤¡Ê¼ÂºÝ¤Ï̲¤êÊ´¤«½ÉÌÚ¤òÁªÂò¡Ë ¡¦¥²¥ó¥¬¡¼¤Ë½ÉÌÚ¤¬Æþ¤Ã¤Æ¤¤¤ë¡¢¤«¤ÄÌǤӥ«¥¦¥ó¥È£²¡¢¤«¤Ä¥²¥ó¥¬¡¼¤ÎHP¤¬20°Ê²¼¤Î¾ì¹ç¡¢¥Õ¥·¥®¥Ð¥Ê¤Ï²¿¤â¤·¤Ê¤¤¡Ê¼ÂºÝ¤Ï̲¤êÊ´¤«½ÉÌÚ¤òÁªÂò¡Ë ¢£¡ÊÊä¡ËΩ¤Á²ó¤ê¤Î°Õ¿Þ ¡¦¥Õ¥·¥®¥Ð¥Ê¤Ï¡¢¥²¥ó¥¬¡¼¤ò°ìÊýŪ¤ËÅݤ»¤½¤¦¤Ê¤é¤½¤ì¤òÁÀ¤¤¡¢¤½¤ì¤¬ÌµÍý¤Ê¤éÌǤӤβΤǥ«¥¦¥ó¥È¤¬£±¤Ë¤Ê¤ëÁ°¤ËÌܳФá¤ë¥Ñ¥ï¡¼É¹¤Î¥À¥á¡¼¥¸¤Ç¥²¥ó¥¬¡¼¤òÅݤ·¤Æ¥²¥ó¥¬¡¼¤ËƻϢ¤ì¤µ¤ì¤ë¤Î¤òÌܻؤ¹¡£ ¡¦¥²¥ó¥¬¡¼¤Ï¤½¤ì¤òËɤ°¤Î¤¬ÌÜŪ¤È¤Ê¤ë¡£ ¢£µá¤á¤¿¤¤³ÎΨ ¡¥Õ¥·¥®¥Ð¥Ê¤¬¥²¥ó¥¬¡¼¤ò°ìÊýŪ¤ËÅݤ¹³ÎΨ ¢¥Õ¥·¥®¥Ð¥Ê¤¬ÌǤӤβΤǥ«¥¦¥ó¥È¤¬£±¤Ë¤Ê¤ëÁ°¤ËÌܳФá¤ë¥Ñ¥ï¡¼É¹¤Î¥À¥á¡¼¥¸¤Ç¥²¥ó¥¬¡¼¤òÅݤ·¤Æ¥²¥ó¥¬¡¼¤ËƻϢ¤ì¤µ¤ì¤ë³ÎΨ £¾åµ°Ê³°¤Î³ÎΨ ¡¡¢¨£¤Î¥±¡¼¥¹¤Ï¡¢¼ÂÀï¤Ç¤Ï¡Ö¥²¥ó¥¬¡¼¤¬¸òÂå¤Çƨ¤²¤Æ¡¢¥Õ¥·¥®¥Ð¥Ê¤À¤±¤¬Åݤì¤ë³ÎΨ¡×¤È¤Ê¤ë ¢£¡ÊÊä¡˼«Á°¤Î¥Ä¡¼¥ë¤Ç¥â¥ó¥Æ¥«¥ë¥í¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤·¤Ê¤¤Íýͳ ¡¦¼«Á°¤ÎÈÆÍѤΥâ¥ó¥Æ¥«¥ë¥í¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Î¥Ä¡¼¥ë¤Ç¤Ï¡¢¢¤Î¥±¡¼¥¹¤È£¤Î¥±¡¼¥¹¤ò½ÔÊ̤¹¤ë¤Î¤¬º¤Æñ¡£
[paiza.IO>>https://paiza.io/ja/projects/new]
¼Â¹Ô·ë²Ì¤Î¥³¥á¥ó¥È¤Î¤ß¡¢É®¼Ô¤¬Äɵ¤·¤¿¡£
import random
def simulate_one():
g_hp = 166
v_hp = 100
g_sleep = 0
g_seeded = False
g_mean_look = False
g_perish = False
perish_count = None
destiny_active = False
while True:
# --- Gengar turn ---
if g_sleep > 0:
g_sleep -= 1
destiny_active = False
else:
if not g_mean_look:
g_mean_look = True
destiny_active = False
elif not g_perish:
g_perish = True
perish_count = 3
destiny_active = False
else:
destiny_active = True # ƻϢ¤ì
# Leech Seed damage after Gengar acts
if g_seeded:
g_hp -= 20
if g_hp <= 0:
return "venusaur_wins"
# --- Venusaur turn ---
if v_hp <= 0:
return "other"
# ¡úÄɲþò·ï¡§Æ»Ï¢¤ì²óÈò¤Î¤¿¤á¤Î¡Ö²¿¤â¤·¤Ê¤¤¡×¥¿¡¼¥ó
if g_seeded and perish_count == 3 and g_hp <= 40:
# ½ÉÌÚ + ÌǤÓ3 + HP40°Ê²¼ ¢ª ¤á¤¶É¹¤ò·â¤¿¤Ê¤¤
pass
elif g_seeded and perish_count == 2 and g_hp <= 20:
# ½ÉÌÚ + ÌǤÓ2 + HP20°Ê²¼ ¢ª ¤á¤¶É¹¤ò·â¤¿¤Ê¤¤
pass
else:
# ¥Õ¥·¥®¥Ð¥Ê¤Î¹ÔưÁªÂò¡Ê¸µ¤Î¥í¥¸¥Ã¥¯¡Ë
if (not g_perish) and (g_sleep == 0):
# ̲¤êÊ´
if random.random() < 0.75:
g_sleep = random.choice([1,2,3,4])
elif (not g_perish) and (g_sleep > 0) and (not g_seeded):
# ½ÉÌڤμï
if random.random() < 0.9:
g_seeded = True
else:
# ¤á¤¶¥Ñɹ
crit = random.random() < 0.066
base_max = 74 if crit else 38
rand = random.randint(217, 255)
dmg = (base_max * rand) // 255
g_hp -= dmg
if g_hp <= 0:
if destiny_active:
v_hp = 0
if perish_count is None or perish_count > 1:
return "mutual_ko_by_hp"
else:
return "other"
else:
return "venusaur_wins"
# --- Perish Song count ---
if perish_count is not None:
perish_count -= 1
if perish_count == 0:
return "other"
def estimate_probs(n=100000):
from collections import Counter
c = Counter(simulate_one() for _ in range(n))
total = sum(c.values())
return {
"P1_venusaur_wins": c["venusaur_wins"] / total,
"P2_mutual_ko_by_hp": c["mutual_ko_by_hp"] / total,
"P3_other": c["other"] / total,
}
result = estimate_probs()
print(result) # {'P1_venusaur_wins': 0.6246, 'P2_mutual_ko_by_hp': 0.00781, 'P3_other': 0.36759}
# ²«¶â½ê»ý¡ÊHP196¡Ë¤Ç¤âÂ纹̵¤·¡Ê{'P1_venusaur_wins': 0.59151, 'P2_mutual_ko_by_hp': 0.0238, 'P3_other': 0.38469}¡Ë
¡Ê¡Ö¥²¥ó¥¬¡¼¤¬ÌǤӥ¿¡¼¥ó£±¤Þ¤ÇÇ´¤ë³ÎΨ¡×¤¬100%¤Ë¤Ê¤ë¡Ë
| »ö¾Ý | À¸µ¯³ÎΨ | Êä |
|---|---|---|
| ¥Õ¥·¥®¥Ð¥Ê¤¬°ìÊýŪ¤Ë¥²¥ó¥¬¡¼¤òÅݤ¹³ÎΨ | 57.116% | - |
| ¥Õ¥·¥®¥Ð¥Ê¤¬¥²¥ó¥¬¡¼¤È£±ÂУ±¸ò´¹¤¹¤ë³ÎΨ | 1.209% | ÌǤӥ¿¡¼¥ó¤¬1¤ò·Þ¤¨¤ëÁ°¤Î¤â¤Î¤Î¤ß¥«¥¦¥ó¥È |
| ¥²¥ó¥¬¡¼¤¬ÌǤӥ¿¡¼¥ó£±¤Þ¤ÇÇ´¤ë³ÎΨ | 41.675% | ¸òÂå¤Ç°ìÊýŪ¤ËÌǤ¹¤«¡¢µïºÂ¤Ã¤Æ£±ÂУ±¸ò´¹¤¹¤ë¤«¤ÎÁªÂò¸¢¤¬¥²¥ó¥¬¡¼Â¦¤Ë¤¢¤ë |
¥Õ¥·¥®¥Ð¥Ê¤¬ÌܳФá¤ë¥Ñ¥ï¡¼É¹¤Ç¤Ï¤Ê¤¯Íդäѥ«¥Ã¥¿¡¼¤Ç¹¶·â¤¹¤ë¾ì¹ç¤Î¥³¡¼¥É¤â¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤¹¤«¡© Íդäѥ«¥Ã¥¿¡¼¤Î¥À¥á¡¼¥¸¤Ï¡¢95¡ó¤Î³ÎΨ¤ÇÌ¿Ãæ¡Ê³°¤ì¤¿¾ì¹ç¤Ï¥À¥á¡¼¥¸0¡Ë¡¢Ì¿Ãæ»þ¤ËµÞ½êȽÄê¤È¥À¥á¡¼¥¸¤ÎÍð¿ô²½¤¬¹Ô¤ï¤ì¡¢µÞ½ê»þ¤ÇºÇÂç45¡¢Ä̾ï»þ¤ÏºÇÂç23¡¢µÞ½êΨ25¡ó¤Ç¤¹¡£
import random
def simulate_one():
g_hp = 196
v_hp = 100
g_sleep = 0
g_seeded = False
g_mean_look = False
g_perish = False
perish_count = None
destiny_active = False
while True:
# --- Gengar turn ---
if g_sleep > 0:
g_sleep -= 1
destiny_active = False
else:
if not g_mean_look:
g_mean_look = True
destiny_active = False
elif not g_perish:
g_perish = True
perish_count = 3
destiny_active = False
else:
destiny_active = True # ƻϢ¤ì
# Leech Seed damage after Gengar acts
if g_seeded:
g_hp -= 20
if g_hp <= 0:
return "venusaur_wins"
# --- Venusaur turn ---
if v_hp <= 0:
return "other"
# ¡úÄɲþò·ï¡§Æ»Ï¢¤ìµñÈݤΤ¿¤á¤Î¡Ö²¿¤â¤·¤Ê¤¤¡×¥¿¡¼¥ó
if g_seeded and perish_count == 3 and g_hp <= 40:
pass
elif g_seeded and perish_count == 2 and g_hp <= 20:
pass
else:
# ¥Õ¥·¥®¥Ð¥Ê¤Î¹ÔưÁªÂò
if (not g_perish) and (g_sleep == 0):
# ̲¤êÊ´
if random.random() < 0.75:
g_sleep = random.choice([1,2,3,4])
elif (not g_perish) and (g_sleep > 0) and (not g_seeded):
# ½ÉÌڤμï
if random.random() < 0.9:
g_seeded = True
else:
# ¡úÍդäѥ«¥Ã¥¿¡¼¡Ê¤á¤¶É¹¤ÎÂå¤ï¤ê¡Ë
# Ì¿ÃæÈ½Äê
if random.random() < 0.95:
# µÞ½êȽÄê
crit = random.random() < 0.25
base_max = 45 if crit else 23
rand = random.randint(217, 255)
dmg = (base_max * rand) // 255
else:
dmg = 0 # ³°¤ì¤¿¾ì¹ç
g_hp -= dmg
if g_hp <= 0:
if destiny_active:
v_hp = 0
if perish_count is None or perish_count > 1:
return "mutual_ko_by_hp"
else:
return "other"
else:
return "venusaur_wins"
# --- Perish Song count ---
if perish_count is not None:
perish_count -= 1
if perish_count == 0:
return "other"
def estimate_probs(n=100000):
from collections import Counter
c = Counter(simulate_one() for _ in range(n))
total = sum(c.values())
return {
"P1_venusaur_wins": c["venusaur_wins"] / total,
"P2_mutual_ko_by_hp": c["mutual_ko_by_hp"] / total,
"P3_other": c["other"] / total,
}
result = estimate_probs()
print(result) # {'P1_venusaur_wins': 0.57116, 'P2_mutual_ko_by_hp': 0.01209, 'P3_other': 0.41675}
# ²«¶â½ê»ý¡ÊHP196¡Ë¤Ç¤âÂ纹̵¤·¡Ê{'P1_venusaur_wins': 0.53677, 'P2_mutual_ko_by_hp': 0.00996, 'P3_other': 0.45327}¡Ë

¤³¤Î¥Ú¡¼¥¸¤Ø¤Î¥³¥á¥ó¥È
¡ÖÄɵ¡§¥Õ¥·¥®¥Ð¥Ê¤Î¹¶·âµ»¤¬¥«¥Ã¥¿¡¼¤Î¾ì¹ç¡×¤òÄɵ¤·¤Þ¤·¤¿
°Ê²¼¤Î¾ò·ï¤òÄɲä·¤Þ¤·¤¿¡£
¡¦¥²¥ó¥¬¡¼¤Ë½ÉÌÚ¤¬Æþ¤Ã¤Æ¤¤¤ë¡¢¤«¤ÄÌǤӥ«¥¦¥ó¥È£³¡¢¤«¤Ä¥²¥ó¥¬¡¼¤ÎHP¤¬40°Ê²¼¤Î¾ì¹ç¡¢¥Õ¥·¥®¥Ð¥Ê¤Ï²¿¤â¤·¤Ê¤¤¡Ê¼ÂºÝ¤Ï̲¤êÊ´¤«½ÉÌÚ¤òÁªÂò¡Ë
¡¦¥²¥ó¥¬¡¼¤Ë½ÉÌÚ¤¬Æþ¤Ã¤Æ¤¤¤ë¡¢¤«¤ÄÌǤӥ«¥¦¥ó¥È£²¡¢¤«¤Ä¥²¥ó¥¬¡¼¤ÎHP¤¬20°Ê²¼¤Î¾ì¹ç¡¢¥Õ¥·¥®¥Ð¥Ê¤Ï²¿¤â¤·¤Ê¤¤¡Ê¼ÂºÝ¤Ï̲¤êÊ´¤«½ÉÌÚ¤òÁªÂò¡Ë
·ë²Ì¤Ï°Ê²¼¤Î¤è¤¦¤ËÊѤï¤ê¤Þ¤·¤¿¡£
# {'P1_venusaur_wins': 0.57587, 'P2_mutual_ko_by_hp': 0.05866, 'P3_other': 0.36547}
¢
# {'P1_venusaur_wins': 0.6246, 'P2_mutual_ko_by_hp': 0.00781, 'P3_other': 0.36759}