Bue , recien acabo de terminar mi primer juego en Pygame , para hacerlo me base en el famoso juego Rock Blaster hecho por Jeff Walters.
El juego trata de sobrevivir 1 minuto en un barrio peligroso , comienzan a llover ladrones armados por todos lados y el protagonista tiene una M4 con municion infinita.
A grandes rasgos el juego esta basado en la vida real solo que en este caso no todos tenemos una M4 xDDD.
Una imagen del juego :
EL codigo :
Para bajar el codigo con las imagenes o el juego compilado lo pueden hacer de aca.
El juego trata de sobrevivir 1 minuto en un barrio peligroso , comienzan a llover ladrones armados por todos lados y el protagonista tiene una M4 con municion infinita.
A grandes rasgos el juego esta basado en la vida real solo que en este caso no todos tenemos una M4 xDDD.
Una imagen del juego :
EL codigo :
Código (python) [Seleccionar]
#!usr/bin/python
#UrbanWar 0.1
#Coded By Doddy H in the year 2013
#My first game in Pygame
#Based in the game Rock Blaster made by Jeff Walters
#Thanks to Jeff Walters
import pygame
import sys,os,time
from pygame.locals import *
import random
tiempoportiro = 1
class theboss(pygame.sprite.Sprite):
def __init__(self,esto):
pygame.sprite.Sprite.__init__(self,self.mas)
self.image = pygame.image.load("archivos/ladron.gif")
self.rect = self.image.get_rect( center = (random.randint(0,860),0))
self.cada = esto
def update(self):
self.rect.move_ip(self.cada,3)
class protagonista(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self,self.mas)
self.image = pygame.image.load("archivos/protagonista.gif")
self.rect = self.image.get_rect(center = (860,640))
def update(self):
global tiempoportiro
if pygame.key.get_pressed()[K_LEFT]:
self.rect.move_ip(-5,0)
if pygame.key.get_pressed()[K_RIGHT]:
self.rect.move_ip(5,0)
if pygame.key.get_pressed()[K_SPACE] and tiempoportiro <= 0:
pygame.mixer.Sound("archivos/disparo.wav").play()
tiempoportiro = 25
cartucho(self.rect.midtop)
tiempoportiro -= 1
self.rect.clamp_ip(Rect(0,0,860,640))
class chau(pygame.sprite.Sprite):
def __init__(self, actor):
pygame.sprite.Sprite.__init__(self,self.mas)
self.image = pygame.image.load("archivos/explo.gif")
self.rect = self.image.get_rect(center=actor.rect.center)
self.tie = 10
def update(self):
self.tie = self.tie - 2
if self.tie <= 0:
self.kill()
class cartucho(pygame.sprite.Sprite):
def __init__(self,toyaca):
pygame.sprite.Sprite.__init__(self,self.mas)
self.image = pygame.image.load("archivos/bala.gif")
self.rect = self.image.get_rect(midbottom = toyaca)
def update(self):
self.rect.move_ip(-30,-50)
if not Rect(0,0,860,640).contains(self.rect):
self.kill()
pygame.init()
mil = 0
theboss_cadacuanto = 30
cro = pygame.time.Clock()
pantalla = pygame.display.set_mode((860,640),0,32)
#pantalla = pygame.display.set_mode((860,640),FULLSCREEN) # FULLSCREEN
fondo = pygame.image.load("archivos/callejon.jpg")
pygame.display.set_caption("UrbanWar 0.1")
pygame.mouse.set_visible(False)
protagonistamas = pygame.sprite.Group()
protagonista.mas = protagonistamas
protagonista = protagonista()
thebossmas = pygame.sprite.Group()
theboss.mas = thebossmas
cartuchomas = pygame.sprite.Group()
cartucho.mas = cartuchomas
chaumas = pygame.sprite.Group()
chau.mas = chaumas
mostrar = pygame.font.Font("archivos/FreeSansBold.ttf",36)
pygame.mixer.Sound("archivos/menu.wav").play()
men = pygame.image.load("archivos/menu.jpg")
pantalla.blit(men,(0,0))
pygame.display.update()
time.sleep(9)
while 1:
mil += cro.tick()
casi = mil/1000
casi = 60 - casi
if casi == 0:
win = pygame.image.load("archivos/mina.jpg")
pantalla.blit(win,(0,0))
pygame.display.update()
time.sleep(10)
sys.exit(1)
tiempoquefalta = mostrar.render("Remaining Time : "+str(casi),True,(255,0,0))
pantalla.blit(tiempoquefalta,(500,20))
pygame.display.update()
pantalla.blit(fondo,(0,0))
protagonistamas.draw(pantalla)
protagonistamas.update()
thebossmas.draw(pantalla)
thebossmas.update()
cartuchomas.draw(pantalla)
cartuchomas.update()
chaumas.draw(pantalla)
chaumas.update()
if theboss_cadacuanto:
theboss_cadacuanto = theboss_cadacuanto - 1
else:
asteroid = theboss(random.randint(-6,5))
theboss_cadacuanto = 20
for asteroid in pygame.sprite.groupcollide(cartuchomas,thebossmas,1,1):
pygame.mixer.Sound("archivos/muerte.wav").play()
chau(asteroid)
for asteroid in pygame.sprite.spritecollide(protagonista,thebossmas,1):
pygame.mixer.Sound("archivos/muerte.wav").play()
chau(protagonista)
protagonista.kill()
over = pygame.image.load("archivos/gameover.jpg")
pantalla.blit(over,(0,0))
pygame.display.update()
time.sleep(10)
sys.exit(1)
for event in pygame.event.get():
if event.type == QUIT:
break
cap = pygame.key.get_pressed();
if cap[K_ESCAPE]:
sys.exit(1)
pygame.display.update()
#The End ?
Para bajar el codigo con las imagenes o el juego compilado lo pueden hacer de aca.