File size: 14,703 Bytes
2b659a0 28deb4d 5da83f5 2b659a0 5da83f5 2b659a0 5da83f5 2b659a0 5da83f5 2b659a0 5da83f5 2b659a0 5da83f5 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 28deb4d 2b659a0 5da83f5 28deb4d 5da83f5 cfc744f 5da83f5 ba9bf86 5da83f5 ba9bf86 5da83f5 ba9bf86 33cda60 5da83f5 33cda60 5da83f5 ba9bf86 5da83f5 ba9bf86 5da83f5 6041378 5da83f5 6041378 5da83f5 33cda60 5da83f5 33cda60 5da83f5 ba9bf86 5da83f5 6041378 5da83f5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 |
"""Includes two example worlds to experiment with different scenarios."""
import random
from world import Character, Item, Location, Puzzle, World
def get_world(arg: str, language: str ='en') -> World:
if arg=='1':
if language == 'es':
return get_world_1_spanish()
else:
return get_world_1_english()
elif arg=='2':
if language == 'es':
return get_world_2_spanish()
else:
return get_world_2_english()
else:
if language == 'es':
return get_world_0_spanish()
else:
return get_world_0_english()
def get_world_0_english() -> World:
item_1 = Item("Apple",
["A fruit that can be eaten", "It is round-shaped and green"])
item_2 = Item("Toy car",
["A tiny toy purple car", "It looks brand new"])
item_3 = Item("Mate",
["A classical mate, ready to drink!", "It contains some yerba", "You can drink this to boost your energy!"])
place_1 = Location("Garden",
["A beautiful garden", "There is a statue in the center"],
items = [item_2])
place_2 = Location("Cabin",
["A small cabin", "It looks like no one has lived here for a while"])
place_3 = Location("Mansion hall",
["A big hall", "There is a big staircase"])
two_random_numbers = [random.randrange(0, 10) for i in range(2)]
puzzle1 = Puzzle("puzzle",["There's a symbol of a microphone and below a letter that says how to open the door"],
f"To unlock this door, you have to say out loud the sum of {str(two_random_numbers[0])} and {str(two_random_numbers[1])}.",
f"The answer is {str(two_random_numbers[0] + two_random_numbers[1])} ")
place_1.connecting_locations+=[place_2,place_3]
place_2.connecting_locations+=[place_1]
place_3.connecting_locations+=[place_1]
place_1.block_passage(place_3,puzzle1)
player = Character("Alicia",
["She is wearing a long skirt","She likes to sing"],
inventory=[item_1],
location=place_1)
npc = Character("Javier",
["He has a long beard", "He loves to restore furtniture"],
inventory=[item_3],
location=place_3)
the_world = World(player)
the_world.add_locations([place_1, place_2, place_3])
the_world.add_items([item_1, item_2, item_3])
the_world.add_character(npc)
the_world.set_objective(item_2,place_3)
return the_world
def get_world_0_spanish() -> World:
item_1 = Item("Manzana",
["Una fruta que puede ser comida", "Es redonda y verde"])
item_2 = Item("Auto de juguete",
["Un pequeño auto de juguete de color púrpura", "Luce como recién comprado"])
item_3 = Item("Mate",
["Un mate clásico ¡listo para tomar!", "Contiene algo de yerba", "¡Puedes tomar esto para mejorar tu energía!"])
place_1 = Location("Jardín",
["Un jardín hermoso", "Hay una estatua en el centro"],
items = [item_2])
place_2 = Location("Cabaña",
["Una pequeña cabaña", "Parece que nadie ha vivido acá por un tiempo"])
place_3 = Location("Hall de la Mansión",
["Un hall grande", "Hay una enorme escalera principal"])
two_random_numbers = [random.randrange(0, 10) for i in range(2)]
puzzle1 = Puzzle("puzzle",["Hay un dibujo de un micrófono y debajo un letrero, con la premisa para abrir la puerta"],
f"Para desbloquear esta puerta, hay que decir en voz alta la suma de {str(two_random_numbers[0])} y {str(two_random_numbers[1])}.",
f"La respuesta es {str(two_random_numbers[0] + two_random_numbers[1])} ")
place_1.connecting_locations+=[place_2,place_3]
place_2.connecting_locations+=[place_1]
place_3.connecting_locations+=[place_1]
place_1.block_passage(place_3,puzzle1)
player = Character("Alicia",
["Está usando una falda larga","Le gusta cantar"],
inventory=[item_1],
location=place_1)
npc = Character("Javier",
["Tiene una barba larga", "Le encanta restaurar muebles"],
inventory=[item_3],
location=place_3)
the_world = World(player)
the_world.add_locations([place_1, place_2, place_3])
the_world.add_items([item_1, item_2, item_3])
the_world.add_character(npc)
the_world.set_objective(item_2,place_3)
return the_world
def get_world_1_english() -> World:
item_1 = Item("Turtle",["A small turtle", "Emma's pet", "Emma calls it 'Hojita'"])
item_2 = Item("Key",
["A key to open a lock", "It is golden", "There is a strange coat of arms engraved on it"])
item_3 = Item("A grey hammer",
["A big grey hammer that can be used to break things", "It is so heavy..."])
item_4 = Item("Lock",
["A strong lock with a coat of arms engraved on it", "It seems that it cannot be opened with your bare hands"])
item_5 = Item("A green hammer",
["A small green hammer", "It is just a toy and you cannot break anything with it"])
place_3 = Location ("Garden",
["The garden of the house", "It is relatively small, about 5 square meters."],
items = [item_1])
place_2 = Location("Kitchen",
["The kitchen of the house", "It's not huge, but it's not the smallest kitchen in the world either.", "A lot of light comes in through the windows"])
place_2.connecting_locations = [place_3]
place_2.block_passage(place_3, item_4)
place_3.connecting_locations = [place_2]
place_1 = Location("Art studio",
["This is the art studio that Emma's mom has in the house"],
items = [item_3, item_5])
place_1.connecting_locations = [place_2]
place_2.connecting_locations = [place_1]
player = Character("Emma",
["A teenager of average height", "She is looking for her pet 'Hojita'"],
inventory = [],
location = place_1)
npc = Character("Laura",
["A woman in her 40s", "She is Emma's mom", "She is an artist, and loves oil painting"],
inventory = [item_2],
location= place_1)
the_world = World(player)
the_world.add_locations([place_1,place_2,place_3])
the_world.add_items([item_1,item_2,item_3,item_4,item_5])
the_world.add_character(npc)
the_world.set_objective(item_1,place_2)
return the_world
def get_world_1_spanish() -> World:
item_1 = Item("Tortuga",["Una tortuga pequeña", "La mascota de Emma", "Emma la llama 'Hojita'"])
item_2 = Item("Llave",
["Una llave para abrir un candado", "Es dorada", "Tiene grabada la imagen de un extraño escudo de armas"])
item_3 = Item("Un martillo gris",
["Un martillo gris grande que puede ser usado para romper cosas", "Es muy pesado"])
item_4 = Item("Candado",
["Un candado fuerte que tiene grabado un escudo de armas", "Parece que no puede ser abierto con las manos"])
item_5 = Item("Un martillo verde",
["Un pequeño martillo verde", "Es solamente un juguete y no se puede romper nada con él"])
place_3 = Location ("Jardín",
["El jardín de la casa", "Es relativamente chico, de unos 5 metros cuadrados"],
items = [item_1])
place_2 = Location("Cocina",
["Es la cocina de la casa", "No es enorme, pero tampoco es la cocina más chiquita del mundo", "Por las ventanas entra mucha luz"])
place_2.connecting_locations = [place_3]
place_2.block_passage(place_3, item_4)
place_3.connecting_locations = [place_2]
place_1 = Location("Taller de pintura",
["Es el taller de pintura que la madre de Emma tiene en su casa"],
items = [item_3, item_5])
place_1.connecting_locations = [place_2]
place_2.connecting_locations = [place_1]
player = Character("Emma",
["Una adolescente de estatura promedio", "Está buscando a su mascota 'Hojita'"],
inventory = [],
location = place_1)
npc = Character("Laura",
["Una mujer de unos 45 años de edad", "Es la madre de Emma", "Es una artista que pinta al óleo"],
inventory = [item_2],
location= place_1)
the_world = World(player)
the_world.add_locations([place_1,place_2,place_3])
the_world.add_items([item_1,item_2,item_3,item_4,item_5])
the_world.add_character(npc)
the_world.set_objective(item_1,place_2)
return the_world
def get_world_2_spanish() -> World:
item_1 = Item("Pinturas",
["Hay algo escrito con una pintura hecha con barro", "Dice 'Hay que confiar en los poderes que se nos han otorgado"],
gettable=False)
item_2 = Item("Estanque",
["Un estanque de agua cristalina", "El agua es tan clara que funciona como un espejo"],
gettable=False)
item_3 = Item("Un muro de llamas",
["Las llamas son fuertes y dan mucho calor", "Tiene una altura de 3 metros", "Es imposible cruzarlas, ni caminando, ni corriendo, ni saltando."],
gettable=False)
item_4 = Item("Guitarra",
["Una guitarra clásica con 6 cuerdas", "Suena muy bien"])
puzzle_1 = Puzzle("Puzzle",
["Un encanto mágico que genera un muro intraspasable", "Mágicamente, al acercarse aparecen unas letras azules que explican cuál es el acertijo a resolver"],
"Hay que susurrar el nombre del río que baña la costa sur de la Banda Oriental", "Rio de la Plata")
place_1 = Location ("Claro en el monte",
["Un claro en un monte de eucaliptus cerca del Río Uruguay", "Se puede escuchar el sonido de los animales que viven en los árboles de este monte"],
items = [item_1, item_2])
place_2 = Location("Zona silenciosa",
["El monte continúa en esta parte", "A diferencia de la parte anterior, esta zona está insonorizada y no se escucha ni siquiera un mínimo sonido"])
place_2.connecting_locations = [place_1]
place_1.connecting_locations = [place_2]
place_1.block_passage(place_2, item_3)
place_3 = Location("Celda",
["Una celda cuadrada de dos metros cuadrados", "La vegetación del monte ya ha ingresado al interior"])
place_3.connecting_locations = [place_2]
place_2.connecting_locations = [place_3]
place_2.block_passage(place_3,puzzle_1)
npc = Character("José Artigas",
["El héroe nacional de Uruguay", "Está muy debilitado al estar tanto tiempo encerrado"],
inventory = [],
location = place_3)
player = Character("Venancio",
["Un gaucho uruguayo de 40 años de edad", "Pertenece a los soldados de Artigas", "Tiene el poder mágico de invocar una ola gigante de agua con la que puede apagar fuegos o humedecer la tierra"],
inventory = [item_4],
location= place_1)
the_world = World(player)
the_world.add_locations([place_1,place_2,place_3])
the_world.add_items([item_1,item_2,item_3])
the_world.add_character(npc)
the_world.set_objective(player,npc)
return the_world
def get_world_2_english() -> World:
item_1 = Item("Writings",
["There is something written on the wall.", "It says 'You have to trust in the powers that have been given to you.'"],
gettable=False)
item_2 = Item("Pond",
["A pond full of crystal clear water", "The water is so clear that it works like a mirror"],
gettable=False)
item_3 = Item("Firewall",
["The flames are very hot", "It's 3 metres high", "It is impossible to cross them, neither walking, nor running, nor jumping."],
gettable=False)
item_4 = Item("Guitar",
["A classic guitar with 6 strings", "It sounds great"])
puzzle_1 = Puzzle("Puzzle",
["A strong magic is generating an impassable wall", "Magically, as you get closer, some blue letters appear explaining what the riddle to solve is."],
"You have to whisper the name of the river located on the southern coast of the Banda Oriental", "Rio de la Plata")
place_1 = Location ("Clearing in the woods",
["A clearing in a eucalyptus forest near the Uruguay River", "You can hear the sound of the animals that live in the trees of this forest."],
items = [item_1, item_2])
place_2 = Location("Silent zone",
["The forest continues in this part", "Unlike the previous area, this area is very silent and not even the slightest sound can be heard."])
place_2.connecting_locations = [place_1]
place_1.connecting_locations = [place_2]
place_1.block_passage(place_2, item_3)
place_3 = Location("Cell",
["A square cell of two square meters", "The interior is full of plants that grew outside"])
place_3.connecting_locations = [place_2]
place_2.connecting_locations = [place_3]
place_2.block_passage(place_3,puzzle_1)
npc = Character("José Artigas",
["Uruguay's national hero", "He is very weak after being locked up for so long."],
inventory = [],
location = place_3)
player = Character("Venancio",
["A Uruguayan gaucho in his 40s", "He belongs to the Artigas army", "He has the magical power to summon a giant wave of water with which he can put out fires or moisten the ground."],
inventory = [item_4],
location= place_1)
the_world = World(player)
the_world.add_locations([place_1,place_2,place_3])
the_world.add_items([item_1,item_2,item_3])
the_world.add_character(npc)
the_world.set_objective(player,npc)
return the_world |