たまこんブログ

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

簡単でおもしろいゲームを作る

この本から得たことをもとに、クソゲーをつくりました。
内容としては、自分のアイコンにかつらをはめます。


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

  • 目次

実行結果

f:id:tamakon3:20200423084347g: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=295   #アイコンのy座標の初期位置

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

def mainA():
    global x,y

    if key=="Up":   #upのキーが押されたら
        y=y-20      #キャラクターのy座標を-20
    if key=="Down":
        y=y+20
    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 katuraX==x:  #かつらとアイコンのx座標が一致したならば
        if katuraY==100 and y==115: #かつらのy座標が100で尚且アイコンのy座標が115ならば
            canvas.update()
            tkinter.messagebox.showinfo("おめでとう!","でかした!")   #メッセージを表示
    katuraX=katuraX-20      #かつらのx座標を常に-20する
    if katuraX < -200:      #かつらのx座標が画面からはずれたら
        katuraX=600       #かつらのx座標を600-5にもどす
    katuraY=100
    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()

感想

この本には、ゲームをつくる基礎や、プログラミングについて
初心者でもわかりやすいように書いてあるので作りやすかったです!
これをもっと改良して、よりおもしろくしていきます。