All pastes #835810 Raw Edit

d

public text v1 · immutable
#835810 ·published 2007-12-29 01:26 UTC
rendered paste body
#!/usr/bin/python
# -*- coding: utf-8 -*-

import pygame
import sys

pygame.init()


class Mario:

  def __init__(self):
    self.x = 20
    self.y = 20
    self.image = pygame.image.load('images/mario.gif').convert_alpha()
    self.leMoteur = Moteur() ## Ce que tu me dit de faire si j'ai bien compris, mais ca donne :
     # File "./mario_Yoann512.py", line 16, in __init__
   # self.leMoteur = Moteur()
#  File "./mario_Yoann512.py", line 33, in __init__
  #  self.mario = Mario()


  def move(self, direction):
    if direction == 'gauche' and self.x > 0 : self.x-=1
    if direction == 'droite' and (self.x + self.image.get_width()) < leMoteur.screenX : self.x+=1 # erreur ici a screenX 

  def jump(self):
    print "proot"

class Moteur:

  def __init__(self):
    self.screenX = 640
    self.screenY = 480
    self.screen = pygame.display.set_mode((self.screenX, self.screenY))
    pygame.display.set_caption('Mario 512')
    pygame.key.set_repeat(1, 1)
    self.mario = Mario()
    self.boucle()

  def updateScreen(self):
    self.screen.fill((255, 255, 255))
    self.screen.blit(self.mario.image, (self.mario.x, self.mario.y))
    pygame.display.update()

  def bordureVerif(self):
    if self.mario.x < 0: self.mario.x
    if (self.mario.x + self.mario.image.get_width()) > self.screenX: self.mario.x = (self.screenX - self.mario.image.get_width()) - 1
    if self.mario.y < 0: self.mario.y = 1
    if (self.mario.y + self.mario.image.get_height()) > self.screenY: self.mario.y = (self.screenY - self.mario.image.get_height()) -1

  def exit(self):
    pygame.quit()
    sys.exit()

  def getEvents(self):
    for event in pygame.event.get():
      if event.type ==  pygame.QUIT: self.exit()
      elif event.type == pygame.KEYDOWN:
        if event.key == 27: self.exit()
        if event.key == 275: self.mario.move('droite')
        if event.key == 276: self.mario.move('gauche')
     	if event.key == 32: self.mario.jump()
     	
  def boucle(self):
    while 1:
      self.getEvents()
    #  self.bordureVerif()
      self.updateScreen()
    

m = Moteur()