daily pastebin goal
61%
SHARE
TWEET

Untitled

a guest Jan 20th, 2019 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from tkinter import *
  2. import random
  3. import time
  4.  
  5. class ボール:
  6.     def __init__(風, 画面, ラケット, 色):
  7.         風.画面 = 画面
  8.         風.ラケット = ラケット
  9.         風.符号 = 画面.create_oval(10, 10, 25, 25, fill=色)
  10.         風.画面.move(風.符号, 245, 100)
  11.         スタート = [-3, -2, -1, 1, 2, 3]
  12.         random.shuffle(スタート)
  13.         風.x = スタート[0]
  14.         風.y = -3
  15.         風.画面の高さ = 風.画面.winfo_height()
  16.         風.画面の幅 = 風.画面.winfo_width()
  17.         風.底に当たる = False
  18.  
  19.     def ラケットに当たる(風, 位置):
  20.         ラケットの位置 = 風.画面.coords(風.ラケット.符号)
  21.         if 位置[2] >= ラケットの位置[0] and 位置[0] <= ラケットの位置[2]:
  22.             if 位置[3] >= ラケットの位置[1] and 位置[3] <= ラケットの位置[3]:
  23.                 return True
  24.         return False
  25.  
  26.     def draw(風):
  27.         風.画面.move(風.符号, 風.x, 風.y)
  28.         位置 = 風.画面.coords(風.符号)
  29.         if 位置[1] <= 0:
  30.             風.y = 3
  31.         if 位置[3] >= 風.画面の高さ:
  32.             風.底に当たる = True
  33.         if 風.ラケットに当たる(位置) == True:
  34.             風.y = -3
  35.         if 位置[0] <= 0:
  36.             風.x = 3
  37.         if 位置[2] >= 風.画面の幅:
  38.             風.x = -3
  39.  
  40. class ラケット:
  41.     def __init__(風, 画面, 色):
  42.         風.画面 = 画面
  43.         風.符号 = 画面.create_rectangle(0, 0, 100, 10, fill=色)
  44.         風.画面.move(風.符号, 200, 300)
  45.         風.x = 0
  46.         風.画面の幅 = 風.画面.winfo_width()
  47.         風.画面.bind_all('<KeyPress-Left>', 風.turn_left)
  48.         風.画面.bind_all('<KeyPress-Right>', 風.turn_right)
  49.  
  50.     def draw(風):
  51.         風.画面.move(風.符号, 風.x, 0)
  52.         位置 = 風.画面.coords(風.符号)
  53.         if 位置[0] <= 0:
  54.             風.x = 0
  55.         elif 位置[2] >= 風.画面の幅:
  56.             風.x = 0
  57.  
  58.     def turn_left(風, evt):
  59.         風.x = -3
  60.  
  61.     def turn_right(風, evt):
  62.         風.x = 3
  63.  
  64. tk = Tk()
  65. tk.title("Game")
  66. tk.resizable(0, 0)
  67. tk.wm_attributes("-topmost", 1)
  68. 画面 = Canvas(tk, width = 500, height = 400, bd=0, highlightthickness=0)
  69. 画面.pack()
  70. tk.update()
  71.  
  72. ラケット = ラケット(画面, 'blue')
  73. ボール = ボール(画面, ラケット, 'red')
  74.  
  75. while True:
  76.     if ボール.底に当たる == False:
  77.         ボール.draw()
  78.         ラケット.draw()
  79.     tk.update_idletasks()
  80.     tk.update()
  81.     time.sleep(0.02)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top