たまこんブログ

学生×プログラミング→2020年3月ブログ開設!趣味の一環でPythonでつくったゲーム や自分が読んで役に立った 本、知識などを紹介しています!

fizzbuzzゲームの応用

この記事で紹介している本から学んだことを応用してゲームを作ってみました。
本で紹介されているゲームとは逆のルールとなっています。



tamakon3.hatenablog.com

  • 目次

ゲームルール

  • fizとbuzの数字を当ててください。
  • 3〜10までの数字の間にあります。
  • 初級から上級までの難易度が選べます。
  • 50個数字が出ますので、その中から推測してください。

実行する

ここにソースを貼り付けるとPythonがなくても実行できます。
colab.research.google.com

プログラム解説

import random                       #ランダムモジュールを読み込む
def fizbuz():
    while True:                     #無限ループ開始
        fiz=random.randint(3,10)    #fizを乱数でつくる
        buz=random.randint(3,10)    #buzを乱数でつくる
        key=0                       #keyの値を0にする
        level=1                     #levelに1を代入する
        print("fizとbuzを当てください!fizとbuzは3から10の間です")
        print("難易度を入力してください。1は初心者、2は中級者、3は上級者、0で終了")    #難易度を入力させる
        level =input()
        level=int(level)
        if(level==1):               #1が入力された時の処理
            start_number=1
        elif(level==2):             #2が入力された時の処理
            start_number=50         
        elif(level==3):             #3が入力された時の処理
            start_number=100        
        elif(level==0):             #0が入ると無限ループを終了させる
            print ("終了します")
            break
        else:                       #それ以外が入力された時の処理
            print("入力が間違っているので、初心者スタートです")
            start_number=1

        for i in range(start_number,start_number+50):   #fiz,buz表示のループ
            if i%fiz == 0 and i%buz==0:  #iをfizとbuzで割ったあまりが0ならば
                print ("フィズバズ")                             
            elif i % fiz==0:             #iをfizで割ったあまりが0ならば
                print("フィズ")                          
            elif i % buz ==0:
                print("バズ")
            else:                         #fizでもbuzでもなければ、iを表示
                print(i)
              
        print("fizを入力してください")       #クイズモード開始
        key =input()                      #key入力を受け付ける  
        key=int(key)
        if(key==fiz):                     #押されたキーがfizだったら
            print ("正解です")  
        else: 
            print("ハズレです")

        print("fizは",fiz,"です")
                                          #buzを聞く
        print("buzを入力してください")       
        key =input()
        key=int(key)
        if(key==buz):                     #buzだった時の処理
            print ("正解です")   
        else:
            print("ハズレです")

        print("buzは",buz,"です")
fizbuz()

fizzbuzzゲームとは
ja.wikipedia.org