Доброго времени суток друзья, ни как не могу написать код который бы не позволял игроку проходить сквозь стены!
Как можно это реализовать? Ниже примитивный скрипт игры для того что бы Вы смогли показать пример на нём!
Как можно это реализовать? Ниже примитивный скрипт игры для того что бы Вы смогли показать пример на нём!
Python:
from tkinter import *
tk = Tk()
tk.title('Game')
canvas = Canvas(tk, width = 500, height = 500, bg = 'white')
canvas.pack()
class Game:
def __init__(self):
self.run = 1
tk.bind('<Key>', self.keypress)
self.list_keypress = []
tk.protocol('WM_DELETE_WINDOW', self.exit)
def key(self, code, function):
self.list_keypress.append([code, function])
def keypress(self, event):
key = event.keycode
for content in self.list_keypress:
k , f = content
if key == k:
f()
def rect(self, position= (0,0), border = (0,0), fill = '', outline = '#000'):
x, y = position
bx, by = border
self.body = (x, y, bx+x, by+y)
p = canvas.create_rectangle(self.body, outline = '#000', fill = fill)
return p
def start(self):
while self.run:
canvas.update()
def exit(self):
self.run = 0
tk.destroy()
game = Game()
play = game.rect(position= (100, 100), border = (30,30), fill = '#fd658d')
box1 = game.rect(position= (150, 150), border = (50,50))
box2 = game.rect(position= (50, 150), border = (50,50))
box3 = game.rect(position= (150, 50), border = (50,50))
game.key(code =87 , function = lambda: canvas.move(play, 0, -15))
game.key(code = 83, function = lambda: canvas.move(play, 0, 15))
game.key(code = 65, function = lambda: canvas.move(play, -15, 0))
game.key(code = 68, function = lambda: canvas.move(play, 15, 0))
game.start()