Mi juego hecho en pygame.

Iniciado por braulio--, 2 Julio 2009, 18:56 PM

0 Miembros y 1 Visitante están viendo este tema.

braulio--

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.
Código (python) [Seleccionar]

#!/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

Freeze.

Bueno, lamento que nadie haya mirado este post..

Este juego tiene valor, te lo digo por experiencia propia.
Tal vez muchos lo vean como... "Este no es CS, COD 5 o Warcracft" pero es muy bueno haber hecho un juego asi sea en 2D..
El paso más importante es el primero... sin él los demas no podrian darse.

Te felicito ;) Sin embargo debes mejorar algunas ideas como la del movimiento de los obstaculos y un poco más de dificultad.

rockernault

no lo lamentes.. que lo intento correr...   ::)






braulio--

Gracias, proximamente acabaré uno que trata que con el puntero tienes que escapar de unos muñecos,
lo postearé.