Игры на Питоне? Ну вот зачин для двумерных "танчиков". Причем там только самое начало, примитивная танкетка просто ездит вверх-вниз-вправо-влево в зависимости от нажатия кнопок на клавиатуаре. Никаких препятствий на пути которые нужно объезжать, выстрелов по врагам и взрывов при попадании пока не реализовано
from pygame import *
class Tank:
def __init__(self,direction,x,y,left,top,width,height):
global sprites
self.x = x
self.y = y
self.speed = (0, 0)
self.health = 100
self.direction = direction
self.image = sprites.subsurface(left, top, width, height)
self.initial_image = sprites.subsurface(left, top, width, height)
def draw(self):
global screen
screen.blit(self.image,(self.x,self.y))
class Game:
def __init__(self):
global sprites, screen
init()
display.set_caption("Battle Sity")
screen = display.set_mode((480,416))
self.clock = time.Clock()
sprites = image.load("images/sprites.gif")
self.player = Tank(0,100,100,0,0,25,25)
def draw(self):
global screen
screen.fill([0,0,0])
self.player.draw()
display.flip()
def start(self):
while True:
time_passed = self.clock.tick(40)
for e in event.get():
if e.type == QUIT:
quit()
elif e.type == KEYDOWN:
if e.key == K_LEFT:
self.player.speed = (-1, 0)
self.player.image = transform.rotate(self.player.initial_image,90)
if e.key == K_RIGHT:
self.player.speed = (1, 0)
self.player.image = transform.rotate(self.player.initial_image,-90)
if e.key == K_UP:
self.player.speed = (0, -1)
self.player.image = self.player.initial_image
if e.key == K_DOWN:
self.player.speed = (0, 1)
self.player.image = transform.rotate(self.player.initial_image,180)
elif e.type == KEYUP:
self.player.speed = (0, 0)
self.player.x += self.player.speed[0]
self.player.y += self.player.speed[1]
self.draw()
screen = None
sprites = None
game = Game()
game.start()