LoginSignup
0
2

More than 3 years have passed since last update.

Python  エモクロアTRPG基本キャラステータスランダム作成プログラム

Last updated at Posted at 2021-03-21

先日発表された無料オンライン向けTRPG
エモクロアTRPGのキャラクターランダム生成プログラムをPythonで組んでみました
エモクロアTRPGのPC複雑なパラメータ持たないため下記の内容で組みました

今回のコードは全ステータスをD6(6面ダイス)で値を決める動きを想定していますが
パラメータをすべて振り切るものではありません
あくまですべての値をD6を振って出目合計が25以下のパターンを設定する想定です

やってることとしてはD6を8回ふって出目の合計が25以下のパターンを出力するというシンプルなもので
25点あるステータスポイントを全部振り切るプログラムではないというのがミソ

使用環境     Python3.9.1
コーディング環境 IDLE3.9

randomcharacter.py
import random

bol = True

while bol:
    sintai = random.randint(1,6)
    kiyou = random.randint(1,6)
    seisin = random.randint(1,6)
    gokan = random.randint(1,6)
    tiryoku = random.randint(1,6)
    miryoku = random.randint(1,6)
    syakai = random.randint(1,6)
    unsei = random.randint(1,6)
    goukei = sintai +kiyou +seisin +gokan +tiryoku +miryoku +syakai +unsei
    if goukei <= 25:
        bol = False
print("身体"+str(sintai))
print("器用"+str(kiyou))
print("精神"+str(seisin))
print("五感"+str(gokan))
print("知力"+str(tiryoku))
print("魅力"+str(miryoku))
print("社会"+str(syakai))
print("運勢"+str(unsei))
print("HP"+str(sintai+10))
print("MP"+str(seisin+tiryoku))

(追記)プログラムを再利用しやすいように改良しました。
改良版では25点完全にふりきる形にしています(ループ抜ける条件変えただけですが)

randomcharacter.py
import random

def rnd_char():
    dataheder = ('身体 : ','器用 : ','精神 : ','五感 : ','知力 : ','魅力 : ','社会 : ','運勢 : ','HP   : ','MP   : ')

    bol = True

    while bol:
        data = list()
        for i in range(8):
            data.append(random.randint(1,6))

        if sum(data) == 25:
            bol = False
    i = 0
    for st in dataheder:
        if i < 8:
            print(st + str(data[i]))
        if i == 8:
            print(st+str(data[0]+10))
        if i == 9:
            print(st+str(data[2]+data[4]))
        i += 1

rnd_char()

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2