from tkinter import *
import random
import time
class Ball:
def __init__(self, canvas, paddle, color):
self.canvas = canvas
self.paddle = paddle
self.id = canvas.create_oval(10, 10, 25, 25, fill=color)
self.canvas.move(self.id, 245, 100)
starts = [-3, -2, -1, 1, 2, 3]
random.shuffle(starts)
self.x = starts[0]
self.y = -3
self.canvas_height = self.canvas.winfo_height()
self.canvas_width = self.canvas.winfo_width()
self.hit_bottom = False
self.hit_count = 0
def hit_paddle(self, pos):
paddle_pos = self.canvas.coords(self.paddle.id)
if pos[2] >= paddle_pos[0] and pos[0] <= paddle_pos[2]:
if pos[3] >= paddle_pos[1] and pos[3] <= paddle_pos[3]:
self.x += self.paddle.x
return True
return False
def draw(self):
self.canvas.move(self.id, self.x, self.y)
pos = self.canvas.coords(self.id)
if pos[1] <= 0:
self.y = 3
if pos[3] >= self.canvas_height:
self.hit_bottom = True
if self.hit_paddle(pos) == True:
self.y = -3
self.hit_count += 1
print('Есть отбитие №', self.hit_count)
if pos[0] <= 0:
self.x = 3
if pos[2] >=self.canvas_width:
self.x = -3
class Paddle:
def __init__(self, canvas, color):
self.canvas = canvas
self.id = canvas.create_rectangle(0, 0, 110, 10, fill=color)
self.canvas.move(self.id, 200, 300)
self.x = 0
self.started = False
self.canvas_width = self.canvas.winfo_width()
self.canvas.bind_all('<KeyPress-Left>', self.turn_left)
self.canvas.bind_all('<KeyPress-Right>', self.turn_right)
self.canvas.bind_all('<Button-1>', self.start_game)
def turn_left(self, evt):
self.x = -2
def turn_right(self, evt):
self.x = 2
def start_game(self, evt):
self.started = True
def draw(self):
self.canvas.move(self.id, self.x, 0)
pos = self.canvas.coords(self.id)
if pos[0] <= 0:
self.x = 0
elif pos[2] >= self.canvas_width:
self.x = 0
tk = Tk()
tk.title('Игра')
tk.resizable(0, 0)
tk.wm_attributes('-topmost', 1)
canvas
= Canvas(tk, width
=500, height
=400, bd
=0, highlightthickness
=0)canvas.pack()
tk.update()
paddle = Paddle(canvas, 'blue')
ball = Ball(canvas, paddle, 'red')
game_over_text = canvas.create_text(250, 200, text='Game Over', state='hidden')
while 1:
if ball.hit_bottom == False and paddle.started == True:
ball.draw()
paddle.draw()
if ball.hit_bottom == True:
time.sleep(1)
canvas.itemconfig(game_over_text, state='normal')
tk.update_idletasks()
tk.update()
time.sleep(0.01)
ZnJvbSB0a2ludGVyIGltcG9ydCAqCmltcG9ydCByYW5kb20KaW1wb3J0IHRpbWUKCmNsYXNzIEJhbGw6CiAgICBkZWYgX19pbml0X18oc2VsZiwgY2FudmFzLCBwYWRkbGUsIGNvbG9yKToKICAgICAgICBzZWxmLmNhbnZhcyA9IGNhbnZhcwogICAgICAgIHNlbGYucGFkZGxlID0gcGFkZGxlCiAgICAgICAgc2VsZi5pZCA9IGNhbnZhcy5jcmVhdGVfb3ZhbCgxMCwgMTAsIDI1LCAyNSwgZmlsbD1jb2xvcikKICAgICAgICBzZWxmLmNhbnZhcy5tb3ZlKHNlbGYuaWQsIDI0NSwgMTAwKQogICAgICAgIHN0YXJ0cyA9IFstMywgLTIsIC0xLCAxLCAyLCAzXQogICAgICAgIHJhbmRvbS5zaHVmZmxlKHN0YXJ0cykKICAgICAgICBzZWxmLnggPSBzdGFydHNbMF0KICAgICAgICBzZWxmLnkgPSAtMwogICAgICAgIHNlbGYuY2FudmFzX2hlaWdodCA9IHNlbGYuY2FudmFzLndpbmZvX2hlaWdodCgpCiAgICAgICAgc2VsZi5jYW52YXNfd2lkdGggPSBzZWxmLmNhbnZhcy53aW5mb193aWR0aCgpCiAgICAgICAgc2VsZi5oaXRfYm90dG9tID0gRmFsc2UKICAgICAgICBzZWxmLmhpdF9jb3VudCA9IDAKICAgIGRlZiBoaXRfcGFkZGxlKHNlbGYsIHBvcyk6CiAgICAgICAgcGFkZGxlX3BvcyA9IHNlbGYuY2FudmFzLmNvb3JkcyhzZWxmLnBhZGRsZS5pZCkKICAgICAgICBpZiBwb3NbMl0gPj0gcGFkZGxlX3Bvc1swXSBhbmQgcG9zWzBdIDw9IHBhZGRsZV9wb3NbMl06CiAgICAgICAgICAgIGlmIHBvc1szXSA+PSBwYWRkbGVfcG9zWzFdIGFuZCBwb3NbM10gPD0gcGFkZGxlX3Bvc1szXToKICAgICAgICAgICAgICAgIHNlbGYueCArPSBzZWxmLnBhZGRsZS54CiAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgIHJldHVybiBGYWxzZQogICAgZGVmIGRyYXcoc2VsZik6CiAgICAgICAgc2VsZi5jYW52YXMubW92ZShzZWxmLmlkLCBzZWxmLngsIHNlbGYueSkKICAgICAgICBwb3MgPSBzZWxmLmNhbnZhcy5jb29yZHMoc2VsZi5pZCkKICAgICAgICBpZiBwb3NbMV0gPD0gMDoKICAgICAgICAgICAgc2VsZi55ID0gMwogICAgICAgIGlmIHBvc1szXSA+PSBzZWxmLmNhbnZhc19oZWlnaHQ6CiAgICAgICAgICAgIHNlbGYuaGl0X2JvdHRvbSA9IFRydWUKICAgICAgICBpZiBzZWxmLmhpdF9wYWRkbGUocG9zKSA9PSBUcnVlOgogICAgICAgICAgICBzZWxmLnkgPSAtMwogICAgICAgICAgICBzZWxmLmhpdF9jb3VudCArPSAxCiAgICAgICAgICAgIHByaW50KCfQldGB0YLRjCDQvtGC0LHQuNGC0LjQtSDihJYnLCBzZWxmLmhpdF9jb3VudCkKCiAgICAgICAgaWYgcG9zWzBdIDw9IDA6CiAgICAgICAgICAgIHNlbGYueCA9IDMKICAgICAgICBpZiBwb3NbMl0gPj1zZWxmLmNhbnZhc193aWR0aDoKICAgICAgICAgICAgc2VsZi54ID0gLTMKY2xhc3MgUGFkZGxlOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGNhbnZhcywgY29sb3IpOgogICAgICAgIHNlbGYuY2FudmFzID0gY2FudmFzCiAgICAgICAgc2VsZi5pZCA9IGNhbnZhcy5jcmVhdGVfcmVjdGFuZ2xlKDAsIDAsIDExMCwgMTAsIGZpbGw9Y29sb3IpCiAgICAgICAgc2VsZi5jYW52YXMubW92ZShzZWxmLmlkLCAyMDAsIDMwMCkKICAgICAgICBzZWxmLnggPSAwCiAgICAgICAgc2VsZi5zdGFydGVkID0gRmFsc2UKICAgICAgICBzZWxmLmNhbnZhc193aWR0aCA9IHNlbGYuY2FudmFzLndpbmZvX3dpZHRoKCkKICAgICAgICBzZWxmLmNhbnZhcy5iaW5kX2FsbCgnPEtleVByZXNzLUxlZnQ+Jywgc2VsZi50dXJuX2xlZnQpCiAgICAgICAgc2VsZi5jYW52YXMuYmluZF9hbGwoJzxLZXlQcmVzcy1SaWdodD4nLCBzZWxmLnR1cm5fcmlnaHQpCiAgICAgICAgc2VsZi5jYW52YXMuYmluZF9hbGwoJzxCdXR0b24tMT4nLCBzZWxmLnN0YXJ0X2dhbWUpCiAgICBkZWYgdHVybl9sZWZ0KHNlbGYsIGV2dCk6CiAgICAgICAgc2VsZi54ID0gLTIKICAgIGRlZiB0dXJuX3JpZ2h0KHNlbGYsIGV2dCk6CiAgICAgICAgc2VsZi54ID0gMgogICAgZGVmIHN0YXJ0X2dhbWUoc2VsZiwgZXZ0KToKICAgICAgICBzZWxmLnN0YXJ0ZWQgPSBUcnVlCgogICAgZGVmIGRyYXcoc2VsZik6CiAgICAgICAgc2VsZi5jYW52YXMubW92ZShzZWxmLmlkLCBzZWxmLngsIDApCiAgICAgICAgcG9zID0gc2VsZi5jYW52YXMuY29vcmRzKHNlbGYuaWQpCiAgICAgICAgaWYgcG9zWzBdIDw9IDA6CiAgICAgICAgICAgIHNlbGYueCA9IDAKICAgICAgICBlbGlmIHBvc1syXSA+PSBzZWxmLmNhbnZhc193aWR0aDoKICAgICAgICAgICAgc2VsZi54ID0gMAoKdGsgPSBUaygpCnRrLnRpdGxlKCfQmNCz0YDQsCcpCnRrLnJlc2l6YWJsZSgwLCAwKQp0ay53bV9hdHRyaWJ1dGVzKCctdG9wbW9zdCcsIDEpCmNhbnZhcyA9IENhbnZhcyh0aywgd2lkdGg9NTAwLCBoZWlnaHQ9NDAwLCBiZD0wLCBoaWdobGlnaHR0aGlja25lc3M9MCkKY2FudmFzLnBhY2soKQp0ay51cGRhdGUoKQoKcGFkZGxlID0gUGFkZGxlKGNhbnZhcywgJ2JsdWUnKQpiYWxsID0gQmFsbChjYW52YXMsIHBhZGRsZSwgJ3JlZCcpCmdhbWVfb3Zlcl90ZXh0ID0gY2FudmFzLmNyZWF0ZV90ZXh0KDI1MCwgMjAwLCB0ZXh0PSdHYW1lIE92ZXInLCBzdGF0ZT0naGlkZGVuJykKCndoaWxlIDE6CiAgICBpZiBiYWxsLmhpdF9ib3R0b20gPT0gRmFsc2UgYW5kIHBhZGRsZS5zdGFydGVkID09IFRydWU6CiAgICAgICAgYmFsbC5kcmF3KCkKICAgICAgICBwYWRkbGUuZHJhdygpCiAgICBpZiBiYWxsLmhpdF9ib3R0b20gPT0gVHJ1ZToKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgY2FudmFzLml0ZW1jb25maWcoZ2FtZV9vdmVyX3RleHQsIHN0YXRlPSdub3JtYWwnKQogICAgdGsudXBkYXRlX2lkbGV0YXNrcygpCiAgICB0ay51cGRhdGUoKQogICAgdGltZS5zbGVlcCgwLjAxKQ==
Main.java:1: error: class, interface, or enum expected
from tkinter import *
^
Main.java:1: error: <identifier> expected
from tkinter import *
^
Main.java:1: error: ';' expected
from tkinter import *
^
Main.java:2: error: '.' expected
import random
^
Main.java:3: error: '.' expected
import time
^
Main.java:5: error: '{' expected
class Ball:
^
Main.java:36: error: unclosed character literal
print('???? ??????? ?', self.hit_count)
^
Main.java:36: error: illegal character: '\u2116'
print('???? ??????? ?', self.hit_count)
^
Main.java:36: error: unclosed character literal
print('???? ??????? ?', self.hit_count)
^
Main.java:42: error: '{' expected
class Paddle:
^
Main.java:50: error: unclosed character literal
self.canvas.bind_all('<KeyPress-Left>', self.turn_left)
^
Main.java:50: error: unclosed character literal
self.canvas.bind_all('<KeyPress-Left>', self.turn_left)
^
Main.java:51: error: unclosed character literal
self.canvas.bind_all('<KeyPress-Right>', self.turn_right)
^
Main.java:51: error: unclosed character literal
self.canvas.bind_all('<KeyPress-Right>', self.turn_right)
^
Main.java:52: error: unclosed character literal
self.canvas.bind_all('<Button-1>', self.start_game)
^
Main.java:52: error: unclosed character literal
self.canvas.bind_all('<Button-1>', self.start_game)
^
Main.java:69: error: unclosed character literal
tk.title('????')
^
Main.java:69: error: unclosed character literal
tk.title('????')
^
Main.java:71: error: unclosed character literal
tk.wm_attributes('-topmost', 1)
^
Main.java:71: error: unclosed character literal
tk.wm_attributes('-topmost', 1)
^
Main.java:76: error: unclosed character literal
paddle = Paddle(canvas, 'blue')
^
Main.java:76: error: unclosed character literal
paddle = Paddle(canvas, 'blue')
^
Main.java:77: error: unclosed character literal
ball = Ball(canvas, paddle, 'red')
^
Main.java:77: error: unclosed character literal
ball = Ball(canvas, paddle, 'red')
^
Main.java:78: error: unclosed character literal
game_over_text = canvas.create_text(250, 200, text='Game Over', state='hidden')
^
Main.java:78: error: unclosed character literal
game_over_text = canvas.create_text(250, 200, text='Game Over', state='hidden')
^
Main.java:78: error: unclosed character literal
game_over_text = canvas.create_text(250, 200, text='Game Over', state='hidden')
^
Main.java:78: error: unclosed character literal
game_over_text = canvas.create_text(250, 200, text='Game Over', state='hidden')
^
Main.java:86: error: unclosed character literal
canvas.itemconfig(game_over_text, state='normal')
^
Main.java:86: error: unclosed character literal
canvas.itemconfig(game_over_text, state='normal')
^
Main.java:89: error: reached end of file while parsing
time.sleep(0.01)
^
31 errors