send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Mi primer juego en Pygame : UrbanWar

  • 2 Respuestas
  • 1491 Vistas

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

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 544
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« en: Febrero 20, 2013, 09:15:37 pm »
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 :

Código: Python
  1. #!usr/bin/python
  2. #UrbanWar 0.1
  3. #Coded By Doddy H in the year 2013
  4. #My first game in Pygame
  5. #Based in the game Rock Blaster made by Jeff Walters
  6. #Thanks to Jeff Walters
  7.  
  8. import pygame
  9. import sys,os,time
  10. from pygame.locals import *
  11. import random
  12.  
  13. tiempoportiro = 1
  14.  
  15. class theboss(pygame.sprite.Sprite):
  16.  
  17.  def __init__(self,esto):
  18.   pygame.sprite.Sprite.__init__(self,self.mas)
  19.   self.image = pygame.image.load("archivos/ladron.gif")
  20.   self.rect = self.image.get_rect( center = (random.randint(0,860),0))
  21.   self.cada = esto
  22.  
  23.  def update(self):
  24.   self.rect.move_ip(self.cada,3)
  25.  
  26. class protagonista(pygame.sprite.Sprite):
  27.  
  28.  def __init__(self):
  29.   pygame.sprite.Sprite.__init__(self,self.mas)
  30.   self.image = pygame.image.load("archivos/protagonista.gif")
  31.   self.rect = self.image.get_rect(center = (860,640))
  32.  
  33.  def update(self):
  34.   global tiempoportiro
  35.   if pygame.key.get_pressed()[K_LEFT]:
  36.    self.rect.move_ip(-5,0)
  37.   if pygame.key.get_pressed()[K_RIGHT]:
  38.    self.rect.move_ip(5,0)
  39.   if pygame.key.get_pressed()[K_SPACE] and tiempoportiro <= 0:
  40.    pygame.mixer.Sound("archivos/disparo.wav").play()
  41.    tiempoportiro = 25
  42.    cartucho(self.rect.midtop)
  43.   tiempoportiro -= 1
  44.   self.rect.clamp_ip(Rect(0,0,860,640))
  45.  
  46. class chau(pygame.sprite.Sprite):
  47.        
  48.  def __init__(self, actor):
  49.   pygame.sprite.Sprite.__init__(self,self.mas)
  50.   self.image = pygame.image.load("archivos/explo.gif")
  51.   self.rect = self.image.get_rect(center=actor.rect.center)
  52.   self.tie = 10
  53.  
  54.  def update(self):
  55.   self.tie = self.tie - 2
  56.   if self.tie <= 0:
  57.    self.kill()
  58.    
  59. class cartucho(pygame.sprite.Sprite):
  60.  
  61.  def __init__(self,toyaca):
  62.  
  63.   pygame.sprite.Sprite.__init__(self,self.mas)
  64.   self.image = pygame.image.load("archivos/bala.gif")
  65.   self.rect = self.image.get_rect(midbottom = toyaca)
  66.  
  67.  def update(self):
  68.   self.rect.move_ip(-30,-50)
  69.   if not Rect(0,0,860,640).contains(self.rect):
  70.    self.kill()
  71.  
  72. pygame.init()
  73.  
  74. mil = 0
  75. theboss_cadacuanto = 30
  76.  
  77. cro = pygame.time.Clock()
  78.  
  79. pantalla = pygame.display.set_mode((860,640),0,32)
  80. #pantalla = pygame.display.set_mode((860,640),FULLSCREEN) # FULLSCREEN
  81.  
  82. fondo = pygame.image.load("archivos/callejon.jpg")
  83. pygame.display.set_caption("UrbanWar 0.1")
  84. pygame.mouse.set_visible(False)
  85.  
  86. protagonistamas = pygame.sprite.Group()
  87.  
  88. protagonista.mas = protagonistamas
  89. protagonista = protagonista()
  90.  
  91. thebossmas = pygame.sprite.Group()
  92. theboss.mas = thebossmas
  93.  
  94. cartuchomas = pygame.sprite.Group()
  95. cartucho.mas = cartuchomas
  96.  
  97. chaumas = pygame.sprite.Group()
  98. chau.mas = chaumas
  99.  
  100. mostrar = pygame.font.Font("archivos/FreeSansBold.ttf",36)
  101.  
  102. pygame.mixer.Sound("archivos/menu.wav").play()
  103. men = pygame.image.load("archivos/menu.jpg")
  104. pantalla.blit(men,(0,0))
  105. pygame.display.update()
  106. time.sleep(9)
  107.  
  108. while 1:
  109.            
  110.  mil += cro.tick()
  111.  casi = mil/1000
  112.  casi = 60 - casi
  113.  
  114.  if casi == 0:
  115.   win = pygame.image.load("archivos/mina.jpg")
  116.   pantalla.blit(win,(0,0))
  117.   pygame.display.update()
  118.   time.sleep(10)
  119.   sys.exit(1)
  120.  
  121.  tiempoquefalta = mostrar.render("Remaining Time : "+str(casi),True,(255,0,0))            
  122.  pantalla.blit(tiempoquefalta,(500,20))
  123.  pygame.display.update()
  124.  
  125.  pantalla.blit(fondo,(0,0))
  126.  
  127.  protagonistamas.draw(pantalla)
  128.  protagonistamas.update()
  129.  thebossmas.draw(pantalla)
  130.  thebossmas.update()
  131.  cartuchomas.draw(pantalla)
  132.  cartuchomas.update()
  133.  chaumas.draw(pantalla)
  134.  chaumas.update()
  135.  
  136.  if theboss_cadacuanto:
  137.   theboss_cadacuanto = theboss_cadacuanto - 1
  138.  else:
  139.   asteroid = theboss(random.randint(-6,5))
  140.   theboss_cadacuanto = 20
  141.  
  142.  for asteroid in pygame.sprite.groupcollide(cartuchomas,thebossmas,1,1):
  143.   pygame.mixer.Sound("archivos/muerte.wav").play()
  144.   chau(asteroid)
  145.    
  146.  for asteroid in pygame.sprite.spritecollide(protagonista,thebossmas,1):
  147.   pygame.mixer.Sound("archivos/muerte.wav").play()
  148.   chau(protagonista)
  149.   protagonista.kill()
  150.  
  151.   over = pygame.image.load("archivos/gameover.jpg")
  152.   pantalla.blit(over,(0,0))
  153.   pygame.display.update()
  154.   time.sleep(10)
  155.   sys.exit(1)
  156.  
  157.  for event in pygame.event.get():
  158.   if event.type == QUIT:
  159.    break
  160.   cap = pygame.key.get_pressed();
  161.   if cap[K_ESCAPE]:
  162.    sys.exit(1)
  163.  
  164.  pygame.display.update()
  165.  
  166. #The End ?
  167.  

