а я вот нашёл в такой код из двух файлов и вобщем понял его:
первый файл main.py:
#! /usr/bin/python
# -*- coding: utf-8 -*-
import pygame
import directions
class Game():
x = 100
y = 100
speed = 3
keymap = {
pygame.K_LEFT : directions.LEFT,
pygame.K_UP : directions.UP,
pygame.K_RIGHT : directions.RIGHT,
pygame.K_DOWN : directions.DOWN
}
def __init__(self):
#Initial window settings
pygame.init()
pygame.display.set_mode((640, 480))
pygame.display.set_caption('I\'m super cool Python programmer')
self.run()
def run(self):
while True:
self.track_input(pygame.event.get())
pygame.display.get_surface().fill(pygame.Color(0, 0, 0, 0))
block = pygame.Surface((10, 10))
block.fill(pygame.Color(255, 255, 255, 0))
pygame.display.get_surface().blit(block, (self.x, self.y));
pygame.display.flip()
def track_input(self, events):
for event in events:
#Exit
if event.type == pygame.QUIT:
exit(0)
if event.type == pygame.KEYDOWN and event.key in self.keymap.keys() and self.keymap[event.key] in directions.DIRECTIONS:
self.move(self.keymap[event.key])
def move(self, direction):
movement = {
directions.UP : [self.x, self.y-self.speed],
directions.RIGHT : [self.x+self.speed, self.y],
directions.DOWN : [self.x, self.y+self.speed],
directions.LEFT : [self.x-self.speed, self.y]
}
self.x, self.y = movement[direction]
if __name__ == "__main__":
Game()
второй файл directions.py:
#! /usr/bin/python
# -*- coding: utf-8 -*-
if __name__ == "__main__":
exit(0)
UP = 0
RIGHT = 1
DOWN = 2
LEFT = 3
DIRECTIONS = [UP, RIGHT, DOWN, LEFT]
VERTICAL = [UP, DOWN]
HORIZONTAL = [LEFT, RIGHT]
задача такая:
сделать такой же исходник только в одном файле и без словаря как нибудь
подскажите