Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel Eirea <geirea@gmail.com>2010-09-13 13:16:32 (GMT)
committer Gabriel Eirea <geirea@gmail.com>2010-09-13 13:16:32 (GMT)
commit4bdadd6d618a9d9c334b55809bfa34cf51c65f52 (patch)
tree163c6e29e0021f950c24a8567618507acea26ebb
parent812532fa730ec067bd89b18a241a52f2fc0f2466 (diff)
Se agrego la posibilidad de multiples laminas
-rwxr-xr-xconozcouy.py379
-rwxr-xr-xrecursos/comun/datos/creditos.txt3
-rw-r--r--recursos/comun/datos/presentacion.txt4
-rw-r--r--recursos/comun/imagenes/bichofrente.pngbin0 -> 13353 bytes
-rw-r--r--recursos/comun/imagenes/bichopestanas.pngbin0 -> 12498 bytes
-rwxr-xr-xrecursos/comun/imagenes/nave1.pngbin0 -> 538 bytes
-rwxr-xr-xrecursos/comun/imagenes/nave2.pngbin0 -> 737 bytes
-rwxr-xr-xrecursos/comun/imagenes/nave3.pngbin0 -> 940 bytes
-rwxr-xr-xrecursos/comun/imagenes/nave4.pngbin0 -> 1291 bytes
-rwxr-xr-xrecursos/comun/imagenes/nave5.pngbin0 -> 1599 bytes
-rwxr-xr-xrecursos/comun/imagenes/nave6.pngbin0 -> 1651 bytes
-rwxr-xr-xrecursos/comun/imagenes/nave7.pngbin0 -> 1687 bytes
-rwxr-xr-xrecursos/lamina.uy/lamina.pngbin0 -> 92574 bytes
-rwxr-xr-xrecursos/lamina.uy/niveles.txt67
-rwxr-xr-xrecursos/lamina.uy/niveles.txt~67
-rw-r--r--recursos/lamina.uy/nombre.txt1
-rwxr-xr-xrecursos/lamina.uy/zonas.pngbin0 -> 59915 bytes
-rwxr-xr-xrecursos/lamina.uy/zonas.txt25
-rw-r--r--recursos/lamina/niveles.txt3
-rw-r--r--recursos/lamina/nombre.txt1
20 files changed, 500 insertions, 50 deletions
diff --git a/conozcouy.py b/conozcouy.py
index 3c8bb09..e528759 100755
--- a/conozcouy.py
+++ b/conozcouy.py
@@ -1,6 +1,6 @@
#! /usr/bin/env python
-# Conozco
-# Copyright (C) 2010 Gabriel Eirea
+# Conozco Uruguay
+# Copyright (C) 2008,2009,2010 Gabriel Eirea
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -35,26 +35,36 @@ DXBICHO = 218
DYBICHO = 268
XBICHO = 1200-DXBICHO
YBICHO = 900-DYBICHO
+XNAVE = 800
+YNAVE = 650
+DXNAVE = 100
+DYNAVE = 200
CAMINORECURSOS = "recursos"
-CAMINOLAMINA = "lamina"
CAMINOCOMUN = "comun"
CAMINOFUENTES = "fuentes"
-ARCHIVOINFO = "info.txt"
CAMINODATOS = "datos"
+ARCHIVOINFO = "info.txt"
ARCHIVONIVELES = "niveles.txt"
+ARCHIVONOMBRE = "nombre.txt"
ARCHIVOZONAS = "zonas.txt"
+ARCHIVOEXPLORACIONES = "exploraciones.txt"
ARCHIVOCREDITOS = "creditos.txt"
-ARCHIVONOMBRE = "nombre.txt"
CAMINOIMAGENES = "imagenes"
CAMINOSONIDOS = "sonidos"
-COLORNOMBREDEPTO = (200,60,60)
+COLORNOMBRE = (10,10,10)
COLORPREGUNTAS = (80,80,155)
COLORPANEL = (156,158,172)
TOTALAVANCE = 7
EVENTORESPUESTA = pygame.USEREVENT+1
TIEMPORESPUESTA = 2300
-EVENTOREFRESCO = EVENTORESPUESTA+1
+EVENTODESPEGUE = EVENTORESPUESTA+1
+TIEMPODESPEGUE = 40
+EVENTOREFRESCO = EVENTODESPEGUE+1
TIEMPOREFRESCO = 250
+ESTADONORMAL = 1
+ESTADOPESTANAS = 2
+ESTADOFRENTE = 3
+ESTADODESPEGUE = 4
# variables globales para adaptar la pantalla a distintas resoluciones
scale = 1
@@ -72,12 +82,12 @@ def wait_events():
class Zona():
- """Clase para zonas de una imagen.
+ """Clase para objetos geograficos que se pueden definir como una zona.
La posicion esta dada por una imagen bitmap pintada con un color
especifico, dado por la clave (valor 0 a 255 del componente rojo).
"""
-
+################ tipo?????????????
def __init__(self,mapa,nombre,claveColor,tipo,posicion,rotacion):
self.mapa = mapa
self.nombre = nombre
@@ -90,7 +100,11 @@ class Zona():
def estaAca(self,pos):
"""Devuelve True si la coordenada pos esta en la zona"""
if pos[0] < XMAPAMAX*scale+shift_x:
- colorAca = self.mapa.get_at((pos[0]-shift_x, pos[1]-shift_y))
+ try:
+ colorAca = self.mapa.get_at((pos[0]-shift_x,
+ pos[1]-shift_y))
+ except: # probablemente click fuera de la imagen
+ return False
if colorAca[0] == self.claveColor:
return True
else:
@@ -192,6 +206,23 @@ class ConozcoUy():
linea = f.readline()
f.close()
+ def cargarListaDirectorios(self):
+ """Carga la lista de directorios con los distintos mapas"""
+ self.listaDirectorios = list()
+ self.listaNombreDirectorios = list()
+ listaTemp = os.listdir(CAMINORECURSOS)
+ listaTemp.sort()
+ for d in listaTemp:
+ if d == "comun":
+ pass
+ else:
+ self.listaDirectorios.append(d)
+ f = open(os.path.join(CAMINORECURSOS,d,ARCHIVONOMBRE),"r")
+ linea = f.readline()
+ self.listaNombreDirectorios.append(\
+ unicode(linea.strip(),'iso-8859-1'))
+ f.close()
+
def cargarNiveles(self):
"""Carga los niveles del archivo de configuracion"""
self.listaNiveles = list()
@@ -259,7 +290,7 @@ class ConozcoUy():
self.pantalla.blit(self.terron,
(int(20*scale+shift_x),
int(20*scale+shift_y)))
- self.mostrarTexto("Acerca de Conozco Uruguay",
+ self.mostrarTexto("Acerca de Conozco",
self.fuente40,
(int(600*scale+shift_x),
int(100*scale+shift_y)),
@@ -285,7 +316,8 @@ class ConozcoUy():
pygame.display.flip()
while 1:
for event in wait_events():
- if event.type == pygame.KEYDOWN:
+ if event.type == pygame.KEYDOWN or \
+ event.type == pygame.MOUSEBUTTONDOWN:
self.click.play()
self.pantalla.blit(self.pantallaTemp,(0,0))
pygame.display.flip()
@@ -297,25 +329,31 @@ class ConozcoUy():
"""Pantalla con el menu principal del juego"""
global scale, shift_x, shift_y
self.pantalla.fill((0,0,0))
- self.mostrarTexto("CONOZCO NUMEROS",
+ self.mostrarTexto("CONOZCO",
self.fuente48,
(int(600*scale+shift_x),
int(80*scale+shift_y)),
(255,255,255))
- self.mostrarTexto("Juego",
- self.fuente48,
- (int(300*scale+shift_x), int(220*scale+shift_y)),
+ self.mostrarTexto("Has elegido la lamina "+\
+ self.listaNombreDirectorios\
+ [self.indiceDirectorioActual],
+ self.fuente40,
+ (int(600*scale+shift_x), int(140*scale+shift_y)),
+ (200,100,100))
+ self.mostrarTexto("Selecciona el nivel",
+ self.fuente40,
+ (int(600*scale+shift_x), int(220*scale+shift_y)),
(200,100,100))
yLista = int(300*scale+shift_y)
for n in self.listaNiveles:
self.pantalla.fill((20,20,20),
- (int(10*scale+shift_x),
+ (int(310*scale+shift_x),
yLista-int(24*scale),
int(590*scale),
int(48*scale)))
self.mostrarTexto(n.nombre,
self.fuente40,
- (int(300*scale+shift_x), yLista),
+ (int(600*scale+shift_x), yLista),
(200,100,100))
yLista += int(50*scale)
self.pantalla.fill((20,20,20),
@@ -330,7 +368,7 @@ class ConozcoUy():
(int(610*scale+shift_x),
int(801*scale+shift_y),
int(590*scale),int(48*scale)))
- self.mostrarTexto("Salir",
+ self.mostrarTexto("Volver",
self.fuente40,
(int(900*scale+shift_x),int(825*scale+shift_y)),
(100,200,100))
@@ -345,26 +383,189 @@ class ConozcoUy():
elif event.type == pygame.MOUSEBUTTONDOWN:
self.click.play()
pos = event.pos
- if pos[1] > 275*scale + shift_y: # zona de opciones
- if pos[0] < 600*scale + shift_x: # primera columna
- if pos[1] < 275*scale + shift_y + \
- len(self.listaNiveles)*50*scale: # nivel
- self.indiceNivelActual = \
- int((pos[1]-int(275*scale+shift_y))//\
- int(50*scale))
- self.jugar = True
- return
- elif pos[1] > 800*scale + shift_y and \
- pos[1] < 850*scale + shift_y: # acerca de
+ if pos[1] > 275*scale + shift_y and \
+ pos[1] < 800*scale +shift_y and \
+ pos[0] > 300*scale + shift_x and \
+ pos[0] < 900*scale + shift_x: # zona de opciones
+ if pos[1] < 275*scale + shift_y + \
+ len(self.listaNiveles)*50*scale: # nivel
+ self.indiceNivelActual = \
+ int((pos[1]-int(275*scale+shift_y))//\
+ int(50*scale))
+ return
+ elif pos[1] > 800*scale + shift_y and \
+ pos[1] < 850*scale + shift_y and \
+ pos[0] > shift_x and \
+ pos[0] < 600*scale + shift_x: # acerca de
self.pantallaAcercaDe()
- else: # segunda columna
- if pos[1] > 800*scale + shift_y and \
- pos[1] < 850*scale+shift_y: # volver
- self.elegir_directorio = True
- return
+ elif pos[1] > 800*scale + shift_y and \
+ pos[1] < 850*scale+shift_y and \
+ pos[0] > 600*scale + shift_x and \
+ pos[0] < 1200*scale + shift_x: # volver
+ self.elegir_directorio = True
+ return
elif event.type == EVENTOREFRESCO:
pygame.display.flip()
+ def pantallaDirectorios(self):
+ """Pantalla con el menu de directorios"""
+ global scale, shift_x, shift_y
+ self.pantalla.fill((0,0,0))
+ self.mostrarTexto("CONOZCO",
+ self.fuente48,
+ (int(600*scale+shift_x),int(80*scale+shift_y)),
+ (255,255,255))
+ self.mostrarTexto("Elige la lamina a utilizar",
+ self.fuente40,
+ (int(600*scale+shift_x),int(140*scale+shift_y)),
+ (200,100,100))
+ nDirectorios = len(self.listaNombreDirectorios)
+ paginaDirectorios = self.paginaDir
+ while 1:
+ yLista = int(200*scale+shift_y)
+ self.pantalla.fill((0,0,0),
+ (int(shift_x),yLista-int(24*scale),
+ int(1200*scale),int(600*scale)))
+ if paginaDirectorios == 0:
+ paginaAnteriorActiva = False
+ else:
+ paginaAnteriorActiva = True
+ paginaSiguienteActiva = False
+ if paginaAnteriorActiva:
+ self.pantalla.fill((20,20,20),
+ (int(10*scale+shift_x),yLista-int(24*scale),
+ int(590*scale),int(48*scale)))
+ self.mostrarTexto("<<< Pagina anterior",
+ self.fuente40,
+ (int(300*scale+shift_x),yLista),
+ (100,100,200))
+ yLista += int(50*scale)
+ indiceDir = paginaDirectorios * 20
+ terminar = False
+ while not terminar:
+ self.pantalla.fill((20,20,20),
+ (int(10*scale+shift_x),yLista-int(24*scale),
+ int(590*scale),int(48*scale)))
+ self.mostrarTexto(self.listaNombreDirectorios[indiceDir],
+ self.fuente40,
+ (int(300*scale+shift_x),yLista),
+ (200,100,100))
+ yLista += int(50*scale)
+ indiceDir = indiceDir + 1
+ if indiceDir == nDirectorios or \
+ indiceDir == paginaDirectorios * 20 + 10:
+ terminar = True
+ if indiceDir == paginaDirectorios * 20 + 10 and \
+ not indiceDir == nDirectorios:
+ nDirectoriosCol1 = 10
+ yLista = int(250*scale+shift_y)
+ terminar = False
+ while not terminar:
+ self.pantalla.fill((20,20,20),
+ (int(610*scale+shift_x),
+ yLista-int(24*scale),
+ int(590*scale),int(48*scale)))
+ self.mostrarTexto(self.listaNombreDirectorios[indiceDir],
+ self.fuente40,
+ (int(900*scale+shift_x),yLista),
+ (200,100,100))
+ yLista += int(50*scale)
+ indiceDir = indiceDir + 1
+ if indiceDir == nDirectorios or \
+ indiceDir == paginaDirectorios * 20 + 20:
+ terminar = True
+ if indiceDir == paginaDirectorios * 20 + 20:
+ if indiceDir < nDirectorios:
+ self.pantalla.fill((20,20,20),
+ (int(610*scale+shift_x),
+ yLista-int(24*scale),
+ int(590*scale),int(48*scale)))
+ self.mostrarTexto("Pagina siguiente >>>",
+ self.fuente40,
+ (int(900*scale+shift_x),yLista),
+ (100,100,200))
+ paginaSiguienteActiva = True
+ nDirectoriosCol2 = 10
+ else:
+ nDirectoriosCol2 = indiceDir - paginaDirectorios * 20 - 10
+ else:
+ nDirectoriosCol1 = indiceDir - paginaDirectorios * 20
+ nDirectoriosCol2 = 0
+ self.pantalla.fill((20,20,20),
+ (int(10*scale+shift_x),int(801*scale+shift_y),
+ int(590*scale),int(48*scale)))
+ self.mostrarTexto("Sobre este juego",
+ self.fuente40,
+ (int(300*scale+shift_x),int(825*scale+shift_y)),
+ (100,200,100))
+ self.pantalla.fill((20,20,20),
+ (int(610*scale+shift_x),int(801*scale+shift_y),
+ int(590*scale),int(48*scale)))
+ self.mostrarTexto("Salir",
+ self.fuente40,
+ (int(900*scale+shift_x),int(825*scale+shift_y)),
+ (100,200,100))
+ pygame.display.flip()
+ cambiarPagina = False
+ while not cambiarPagina:
+ for event in wait_events():
+ if event.type == pygame.KEYDOWN:
+ if event.key == 27: # escape: salir
+ self.click.play()
+ sys.exit()
+ elif event.type == pygame.MOUSEBUTTONDOWN:
+ self.click.play()
+ pos = event.pos
+ if pos[1] > 175*scale+shift_y: # zona de opciones
+ if pos[0] < 600*scale+shift_x: # primera columna
+ if pos[1] < 175*scale + shift_y + \
+ (nDirectoriosCol1+1)*50*scale: # mapa
+ self.indiceDirectorioActual = \
+ int((pos[1]-int(175*scale+shift_y))//\
+ int(50*scale)) - 1 + \
+ paginaDirectorios*20
+ if self.indiceDirectorioActual == \
+ paginaDirectorios*20-1 and \
+ paginaAnteriorActiva: # pag. ant.
+ paginaDirectorios = paginaDirectorios-1
+ paginaSiguienteActiva = True
+ cambiarPagina = True
+ elif self.indiceDirectorioActual>\
+ paginaDirectorios*20-1:
+ self.paginaDir = paginaDirectorios
+ return
+ elif pos[1] > 800*scale + shift_y and \
+ pos[1] < 850*scale + shift_y: # acerca
+ self.pantallaAcercaDe()
+ else:
+ if pos[1] < 225*scale + shift_y + \
+ nDirectoriosCol2*50*scale or \
+ (paginaSiguienteActiva and \
+ pos[1]<775*scale+shift_y): # mapa
+ self.indiceDirectorioActual = \
+ int((pos[1]-int(225*scale+shift_y))//\
+ int(50*scale)) + \
+ paginaDirectorios*20 + 10
+ if self.indiceDirectorioActual == \
+ paginaDirectorios*20+9:
+ pass # ignorar; espacio vacio
+ elif self.indiceDirectorioActual == \
+ paginaDirectorios*20+20 and \
+ paginaSiguienteActiva: # pag. sig.
+ paginaDirectorios = \
+ paginaDirectorios + 1
+ paginaAnteriorActiva = True
+ cambiarPagina = True
+ elif self.indiceDirectorioActual<\
+ paginaDirectorios*20+20:
+ self.paginaDir = paginaDirectorios
+ return
+ elif pos[1] > 800*scale+shift_y and \
+ pos[1] < 850*scale+shift_y: # salir
+ sys.exit()
+ elif event.type == EVENTOREFRESCO:
+ pygame.display.flip()
+
def cargarImagen(self,nombre):
"""Carga una imagen y la escala de acuerdo a la resolucion"""
global scale, xo_resolution
@@ -409,8 +610,21 @@ class ConozcoUy():
CAMINOCOMUN,
CAMINOIMAGENES)
self.bicho = self.cargarImagen("bicho.png")
+ self.bichopestanas = self.cargarImagen("bichopestanas.png")
+ self.bichofrente = self.cargarImagen("bichofrente.png")
self.globito = self.cargarImagen("globito.png")
self.terron = self.cargarImagen("terron.png")
+
+#################### premio
+ self.nave = list()
+ self.nave.append(self.cargarImagen("nave1.png"))
+ self.nave.append(self.cargarImagen("nave2.png"))
+ self.nave.append(self.cargarImagen("nave3.png"))
+ self.nave.append(self.cargarImagen("nave4.png"))
+ self.nave.append(self.cargarImagen("nave5.png"))
+ self.nave.append(self.cargarImagen("nave6.png"))
+ self.nave.append(self.cargarImagen("nave7.png"))
+###################
# cargar sonidos
self.camino_sonidos = os.path.join(CAMINORECURSOS,
CAMINOCOMUN,
@@ -418,6 +632,8 @@ class ConozcoUy():
self.click = pygame.mixer.Sound(os.path.join(\
self.camino_sonidos,"junggle_btn045.wav"))
self.click.set_volume(0.2)
+ # cargar directorios
+ self.cargarListaDirectorios()
# cargar fuentes
self.fuente48 = pygame.font.Font(os.path.join(CAMINORECURSOS,\
CAMINOCOMUN,\
@@ -465,13 +681,49 @@ class ConozcoUy():
" XXX..XXX XXXXXXXX ",
" XXXXXX XXXXXX ",
" XXXX XXXX ")
- cursor = pygame.cursors.compile(datos_cursor)
- pygame.mouse.set_cursor((32,32), (1,1), *cursor)
+ self.cursor = pygame.cursors.compile(datos_cursor)
+ pygame.mouse.set_cursor((32,32), (1,1), *self.cursor)
+ datos_cursor_espera = (
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " XXXXXX XXXXXX XXXXXX ",
+ " XXXXXXXX XXXXXXXX XXXXXXXX ",
+ "XXXX..XXXX XXXX..XXXX XXXX..XXXX",
+ "XXX....XXX XXX....XXX XXX....XXX",
+ "XXX....XXX XXX....XXX XXX....XXX",
+ "XXX....XXX XXX....XXX XXX....XXX",
+ "XXXX..XXXX XXXX..XXXX XXXX..XXXX",
+ " XXXXXXXX XXXXXXXX XXXXXXXX ",
+ " XXXXXX XXXXXX XXXXX ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ")
+ self.cursor_espera = pygame.cursors.compile(datos_cursor_espera)
def cargarDirectorio(self):
"""Carga la informacion especifica de un directorio"""
- self.camino_imagenes = os.path.join(CAMINORECURSOS,CAMINOLAMINA)
- self.camino_datos = os.path.join(CAMINORECURSOS,CAMINOLAMINA)
+ self.camino_imagenes = os.path.join(CAMINORECURSOS,
+ self.directorio)
+ self.camino_datos = os.path.join(CAMINORECURSOS,
+ self.directorio)
self.fondo = self.cargarImagen("lamina.png")
self.cargarZonas()
self.cargarNiveles()
@@ -502,6 +754,9 @@ class ConozcoUy():
def correcto(self):
"""Muestra texto en el globito cuando la respuesta es correcta"""
global scale, shift_x, shift_y
+ self.pantalla.blit(self.nave[self.avanceNivel],
+ (int(XNAVE*scale+shift_x),
+ int(YNAVE*scale+shift_y)))
self.correctoActual = random.randint(1,self.numeroCorrecto)-1
self.mostrarGlobito([self.listaCorrecto[self.correctoActual]])
self.esCorrecto = True
@@ -522,10 +777,14 @@ class ConozcoUy():
respCorrecta = nivel.preguntaActual[1]
encontrado = False
for d in self.listaZonas:
- if d.nombre.startswith(respCorrecta):
+ if d.nombre == respCorrecta:
encontrado = True
break
if d.estaAca(pos):
+ d.mostrarNombre(self.pantalla,
+ self.fuente32,
+ COLORNOMBRE,
+ True)
return True
else:
return False
@@ -585,8 +844,8 @@ class ConozcoUy():
random.randint(1,self.numeroDespedidas)-1]\
.split("\\")
self.mostrarGlobito(self.lineasPregunta)
- pygame.time.set_timer(
- EVENTORESPUESTA,TIEMPORESPUESTA)
+ pygame.time.set_timer(EVENTORESPUESTA,
+ TIEMPORESPUESTA)
else: # pregunta siguiente
self.lineasPregunta = \
self.nivelActual.siguientePregunta(\
@@ -603,20 +862,51 @@ class ConozcoUy():
else: # volver a preguntar
self.mostrarGlobito(self.lineasPregunta)
elif event.type == EVENTOREFRESCO:
+ if self.estadobicho == ESTADONORMAL:
+ if random.randint(1,15) == 1:
+ self.estadobicho = ESTADOPESTANAS
+ self.pantalla.blit(self.bichopestanas,
+ (int(XBICHO*scale+shift_x),
+ int(YBICHO*scale+shift_y)))
+ elif random.randint(1,20) == 1:
+ self.estadobicho = ESTADOFRENTE
+ self.pantalla.blit(self.bichofrente,
+ (int(XBICHO*scale+shift_x),
+ int(YBICHO*scale+shift_y)))
+
+ elif self.estadobicho == ESTADOPESTANAS:
+ self.estadobicho = ESTADONORMAL
+ self.pantalla.blit(self.bicho,
+ (int(XBICHO*scale+shift_x),
+ int(YBICHO*scale+shift_y)))
+ elif self.estadobicho == ESTADOFRENTE:
+ if random.randint(1,10) == 1:
+ self.estadobicho = ESTADONORMAL
+ self.pantalla.blit(self.bicho,
+ (int(XBICHO*scale+shift_x),
+ int(YBICHO*scale+shift_y)))
+ elif self.estadobicho == ESTADODESPEGUE:
+ pass
pygame.display.flip()
def principal(self):
"""Este es el loop principal del juego"""
global scale, shift_x, shift_y
pygame.time.set_timer(EVENTOREFRESCO,TIEMPOREFRESCO)
+ self.paginaDir = 0
while 1:
+ self.pantallaDirectorios() # seleccion de mapa
+ pygame.mouse.set_cursor((32,32), (1,1), *self.cursor_espera)
+ self.directorio = self.listaDirectorios\
+ [self.indiceDirectorioActual]
self.cargarDirectorio()
+ pygame.mouse.set_cursor((32,32), (1,1), *self.cursor)
while 1:
# pantalla inicial de juego
self.elegir_directorio = False
self.pantallaInicial()
if self.elegir_directorio: # volver a seleccionar mapa
- sys.exit()
+ break
# dibujar fondo y panel
self.pantalla.blit(self.fondo, (shift_x, shift_y))
self.pantalla.fill(COLORPANEL,
@@ -625,11 +915,12 @@ class ConozcoUy():
self.pantalla.blit(self.bicho,
(int(XBICHO*scale+shift_x),
int(YBICHO*scale+shift_y)))
+ self.estadobicho = ESTADONORMAL
# mostrar pantalla
pygame.display.flip()
# ir al juego
self.jugarNivel()
-
+
def main():
juego = ConozcoUy()
diff --git a/recursos/comun/datos/creditos.txt b/recursos/comun/datos/creditos.txt
index 25e406e..a6fa31e 100755
--- a/recursos/comun/datos/creditos.txt
+++ b/recursos/comun/datos/creditos.txt
@@ -3,6 +3,5 @@ Autores: Ana Cichero y Gabriel Eirea
Este programa es software libre y desarrollado por la comunidad
Por más información visitá http://ceibaljam.org
-Gráficos de las casitas: Federico Mandian
Sonidos bajados de freesound.org: btn045.wav gentileza de junggle
-Fuentes bajadas de urbanfonts.com: AllCaps.ttf gentileza de BobFrantic y Share-Regular.ttf gentileza de anónimo
+Fuentes bajadas de urbanfonts.com: AllCaps.ttf de BobFrantic y Share-Regular.ttf de anónimo
diff --git a/recursos/comun/datos/presentacion.txt b/recursos/comun/datos/presentacion.txt
deleted file mode 100644
index 70518a3..0000000
--- a/recursos/comun/datos/presentacion.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-¡Qué hermoso planeta!\Voy a explorar aquella penillanura\contra el océano
-¡Oh, no!\La nave tiene problemas\¡Me voy a estrellar!
-¡Por suerte me salvé!\Ahora tengo que reconstruir\mi nave, pero no conozco\este lugar. ¡Necesito ayuda!
-
diff --git a/recursos/comun/imagenes/bichofrente.png b/recursos/comun/imagenes/bichofrente.png
new file mode 100644
index 0000000..327cabd
--- /dev/null
+++ b/recursos/comun/imagenes/bichofrente.png
Binary files differ
diff --git a/recursos/comun/imagenes/bichopestanas.png b/recursos/comun/imagenes/bichopestanas.png
new file mode 100644
index 0000000..68c25de
--- /dev/null
+++ b/recursos/comun/imagenes/bichopestanas.png
Binary files differ
diff --git a/recursos/comun/imagenes/nave1.png b/recursos/comun/imagenes/nave1.png
new file mode 100755
index 0000000..3d16b27
--- /dev/null
+++ b/recursos/comun/imagenes/nave1.png
Binary files differ
diff --git a/recursos/comun/imagenes/nave2.png b/recursos/comun/imagenes/nave2.png
new file mode 100755
index 0000000..f6bbcd3
--- /dev/null
+++ b/recursos/comun/imagenes/nave2.png
Binary files differ
diff --git a/recursos/comun/imagenes/nave3.png b/recursos/comun/imagenes/nave3.png
new file mode 100755
index 0000000..bb9ba7f
--- /dev/null
+++ b/recursos/comun/imagenes/nave3.png
Binary files differ
diff --git a/recursos/comun/imagenes/nave4.png b/recursos/comun/imagenes/nave4.png
new file mode 100755
index 0000000..5280b25
--- /dev/null
+++ b/recursos/comun/imagenes/nave4.png
Binary files differ
diff --git a/recursos/comun/imagenes/nave5.png b/recursos/comun/imagenes/nave5.png
new file mode 100755
index 0000000..6156be1
--- /dev/null
+++ b/recursos/comun/imagenes/nave5.png
Binary files differ
diff --git a/recursos/comun/imagenes/nave6.png b/recursos/comun/imagenes/nave6.png
new file mode 100755
index 0000000..b973a4b
--- /dev/null
+++ b/recursos/comun/imagenes/nave6.png
Binary files differ
diff --git a/recursos/comun/imagenes/nave7.png b/recursos/comun/imagenes/nave7.png
new file mode 100755
index 0000000..12630bb
--- /dev/null
+++ b/recursos/comun/imagenes/nave7.png
Binary files differ
diff --git a/recursos/lamina.uy/lamina.png b/recursos/lamina.uy/lamina.png
new file mode 100755
index 0000000..e0791f4
--- /dev/null
+++ b/recursos/lamina.uy/lamina.png
Binary files differ
diff --git a/recursos/lamina.uy/niveles.txt b/recursos/lamina.uy/niveles.txt
new file mode 100755
index 0000000..73c363f
--- /dev/null
+++ b/recursos/lamina.uy/niveles.txt
@@ -0,0 +1,67 @@
+# Configuración de niveles
+# Formato:
+# Prefijo indica una posible parte inicial de la pregunta
+# Sufijo indica una posible parte final de la pregunta
+# Cada nivel empieza con su nombre entre parentesis rectos
+# Variables:
+# - dibujoInicial lista de cosas a dibujar en el mapa al inicio del nivel
+# lineasDepto,capitales
+# - nombreInicial lista de cosas a etiquetar en el mapa al inicio del nivel
+# deptos,capitales
+# Cada pregunta es una linea que se inicia con Pregunta =
+# sigue el texto de la pregunta (lineas separadas con \)
+# sigue el tipo de respuesta y el ID de la respuesta correcta
+# finalmente el texto de ayuda si el estudiante se equivoca dos veces
+# tipo de respuesta: 1 depto, 2 ciudad, 3 rio, 4 cuchilla, 5 cerro
+# ID de respuesta: string con el nombre
+# texto de ayuda: string (lineas separadas con \)
+
+Prefijo = Tenemos que buscar\una pieza de mi nave en
+Prefijo = Hay una pieza\de mi nave en
+Prefijo = Según mi información\tenemos que buscar en
+Prefijo = Tenemos que\ir hasta
+Prefijo = Una pieza de mi\cohete cayó en
+
+Sufijo = ¿Podés señalar dónde es?
+Sufijo = ¿Dónde queda?
+Sufijo = ¿Vamos hasta ahí?
+Sufijo = ¿Me llevás?
+Sufijo = ¿Podés mostrarme dónde es?
+
+Correcto = ¡Muy bien!
+Correcto = ¡Genial!
+Correcto = ¡Lo encontraste!
+Correcto = ¡Sí!
+
+Mal = No, intentá de nuevo
+Mal = Acá no está
+Mal = Parece que no es acá
+Mal = Seguí probando...
+
+Despedida = Ahora puedo volver\a mi planeta.\¡Gracias por tu ayuda!
+Despedida = Mi nave está pronta.\¡Chau y gracias por ayudarme!
+Despedida = ¡Lo hicimos!\Estoy listo para despegar.\¡Hasta la próxima!
+
+[Departamentos]
+dibujoInicial = lineasDepto
+nombreInicial =
+Pregunta = el departamento\de Artigas|Artigas|Dále, probá de nuevo
+Pregunta = el departamento\de Salto|Salto|Dále, probá de nuevo
+Pregunta = el departamento\de Paysandú|Paysandú|Dále, probá de nuevo
+Pregunta = el departamento\de Río Negro|Río Negro|Dále, probá de nuevo
+Pregunta = el departamento\de Rivera|Rivera|Dále, probá de nuevo
+Pregunta = el departamento\de Tacuarembó|Tacuarembó|Dále, probá de nuevo
+Pregunta = el departamento\de Soriano|Soriano|Dále, probá de nuevo
+Pregunta = el departamento\de Colonia|Colonia|Dále, probá de nuevo
+Pregunta = el departamento\de Florida|Florida|Dále, probá de nuevo
+Pregunta = el departamento\de Flores|Flores|Dále, probá de nuevo
+Pregunta = el departamento\de San José|San José|Dále, probá de nuevo
+Pregunta = el departamento\de Durazno|Durazno|Dále, probá de nuevo
+Pregunta = el departamento\de Treinta y Tres|Treinta y Tres|Dále, probá de nuevo
+Pregunta = el departamento\de Cerro Largo|Cerro Largo|Dále, probá de nuevo
+Pregunta = el departamento\de Rocha|Rocha|Dále, probá de nuevo
+Pregunta = el departamento\de Lavalleja|Lavalleja|Dále, probá de nuevo
+Pregunta = el departamento\de Maldonado|Maldonado|Dále, probá de nuevo
+Pregunta = el departamento\de Canelones|Canelones|Dále, probá de nuevo
+Pregunta = el departamento\de Montevideo|Montevideo|Dále, probá de nuevo
+
diff --git a/recursos/lamina.uy/niveles.txt~ b/recursos/lamina.uy/niveles.txt~
new file mode 100755
index 0000000..caf9c87
--- /dev/null
+++ b/recursos/lamina.uy/niveles.txt~
@@ -0,0 +1,67 @@
+# Configuración de niveles
+# Formato:
+# Prefijo indica una posible parte inicial de la pregunta
+# Sufijo indica una posible parte final de la pregunta
+# Cada nivel empieza con su nombre entre parentesis rectos
+# Variables:
+# - dibujoInicial lista de cosas a dibujar en el mapa al inicio del nivel
+# lineasDepto,capitales
+# - nombreInicial lista de cosas a etiquetar en el mapa al inicio del nivel
+# deptos,capitales
+# Cada pregunta es una linea que se inicia con Pregunta =
+# sigue el texto de la pregunta (lineas separadas con \)
+# sigue el tipo de respuesta y el ID de la respuesta correcta
+# finalmente el texto de ayuda si el estudiante se equivoca dos veces
+# tipo de respuesta: 1 depto, 2 ciudad, 3 rio, 4 cuchilla, 5 cerro
+# ID de respuesta: string con el nombre
+# texto de ayuda: string (lineas separadas con \)
+
+Prefijo = Tenemos que buscar\una pieza de mi nave en
+Prefijo = Hay una pieza\de mi nave en
+Prefijo = Según mi información\tenemos que buscar en
+Prefijo = Tenemos que\ir hasta
+Prefijo = Una pieza de mi\cohete cayó en
+
+Sufijo = ¿Podés señalar dónde es?
+Sufijo = ¿Dónde queda?
+Sufijo = ¿Vamos hasta ahí?
+Sufijo = ¿Me llevás?
+Sufijo = ¿Podés mostrarme dónde es?
+
+Correcto = ¡Muy bien!
+Correcto = ¡Genial!
+Correcto = ¡Lo encontraste!
+Correcto = ¡Sí!
+
+Mal = No, intentá de nuevo
+Mal = Acá no está
+Mal = Parece que no es acá
+Mal = Seguí probando...
+
+Despedida = Ahora puedo volver\a mi planeta.\¡Gracias por tu ayuda!
+Despedida = Mi nave está pronta.\¡Chau y gracias por ayudarme!
+Despedida = ¡Lo hicimos!\Estoy listo para despegar.\¡Hasta la próxima!
+
+[Departamentos]
+dibujoInicial = lineasDepto
+nombreInicial =
+Pregunta = el departamento\de Artigas|1|Artigas|Dále, probá de nuevo
+Pregunta = el departamento\de Salto|1|Salto|Dále, probá de nuevo
+Pregunta = el departamento\de Paysandú|1|Paysandú|Dále, probá de nuevo
+Pregunta = el departamento\de Río Negro|1|Río Negro|Dále, probá de nuevo
+Pregunta = el departamento\de Rivera|1|Rivera|Dále, probá de nuevo
+Pregunta = el departamento\de Tacuarembó|1|Tacuarembó|Dále, probá de nuevo
+Pregunta = el departamento\de Soriano|1|Soriano|Dále, probá de nuevo
+Pregunta = el departamento\de Colonia|1|Colonia|Dále, probá de nuevo
+Pregunta = el departamento\de Florida|1|Florida|Dále, probá de nuevo
+Pregunta = el departamento\de Flores|1|Flores|Dále, probá de nuevo
+Pregunta = el departamento\de San José|1|San José|Dále, probá de nuevo
+Pregunta = el departamento\de Durazno|1|Durazno|Dále, probá de nuevo
+Pregunta = el departamento\de Treinta y Tres|1|Treinta y Tres|Dále, probá de nuevo
+Pregunta = el departamento\de Cerro Largo|1|Cerro Largo|Dále, probá de nuevo
+Pregunta = el departamento\de Rocha|1|Rocha|Dále, probá de nuevo
+Pregunta = el departamento\de Lavalleja|1|Lavalleja|Dále, probá de nuevo
+Pregunta = el departamento\de Maldonado|1|Maldonado|Dále, probá de nuevo
+Pregunta = el departamento\de Canelones|1|Canelones|Dále, probá de nuevo
+Pregunta = el departamento\de Montevideo|1|Montevideo|Dále, probá de nuevo
+
diff --git a/recursos/lamina.uy/nombre.txt b/recursos/lamina.uy/nombre.txt
new file mode 100644
index 0000000..83b8b36
--- /dev/null
+++ b/recursos/lamina.uy/nombre.txt
@@ -0,0 +1 @@
+Lamina Uruguay
diff --git a/recursos/lamina.uy/zonas.png b/recursos/lamina.uy/zonas.png
new file mode 100755
index 0000000..d894f22
--- /dev/null
+++ b/recursos/lamina.uy/zonas.png
Binary files differ
diff --git a/recursos/lamina.uy/zonas.txt b/recursos/lamina.uy/zonas.txt
new file mode 100755
index 0000000..8a51bfa
--- /dev/null
+++ b/recursos/lamina.uy/zonas.txt
@@ -0,0 +1,25 @@
+# Depto|codigo color (rojo)|ubic. texto x|y|rotacion nombre
+# departamentos
+Artigas|236|212|126|0
+Salto|254|202|254|0
+Paysandú|253|156|362|0
+Río Negro|252|130|500|0
+Rivera|251|490|272|0
+Tacuarembó|250|446|380|0
+Soriano|249|128|630|0
+Colonia|248|132|726|0
+Flores|247|246|614|0
+Durazno|246|388|550|0
+Cerro Largo|245|624|436|0
+San José|244|280|742|0
+Florida|243|386|668|0
+Treinta y Tres|242|624|534|0
+Canelones|241|382|786|0
+Montevideo|240|348|838|0
+Lavalleja|239|532|656|0
+Maldonado|238|522|818|0
+Rocha|237|654|678|0
+# paises limitrofes
+República Federativa del Brasil|199|590|175|322
+República Argentina|198|22|350|90
+# fin
diff --git a/recursos/lamina/niveles.txt b/recursos/lamina/niveles.txt
index 22a0bef..b874c9e 100644
--- a/recursos/lamina/niveles.txt
+++ b/recursos/lamina/niveles.txt
@@ -24,6 +24,9 @@ Despedida = Ahora puedo volver\a mi planeta.\¡Gracias por tu ayuda!
Despedida = Mi nave está pronta.\¡Chau y gracias por ayudarme!
Despedida = ¡Lo hicimos!\Estoy listo para despegar.\¡Hasta la próxima!
+[Nivel prueba]
+Pregunta = la casa de un número par\menor que 10|2,4,6,8|Es una papita
+
[Nivel 1]
Pregunta = la casa del mayor divisor\común de 48 y 49|1|Es el mas chico de todos
Pregunta = la casa del mayor divisor\común de 96 y 98|2|Es el primero con un zapato
diff --git a/recursos/lamina/nombre.txt b/recursos/lamina/nombre.txt
new file mode 100644
index 0000000..7fa74f8
--- /dev/null
+++ b/recursos/lamina/nombre.txt
@@ -0,0 +1 @@
+Lamina 1