Para bajar el codigo con las imagenes o el juego compilado lo pueden hacer de You are not allowed to view links. Register or Login.
« Última modificación: Febrero 20, 2013, 10:51:30 pm por Doddy »

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 541
  • Actividad:
    0%
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de
« Respuesta #1 en: Febrero 21, 2013, 04:02:10 am »
Muy bueno!, a esto le añades arduino y te haces un bonito mando y podrias tirarte horas
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado Hackmundy

  • *
  • Underc0der
  • Mensajes: 88
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • [H]ACKMUNDY - [L]ABS
« Respuesta #2 en: Febrero 21, 2013, 11:06:02 am »
Esta muy bueno yo apenas pude hacer el de memoria y colores xd me falta mucho para llegar a tu nivel.
Muy Bueno me gusto mucho...

Saludos..

Un Hacker sabe de la materia;
Un Lamer Cree Saberlo;
Y yo solo aprendo.

 

¿Te gustó el post? COMPARTILO!



[Mi primer code] Cifrador de texto

Iniciado por KrossPock

Respuestas: 2
Vistas: 1077
Último mensaje Enero 30, 2014, 09:47:46 am
por CrazyKade
Mi primer script en Python.

Iniciado por Matabarras

Respuestas: 7
Vistas: 2168
Último mensaje Diciembre 15, 2012, 09:19:23 am
por Flemon
Mi primer script

Iniciado por k1llu4s3x

Respuestas: 2
Vistas: 303
Último mensaje Febrero 24, 2018, 11:10:07 am
por k1llu4s3x
[Juego] Buscaminas

Iniciado por luispapiernik

Respuestas: 0
Vistas: 2045
Último mensaje Febrero 14, 2016, 02:21:54 am
por luispapiernik
[Pygame Game] No le des el dinero a Paris - by braulio23

Iniciado por ProcessKill

Respuestas: 0
Vistas: 1244
Último mensaje Febrero 24, 2010, 04:05:03 pm
por ProcessKill