Antes de nada, si quieren probarlo necesitarán el módulo de pygame.
Podrán encontrarlo
aquí.
Pues he programado este juego cuyo objetivo es llegar a la meta, que es el rectángulo blanco sin tocar los cuadrados negros.
#!/usr/bin/python
import pygame,random
from pygame.locals import *
pygame.init()
pygame.font.init()
font = pygame.font.SysFont("Courier New",15)
partidasperdidas,partidasganadas = 0,0
class pelota (pygame.sprite.Sprite):
def __init__(self,Screen):
pygame.sprite.Sprite.__init__(self)
self.Screen = Screen
self.image = pygame.image.load('pelota.png').convert_alpha()
self.rect = self.image.get_rect()
self.rect.x = 300
self.rect.y = 100
def update(self):
self.rect.x,self.rect.y = pygame.mouse.get_pos()
self.Screen.blit(self.image,(self.rect.x-2,self.rect.y-2))
class pared(pygame.sprite.Sprite):
def __init__(self,linea,larguez=20,estatica=0,color=(0,0,0)):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface([larguez,20])
self.image.fill(color)
self.rect = self.image.get_rect()
self.rect.x = 0
self.rect.y = linea
self.estatica = estatica
def update(self):
global screen
if self.estatica!=0:
screen.blit(self.image,(self.rect.x,self.rect.y))
return 0
lado = random.randint(1,2)
if lado==1:
self.rect.x +=10
if lado==2: self.rect.x-=10
if self.rect.x >=600:
self.rect.x = 0
if self.rect.y >=200: self.rect.y =0
if self.rect.x <= 0 : self.rect.x =600
if self.rect.y <=0 : self.rect.y==200
screen.blit(self.image,(self.rect.x,self.rect.y))
screen = pygame.display.set_mode((600,200))
pygame.display.set_caption("El mejor juego de la historia")
imagen = pygame.image.load('fondo.jpg')
Ball = pelota(screen)
listacajas = []
for number in range(30,180,30):
listacajas.append(pared(number))
grupo = pygame.sprite.Group()
for caja in listacajas:
grupo.add(caja)
Meta = pared(0,600,1,(255,255,255))
grupofinal = pygame.sprite.Group()
grupofinal.add(Meta)
running = 1
pygame.mouse.set_pos(300,199)
while running:
pygame.mouse.set_visible(False)
screen.blit(imagen,(0,0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = 0
break
grupofinal.update()
grupo.update()
Ball.update()
if len(pygame.sprite.spritecollide(Ball,grupo,0))>0:
partidasperdidas+=1
pygame.mouse.set_pos(300,199)
elif len(pygame.sprite.spritecollide(Ball,grupofinal,0))>0:
click = 1
partidasganadas+=1
lasletrasqueganan = font.render("Ganaste "+str(partidasganadas)+" veces y perdiste "+str(partidasperdidas)+" veces",True,(0,0,0))
while click:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
click = 0
if event.type == pygame.QUIT:
exit()
screen.blit(lasletrasqueganan,(200,100))
pygame.display.update()
pygame.mouse.set_pos(300,199)
pygame.display.flip()
Espero que os guste u os ayude.
Aquí el juego subido :
http://www.megaupload.com/?d=ENXBAKFN