たまこんブログ

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

かつらキャッチpart2 (落ちゲー)

前回のを改良、そしてこの本から得たことをもとに、パロディーゲームを作りました!
内容としては、落ちてくる自分のアイコンにかつらをはめます。



tamakon3.hatenablog.com


Pythonで作るゲーム開発入門講座

  • 目次

実行結果

f:id:tamakon3:20200423215024g:plain

プログラム解説

import tkinter
import tkinter.messagebox
key=""
def key_down(e):    #キーが押された時に行う処理
    global key
    key=e.keysym    #keysymには押されたキーの情報が入る
def key_up(e):      #キーが離された時に行う処理
    global key
    key=""          #キーが離された時、キーの情報を空にする
x=400   #アイコンのx座標の初期位置
y=280   #アイコンのy座標の初期位置

katuraX=600  #かつらのx座標の初期位置
katuraY=5   #かつらのy座標の初期位置

def mainA():
    global x,y

    if key=="Left":
        x=x-20
    if key=="Right":
        x=x+20
    canvas.coords("MYCHR",x,y)
    root.after(100,mainA)

def KATURA():
    global katuraX,katuraY
   
    if katuraY==265:  #かつらのy座標が265で
        if x==280 :   #アイコンのx座標が280ならば
            canvas.update()
            tkinter.messagebox.showinfo("おめでとう!","でかした!")   #メッセージを表示
   

    katuraY=katuraY+20
    if katuraY > 400:      #かつらのy座標が画面からはずれたら
        katuraY=5  
       
    katuraX=280
    
    canvas.coords("katuraCHR",katuraX,katuraY)
    root.after(100,KATURA)


    

root=tkinter.Tk()
root.title("かつら返せ")
root.bind("<KeyPress>",key_down)    #keyが押された時に行う処理を指定。
root.bind("<KeyRelease>",key_up)    #keyが離された時に行う処理を指定。
canvas=tkinter.Canvas(width=600,height=400,bg="lightgreen")
canvas .pack()
img=tkinter.PhotoImage(file="kk_100.png")   #画像の読み込み
katuraimg=tkinter.PhotoImage(file="katura.png") #画像の読み込み

canvas.create_image(x,y,image=img,tag="MYCHR")
canvas.create_image(katuraX,katuraY,image=katuraimg,tag="katuraCHR")
mainA()
KATURA()


    

感想

これをもっと改良して、よりおもしろくしていきます!