1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

異世界転生!? 能力値ジェネレーターVer1.0

Posted at

概要

 久々の投稿になりますが、正直毒にも薬にもならないクソコードです。
あと、可読性も終わってるしグローバル関数まで堂々と使っているという…。
 うーん、この。
要はネタプログラムなんで、改良を加えるのはモチベ次第という事で。
こんなコードを作った自分が情けないです…(´;ω;`)

異世界転生能力値ジェネレーター.py
import random

class Job:
    def set_data(self,set_job):
        self.job=set_job

    def print_data(self):
        print(f"職業は{self.job}です。")

job_print=Job()
job_print.set_data('勇者')

job_print2=Job()
job_print2.set_data('魔法使い')

job_print3=Job()
job_print3.set_data('戦士')

job_print4=Job()
job_print4.set_data('僧侶')

def title():
    print("<<<異世界転生!? 能力値ジェネレーター>>>")

def entry():
    global name
    global num
    #名前入力
    name=str(input("名前を入力してください>>>"))
    
    #戦闘数値の根幹になる数値を入力
    num=int(input("数値を入力してください(1~9)>>>"))
    if num<1 or num>9:
        print("やり直し!")
        main()
    else:
        calc()

def calc():
    #補正値
    global param_num
    rand_num=int(random.randint(1,100))
    
    #付加値
    add_num=int(random.randint(1,100))
    
    #能力値計算式
    param_num=num*rand_num*100+add_num

    #能力値の表示
    print(f"{name}の能力値は、{param_num}です。")

    if param_num>80000:
        print(f"す、凄い!\n{name}の能力は十分に強い!")
        print(f"「わぁ~、スゲ~!!」")
    if rand_num>=10 and rand_num<20:
        print(f"{name}の属性は火だ")
    elif rand_num>=20 and rand_num<40:
        print(f"{name}の属性は水だ")
    elif rand_num>=40 and rand_num<60:
        print(f"{name}の属性は土だ")
    elif rand_num>=60 and rand_num<80:
        print(f"{name}の属性は風だ")
    elif rand_num>=80:
        print(f"{name}の属性は光だ")
    else:
        print(f"{name}の属性は無だ")

def job():
    if param_num>=50000:
        job_print.print_data()
    elif param_num<50000 and param_num>=40000:
        job_print2.print_data()
    elif param_num<40000 and param_num>=30000:
        job_print3.print_data()
    elif param_num<30000 and param_num>=20000:
        job_print4.print_data()
    else:
        print(f"地道に農作物を耕すなどして働きましょう")
def main():
    title()
    entry()
    job()

main()

使用画面

 基本ターミナルで動かすテキスト形式です。

スクリーンショット 2025-05-02 183548.png

作ってみた正直な感想

 正直、ネタで作ったと言っていますが、ネタだとしてもダダ滑りの寒~いやつなんで…。
今後改良するのであれば、他の部分のクラス・インスタンス化をして、役職もいろいろ増やしてみるのがいいかなぁなんて思ってます。
 それではまた今度!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?