import pygame
from pygame.locals import *
class Player:
def __init__(self,scr):
self.rect = pygame.Rect(0,0,40,10)
self.color = (0, 255, 128)
self.rect.center = (160,200)
self.scr = scr
def DrawImage(self):
pygame.draw.rect(self.scr,self.color,self.rect)
def SetPos(self, x, y):
self.rect.topleft = (x,y)
def MoveKeyin(self):
keyin = pygame.key.get_pressed()
mx = 0
if keyin[K_LEFT]:mx = -2
if keyin[K_RIGHT]:mx = 2
if self.scr.get_rect().contains(self.rect.move(mx,0)):
self.rect.move_ip(mx,0)
class Ball:
def __init__(self,scr):
self.rect = pygame.Rect(0,0,10,10)
self.color = (255,128,0)
self.rect.center = (160,100)
self.scr = scr
self.scrRect = scr.get_rect()
self.vx = 2
self.vy = -2
def DrawImage(self):
pygame.draw.ellipse(self.scr,self.color,self.rect)
def SetPos(self, x, y):
self.rect.topleft = (x,y)
def Move(self):
mr = self.rect.move(self.vx, self.vy)
if self.scrRect.right < mr.right or self.scrRect.left > mr.left:
self.vx = -self.vx
if self.scrRect.bottom < mr.bottom or self.scrRect.top > mr.top:
self.vy = -self.vy
self.rect.move_ip(self.vx, self.vy)
def main():
pygame.init()
screen = pygame.display.set_mode( ( 320, 240))
pygame.display.set_caption('Class Replacement')
player = Player(screen)
ball = Ball(screen)
clock = pygame.time.Clock()
while 1:
clock.tick(60)
player.DrawImage()
ball.DrawImage()
pygame.display.flip()
screen.fill((0,0,0))
player.MoveKeyin()
ball.Move()
for event in pygame.event.get():
if event.type == QUIT:
return
if (event.type == KEYDOWN and
event.key == K_ESCAPE):
return
if __name__=='__main__':main()