• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

¿Pasos a seguir para plantear las funciones de un programa?

Saito_25

Friki informático
Registrado
15 Mar 2015
Mensajes
1.154
Puntos
83
Buenas,

Estoy aprendiendo python por mi cuenta y acabo de terminar mi primer "intento de programa". Lo llamo intento porque no tiene una funcionalidad más allá del mero hecho de aprender algún que otro concepto. Por si os interesa, es esta birria de aquí XD:

Código:
[COLOR=#d4d4d4][FONT=Consolas][COLOR=#c586c0]from[/COLOR][COLOR=#d4d4d4] random [/COLOR][COLOR=#c586c0]import[/COLOR][COLOR=#d4d4d4] randrange[/COLOR]

[COLOR=#ce9178]""" [/COLOR]
[COLOR=#ce9178]# ANIMAL #[/COLOR]

[COLOR=#ce9178]CARACTERÍSTICAS: raza, edad, pelaje, tamaño. (¿Cómo es?)[/COLOR]

[COLOR=#ce9178]COMPORTAMIENTOS: jugando, comiendo, haciendo necesidades. (¿Qué puede hacer?)[/COLOR]

[COLOR=#ce9178]ESTADOS: hambriento, estresado, creciendo, necesidades básicas. (¿Cómo se encuentra?)[/COLOR]

[COLOR=#ce9178]----[/COLOR]

[COLOR=#ce9178]# MASCOTA #[/COLOR]

[COLOR=#ce9178]CARACTERÍSTICAS: nombre, dueño.[/COLOR]

[COLOR=#ce9178]COMPORTAMIENTOS: sacar a pasear, alimentar, limpiar heces.[/COLOR]

[COLOR=#ce9178]"""[/COLOR]

[COLOR=#569cd6]class[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]Animal[/COLOR][COLOR=#d4d4d4]():[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]__init__[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]raza[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]edad[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]pelaje[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]tamano[/COLOR][COLOR=#d4d4d4]): [/COLOR][COLOR=#6a9955]# Características propias de un animal.[/COLOR]

[COLOR=#d4d4d4]        [/COLOR][COLOR=#6a9955]# Con self crearemos una instancia independiente para cada animal.[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].raza [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] raza [/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].edad [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] edad[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].pelaje [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] pelaje[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].tamano [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] tamano[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].t_hambre [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]False[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].comportamiento [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"bien"[/COLOR]
[COLOR=#d4d4d4] [/COLOR]
[COLOR=#d4d4d4]    [/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#6a9955]# COMPORTAMIENTOS ¿Qué es capaz de hacer nuestro objeto perro?[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]comer[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].t_hambre:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre, [/COLOR][COLOR=#ce9178]"está comiendo."[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].t_hambre [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]False[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre, [/COLOR][COLOR=#ce9178]"no parece tener hambre ahora."[/COLOR][COLOR=#d4d4d4])[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]jugar[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Estás jugando con "[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre)[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]necesidades[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre, [/COLOR][COLOR=#ce9178]" ha hecho sus necesidades"[/COLOR][COLOR=#d4d4d4])[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#6a9955]# ESTADOS ¿cómo está nuestro objeto perro?[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]hambriento[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre, [/COLOR][COLOR=#ce9178]"parece tener habmre"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].t_hambre [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]True[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]estresado[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre, [/COLOR][COLOR=#ce9178]"parece estresado, le vendría bien un paseo."[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].comportamiento [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"mal"[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]crecer[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre, [/COLOR][COLOR=#ce9178]"parece más grande"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].edad [/COLOR][COLOR=#d4d4d4]+=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]1[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].tamano [/COLOR][COLOR=#d4d4d4]+=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]5[/COLOR]


[COLOR=#569cd6]class[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]Mascota[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#4ec9b0]Animal[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]__init__[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]nombre[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]dueno[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]raza[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]edad[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]pelaje[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]tamano[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#4ec9b0]super[/COLOR][COLOR=#d4d4d4]().[/COLOR][COLOR=#dcdcaa]__init__[/COLOR][COLOR=#d4d4d4](raza, edad, pelaje, tamano)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] nombre[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].dueno [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] dueno[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]D_comer[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].comer()[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]S_paseo[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Vamos a dar una vuelta, chico. Ven aquí"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].necesidades()[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].comportamiento [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"bien"[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]caracteristicas[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Nombre de la mascota: "[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].nombre, [/COLOR][COLOR=#ce9178]"[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Nombre del dueño: "[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].dueno, [/COLOR][COLOR=#ce9178]"[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Edad mascota: "[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].edad, [/COLOR][COLOR=#ce9178]"[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Raza mascota: "[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].raza, [/COLOR][COLOR=#ce9178]"[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Color del pelaje: "[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].pelaje, [/COLOR][COLOR=#ce9178]"[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Tamaño de la mascota: "[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].tamano)[/COLOR]



[COLOR=#6a9955]# print(tobi.RAZA) Preguntar por qué no funciona.[/COLOR]
[COLOR=#d4d4d4]tobi [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] Mascota([/COLOR][COLOR=#ce9178]"Tobi"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#ce9178]"Juan"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#ce9178]"Doberman"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#ce9178]"Marrón"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#b5cea8]25[/COLOR][COLOR=#d4d4d4])[/COLOR]

[COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]mascota_necesidades[/COLOR][COLOR=#d4d4d4]():[/COLOR]
[COLOR=#d4d4d4]    var [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] randrange([/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#b5cea8]101[/COLOR][COLOR=#d4d4d4])[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#6a9955]# Necesidades, hambriento, estresado y crecer.[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#d4d4d4]<=[/COLOR][COLOR=#d4d4d4] var [/COLOR][COLOR=#d4d4d4]<=[/COLOR][COLOR=#b5cea8]60[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]        tobi.hambriento()[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#c586c0]elif[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]60[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#d4d4d4]<[/COLOR][COLOR=#d4d4d4] var [/COLOR][COLOR=#d4d4d4]<=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]80[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]        tobi.estresado()[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#c586c0]elif[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]80[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#d4d4d4]<[/COLOR][COLOR=#d4d4d4] var [/COLOR][COLOR=#d4d4d4]<=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]90[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]        tobi.crecer()[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]        tobi.necesidades()[/COLOR]




[COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]criar_mascota[/COLOR][COLOR=#d4d4d4]():[/COLOR]
[COLOR=#d4d4d4]    tobi.caracteristicas()[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#6a9955]# Qué haremos con la máscota[/COLOR]
[COLOR=#d4d4d4]    var [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]False[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#c586c0]while[/COLOR][COLOR=#d4d4d4] var [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]False[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"1. Pasear.[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]2. Alimentar mascota.[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]3. Jugar.[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]4. Ver estado[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]5. Salir"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]        selection [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]int[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#dcdcaa]input[/COLOR][COLOR=#d4d4d4]())[/COLOR]

[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] selection [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            tobi.S_paseo()[/COLOR]
[COLOR=#d4d4d4]            mascota_necesidades()[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]elif[/COLOR][COLOR=#d4d4d4] selection [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]2[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            tobi.D_comer()[/COLOR]
[COLOR=#d4d4d4]            mascota_necesidades()[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]elif[/COLOR][COLOR=#d4d4d4] selection [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]3[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            tobi.jugar()[/COLOR]
[COLOR=#d4d4d4]            mascota_necesidades()[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]elif[/COLOR][COLOR=#d4d4d4] selection [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]4[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            tobi.caracteristicas()[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]elif[/COLOR][COLOR=#d4d4d4] selection [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]5[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            var [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]True[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Repite el número."[/COLOR][COLOR=#d4d4d4])[/COLOR]


[COLOR=#d4d4d4]criar_mascota()[/COLOR]

[/FONT][/COLOR]

A modo de resumen, lo que he intentado es plasmar una mascota perro en un programa, algo muy sencillo, pero me he encontrado, a medida que programaba, con varias dudas: ¿Cómo relaciono esto con esto otro? ¿Dónde va este comportamiento? ¿O esta característica?

Mi duda es ¿cómo os planteáis los programas que vais a crear? ¿Qué patrones seguir para decidir dónde debería ir cada cosa?

No sé si me explico, pero agradecería cualquier tipo de ayuda.

¡Muchas gracias!
 
No te preocupes en exceso por eso por ahora. Con tu nivel, lo importante es que consigas que el programa haga lo que quieres. A partir de ahí ya irás aprendiendo a estructurarlos correctamente.
 
El problema es que me cuesta pensar qué es lo que tiene que hacer el programa, por eso, después, llevarlo a la práctica me resulta más complicado.

Gracias!
 
Te entiendo, ese problema es muy habitual cuando empiezas: simplemente, no sabes qué hacer.

No sé si tu objetivo es hacer programas que gestionen animales, por lo que te recomiendo que busques algo que de verdad te interese -por el motivo que sea- y que empieces a hacerlo, aunque sea en la versión más ridículamente fácil y sencilla que haga lo mínimo que necesitas.

Te puedo echar un cable dándote algunas ideas, pero necesitaría saber un poquito más acerca de tus intereses para ello.
 
Buenas y perdona la tardanza en responder @omega. Llevo un verano un poco raro y apenas he tenido tiempo para nada, por otro lado, el poco tiempo que he tenido lo he invertido en stackoverflow, donde habré abierto como mil temas en menos de un mes XD... Que torpe soy.

Pues llevo días liados con un problema que me trae de cabeza. Creo que me muero antes de poder hacerlo. La cuestión, es que como dices, es algo que me interesa hacer, pero el nivel de dificultad (que aunque puede que no sea tan alto, no lo sé XD), para mí es un mundo y no me sale nada.

Estaría realmente agradecido si me puedes ayudar, aunque sea un poco o simplemente a organizar un poco lo que tengo que hacer.

Te remito (y espero que no esté prohibido remitir a otros foros, si es así lo siento y borren o editen el comentario si lo ven oportuno) al tema donde planteo la duda: https://es.stackoverflow.com/questi...ercomunican?noredirect=1#comment517734_281627

Te diría que tengas paciencia, es una pregunta larga que realmente no plantea ninguna pregunta más allá de un simple: no tengo ni dea de lo que estoy haciendo ni por dónde empezar...

Por otro lado, una duda que se me está planteando mucho ahora mismo, es cómo enfocar el principio del código.

Por si todavía tienes ganas de seguir leyendo y no te he aburrido ya, te planteo mi dilema (aunque es muy largo, creo que entenderás mejor el problema si te lees primero el otro tema):

[SPOILER=Planteamiento de juego]
Tengo que crear un programa que me devuelva aleatoriamente o según un valor especificado un personaje (por ejemplo guerrero) y el color asociado a este (verde, en caso del guerrero).

Mi juego se basa en tirar dados y formar un grupo de aventureros o enemigos, aunque me centraré por ahora en aventureros.

Hay 7 dados de aventureros, los cuales tienen 6 caras. Cada cara tiene una figura y un color.

El cómo enfocar eso en un código de programación, es lo que más me está costando ahora mismo... Y realmente no lo veo difícil, pero a la hora de la verdad, me falta mucho que aprender todavía.
[/SPOILER]

Gracias y perdona por el parrafón.
 
He leído todo lo que has escrito aquí y en StackOverflow. Por lo que veo tienes bastante claro las reglas de tu juego. Eso es bueno.

Algunos de los puntos que planteas en las reglas del juego son un poco complicados para empezar. ¿Mi consejo? Lo que te dije antes: busca la versión mínima posible que haga parte de lo que quieres, para seguir construyendo sobre ella.

¿Cuál sería esa versión mínima posible? En mi opinión, podrías empezar por un programa de consola que creara un grupo de jugadores y lo mostrara por pantalla. Eso sólo, nada más.

¿Cómo funcionaría esa parte? No me termina de quedar claro. ¿Generas aleatoriamente 7 números para obtener un equipo de 7 personajes de jugador? Luego supongo se genera un equipo de enemigos y ambos equipos se enfrentan con las reglas que has descrito. ¿Es así?

Si es así, el siguiente paso sería ampliar ese programa simple para que además pueda generar un equipo de enemigos, y el siguiente paso, añadir la capacidad de simular un combate y mostrar los resultados por pantalla. Para establecer ese plan, un desarrollador de software se basa mucho en la capacidad analítica (que estás entrenando) y en la experiencia (que estás obteniendo).

Por ello reitero lo que te dije anteriormente: intenta que el programa haga lo que quieres, dejando un poco de lado si la forma en que lo estás haciendo es totalmente correcta o no. Preocúpate más de que funcione bien. Divide y vencerás, descomponiendo un problema complejo en otros más simples que puedes resolver, paso a paso, empezando por lo que conoces. Ese es el camino.

Cuando vayas escribiendo código irás enfrentándote a problemas. Cuando éste código crezca, tendrás que irlo organizando y lo harás mal. En base a esos problemas y a esa experiencia, entenderás mucho mejor las mejores prácticas de desarrollo e irás aprendiendo. Por ejemplo, las estructuras de datos que has planteado en StackOverflow son mejorables, pero no tiene sentido plantear ese tema cuando todavía te cuesta proponer un flujo básico de ejecución.
 
Entiendo que lo que quiere crear es una versión del dungeon roll, me equivoco?
Dungeon Roll - Juego de mesa - Resena/aprende a jugar - YouTube

Lo primero sería crear 2 vectores de 7 posiciones que se rellenen automaticamente con valores aleatorios de los posibles personajes/colores.

Una vez hecho eso, necesitas crear una matriz donde se representarán "las reglas" yo pondria en una columna los colores de los personajes, en otra los de los enemigos y en otra el resultado de enfrentar uno con otro (seria la matriz que te aperece en la tarjeta de reglas del juego.

Despues yo lo que haria a modo de test es que lances el programa, que genere ambos vectores y que tu despues seleccionando un valor de uno de los vectores y otro del otro vector te diga el resultado del "combate", a partir de ahi vamos viendo si quieres.
 
Última edición:
Buenas a los dos y muchas gracias por la ayuda!

Ya tengo parte del código hecho, porque llevo días trabajando en él, pero no fue sino antes de ayer que pude organizar todo lo que tenía hecho en código y en papel para crear algo un poco más "bonito". Os muestro lo que llevo.

from random import choices
""" Importa choices para generar opciones aleatorios con una probabilidad específica. """

class Dados:
""" Crea un objeto, enemigo o compañero, con los atributos figura y color. """
caras_grupo = {
"Guerrero":"Verde",
"Templario":"Blanco",
"Mago":"Azul",
"Ladrón":"Morado",
"Pergamino":"Marrón",
"Campeón":"Amarillo"
}

caras_mazmorra = {
"Goblin":"Verde",
"Esqueleto":"Blanco",
"Ghoul":"Azul",
"Cofre":"Morado",
"Pocima":"Naranja",
"Dragón":"Rojo"
}

def __init__(self, tipo, figura=None):
""" Devuelve el par clave:valor de un diccionario. Donde la clave es una figura y el valor un color. """
if tipo == "enemigo":
self.caras = dict(Dados.caras_mazmorra)

if tipo == "aliado":
self.caras = dict(Dados.caras_grupo)

if figura is None:
posibilidades = [i for i in self.caras.keys()]
eleccion = choices(posibilidades, weights=[2,2,2,2,1,1])
self.figura, self.color = eleccion[0], self.caras[eleccion[0]]
else:
self.figura, self.color = figura, self.caras[figura]


class Acciones:
""" Acciones de los dados en dungeon roll. """
def __init__(self):
""" Inicializa los grupos enemigos y aliados como listas. """
self.grupo_aliado = []
self.grupo_enemigo = []
self.dragones = []
self.cementerio = 0

def add(self, tipo, figura=None, cantidad=1):
"""
Añade aliados o enemigos a sus respectivos grupos.
Tipo: si es aliado o enemigo.
Figura: si queremos que sea aleatoria o nosotros especificamos una. Bastaría con poner el nombre de la figura.
Cantidad: por defecto, para añadir siempre se debe añadir 1. Puede añadirse tantos como se quieran.
Devuelve True o False según si en el grupo enemigo hay dragones.
"""
if tipo == "enemigo":
dado = self.grupo_enemigo
if tipo == "aliado":
dado = self.grupo_aliado
for i in range(cantidad):
dado.append(Dados(tipo, figura)) # Llama al método notas y le agrega el resultado a la respectiva lista, enemigo o aliado.
for i in self.grupo_enemigo:
if i.figura == "Dragón":
self.dragon = True
return
self.dragon = False

def eliminar_dados(self, eliminar_enemigo=None, eliminar_aliado=None):
""" Elimina aliados o enemigos específicos del grupo adecuado. """
def metodo_eliminar(eliminados, grupo):
""" Submétodo para eliminar los dados especificados. """
for i in eliminados:
grupo.remove(i)
if eliminar_enemigo is not None:
metodo_eliminar(eliminar_enemigo, self.grupo_enemigo)
if eliminar_aliado is not None:
self.cementerio += eliminar_aliado.count(Dados())
metodo_eliminar(eliminar_aliado, self.grupo_aliado)

def guarida_dragon(self):
""" Elimina los dragones del grupo enemigo y los añade a la guarida """
for i in self.grupo_enemigo:
if i.figura == "Dragón":
self.dragones.append(i)
for i in self.dragones:
if i in self.grupo_enemigo:
self.grupo_enemigo.remove(i)


if __name__ == "__main__":
pass



Explicando un poco, tengo la clase dados, que se encarga de generar un par clave:valor donde la clave es una figura y el valor un color. Pensé en separar la clase dados en dos, uno para enemigos y otro para aliados, pero por ahora no creo que ninguna clase haga diferente a la otra, así que creo que lo mejor, para no repetir código es dejarla como una, ¿qué opináis?

Luego me enfoqué en las posibles acciones de los dados: añadirse al grupo, eliminarse del grupo, los dragones se van a la guarida del dragon y los dados aliados que mueren se van al cementerio.

Ahora tendría que hacer el combate, que si puedes explicarme un poco más Rugamba lo que me has comentado, te lo agradecería.

Si veis cualquier cosa que se deba cambiar o se pueda mejorar, agradecería que me lo dijerais.

Gracias por la ayuda!
 
Primero haria un combate simple.
Te lo poongo redactado para que le des tu una vueltecita.

Ejemplo:
vJugador: verde,verde,azul,amarillo...
vMazmorra: azul,azul,verde,azul....

vJugadorCombate: inicialmente vacio
vMazmorraCombate: inicialmente vacio

El jugador introduce las posiciones de los dados que quiere usar para esta jugada, yo por ejemplo primero escogería el 3 (azul)

vJugadorCombate: 3

Ahora selecciona contra que enemigos lo enfrenta, que serían el 1,el 2, el 4 de vMazmorra (todos azules):

vMazmorraCombate: 1, 2, 4

Ahora hay que recorrer vMazmorraCombate para comprobar que todos son derrotados por los dados de vJugadorCombate.

En este caso, vJugadorCombate derrota a vMazmorraCombate, por lo que mandas los 4 dados al cementerio. Si no los vence vuelven a sus respectivos vectores.


No se si se entiende la idea.


Para hacer la comprobación de si vence o no, tienen que crear un metodo Comprobación (a, b) al que invocarás para comparar cada conjunto de dados.

Comprobar que si vMazmorraCombate.length > 1 todos deben ser del mismo color, si no lo son no debe dejar formar el conjunto.

Despues deberias tener una tabla donde estén las equivalencias:
Verde:verde:X
Verde:azul:1
Verde:morado:1
...
Amarillo:Verde:X
Amarillo:azul:X
....

(sería una matriz de este tipo, donde podrias cambiar los nombres de los colores por valores numericos que representen las coordenadas.
a5KvCwb.png
)

Cuando compruebes, si la combinación es X puede eliminar todos los dados de vMazmorraCombate, si es 1 solo puede eliminar uno (el primero por ejemplo)


Bueno, las reglas igual me he colado, pero hablo de memoria, lo que espero es que captes la idea.

Si dudas ya sabes, pregunta ;)
 
Buenas,

Entiendo la idea más o menos, pero no voy a negar... Que me resulta algo confuso. En estos días voy a estar trabajando y voy a tener poco tiempo para mirar el código, a ver si me puedo poner esta noche y adelantar algo.

Gracias!
 
Pega el último código que tengas por aquí, pero esta vez envuélvelo en etiquetas code para que respete las tabulaciones. Ejecútalo y pega lo que sale por consola, a ver en qué punto estás.

1. Generar equipo de personajes [HECHO]
2. Generar equipo de enemigos [HECHO]
3. Simular combate básico <--

¿Estás en este punto ahora mismo?

Insisto en que vayas paso a paso, céntrate en una tarea y no avances hasta que la completes. No añadas cosas que no necesites para realizar esa tarea. Por ejemplo, si estás haciendo la parte que genera el equipo de personajes, no añadas nada de dragones, pergaminos ni nada que no sea exclusivamente para generar el equipo de personajes.
 
Buenas!

De nuevo, gracias por los consejos.

Ahora mismo estoy de curro hasta arriba y estoy reventado, por lo que estoy avanzando muy lentamente, ahora casi que nada.

Este finde me voy de vacaciones también así que voy a tocar menos el programa.

Pero por norma, hago lo que me habéis aconsejo. Me centro en una parte y hasta que no la termino no paro, voy pasó a paso. Intentando que funcione con lo mínimo indispensable. Tendré, luego, más tiempo para mejorar, añadir o quitar.

Gracias!!
 
He avanzado un poco más en el programa. Rugamba, por ahora no he puesto en práctica tu método como tal de matices, pero aparte de que python no tiene matrices como tal, por lo que he leído, se me complica bastante ponerlo en práctica.

He tomado un desvio, probablemente provisional para ir haciendo las funciones poco a poco. Por ahora: puedo mostrar los grupos, crear ambos grupos, filtrar de dragones, selccionar para pelear y eliminar dados.

Os dejo el código por si queréis echarle un vistazo. (Sinceramente, creo que debería ordenarlo).

Código:
[COLOR=#d4d4d4][FONT=Consolas][COLOR=#c586c0]from[/COLOR][COLOR=#d4d4d4] random [/COLOR][COLOR=#c586c0]import[/COLOR][COLOR=#d4d4d4] choices[/COLOR]
[COLOR=#ce9178]""" Importa choices para generar opciones aleatorios con una probabilidad específica. """[/COLOR]

[COLOR=#569cd6]class[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]Dados[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#ce9178]""" Crea un objeto, enemigo o compañero, con los atributos figura y color. """[/COLOR]
[COLOR=#d4d4d4]    caras_grupo [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] {[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Guerrero"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Verde"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Templario"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Blanco"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Mago"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Azul"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Ladrón"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Morado"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Pergamino"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Marrón"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Campeón"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Amarillo"[/COLOR]
[COLOR=#d4d4d4]    }[/COLOR]

[COLOR=#d4d4d4]    caras_mazmorra [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] {[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Goblin"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Verde"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Esqueleto"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Blanco"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Ghoul"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Azul"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Cofre"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Morado"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Pocima"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Naranja"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]"Dragón"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Rojo"[/COLOR]
[COLOR=#d4d4d4]    }[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]__init__[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]tipo[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]figura[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]""" Devuelve el par clave:valor de un diccionario. Donde la clave es una figura y el valor un color. """[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] tipo [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"enemigo"[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].caras [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]dict[/COLOR][COLOR=#d4d4d4](Dados.caras_mazmorra)[/COLOR]

[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] tipo [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"aliado"[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].caras [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]dict[/COLOR][COLOR=#d4d4d4](Dados.caras_grupo)[/COLOR]

[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] figura [/COLOR][COLOR=#569cd6]is[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            posibilidades [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [i [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].caras.keys()][/COLOR]
[COLOR=#d4d4d4]            eleccion [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] choices(posibilidades, [/COLOR][COLOR=#9cdcfe]weights[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4][[/COLOR][COLOR=#b5cea8]2[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#b5cea8]2[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#b5cea8]2[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#b5cea8]2[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4]])[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].figura, [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].color [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] eleccion[[/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4]], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].caras[eleccion[[/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4]]][/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].figura, [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].color [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] figura, [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].caras[figura][/COLOR]


[COLOR=#569cd6]class[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]Acciones[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#ce9178]""" Acciones de los dados en dungeon roll. """[/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]__init__[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]""" Inicializa los grupos enemigos y aliados como listas. """[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_aliado [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [][/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [][/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].dragones [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [][/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].cementerio [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]0[/COLOR]
[COLOR=#d4d4d4]    [/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]add[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]tipo[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]figura[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]cantidad[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]""" [/COLOR]
[COLOR=#ce9178]        Añade aliados o enemigos a sus respectivos grupos.[/COLOR]
[COLOR=#ce9178]        Tipo: si es aliado o enemigo.[/COLOR]
[COLOR=#ce9178]        Figura: si queremos que sea aleatoria o nosotros especificamos una. Bastaría con poner el nombre de la figura.[/COLOR]
[COLOR=#ce9178]        Cantidad: por defecto, para añadir siempre se debe añadir 1. Puede añadirse tantos como se quieran.[/COLOR]
[COLOR=#ce9178]        Devuelve True o False según si en el grupo enemigo hay dragones.[/COLOR]
[COLOR=#ce9178]        """[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] tipo [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"enemigo"[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            dado [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] tipo [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"aliado"[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            dado [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_aliado[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]range[/COLOR][COLOR=#d4d4d4](cantidad):[/COLOR]
[COLOR=#d4d4d4]            dado.append(Dados(tipo, figura)) [/COLOR][COLOR=#6a9955]# Llama al método notas y le agrega el resultado a la respectiva lista, enemigo o aliado.[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] i.figura [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"Dragón"[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].dragon [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]True[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#c586c0]return[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].dragon [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]False[/COLOR][COLOR=#d4d4d4]    [/COLOR]
[COLOR=#d4d4d4]    [/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]eliminar_dados[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]eliminar_enemigo[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]eliminar_aliado[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]""" Elimina aliados o enemigos específicos del grupo adecuado. """[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]metodo_eliminar[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]eliminados[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]grupo[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#ce9178]""" Submétodo para eliminar los dados especificados. """[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] eliminados:[/COLOR]
[COLOR=#d4d4d4]                grupo.remove(i)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] eliminar_enemigo [/COLOR][COLOR=#569cd6]is[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]not[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            metodo_eliminar(eliminar_enemigo, [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] eliminar_aliado [/COLOR][COLOR=#569cd6]is[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]not[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] eliminar_aliado:[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].cementerio [/COLOR][COLOR=#d4d4d4]+=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]1[/COLOR]
[COLOR=#d4d4d4]            metodo_eliminar(eliminar_aliado, [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_aliado)[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]guarida_dragon[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#ce9178]""" Elimina los dragones del grupo enemigo y los añade a la guarida """[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] i.figura [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]"Dragón"[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].dragones.append(i)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].dragones:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo:[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo.remove(i)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]mostrar_dados[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]range[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#dcdcaa]len[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo)):[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4](i[/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo[i].figura, [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo[i].color)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]""[/COLOR][COLOR=#d4d4d4])[/COLOR]

[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]range[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#dcdcaa]len[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_aliado)):[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4](i[/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_aliado[i].figura, [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_aliado[i].color)[/COLOR]

[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]seleccionar[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].mostrar_dados()[/COLOR]

[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]while[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]True[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].a_juego [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]int[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#dcdcaa]input[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Escoge un alidado para la batalla: "[/COLOR][COLOR=#d4d4d4]))[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].a_juego [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]""[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]or[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].a_juego [/COLOR][COLOR=#d4d4d4]<=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]or[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].a_juego [/COLOR][COLOR=#d4d4d4]>[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]len[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_aliado):[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Introduce una posición válida para el aliado"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].a_juegos [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [][/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].a_juegos.append([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_aliado[[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].a_juego[/COLOR][COLOR=#d4d4d4]-[/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4]])[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#c586c0]break[/COLOR]

[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].b_juego [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [][/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]while[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]True[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            b_j [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#4ec9b0]int[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#dcdcaa]input[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Introduce un enemigo. 0 para dejar de seleccionar: "[/COLOR][COLOR=#d4d4d4]))[/COLOR]

[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] b_j [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#ce9178]""[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]or[/COLOR][COLOR=#d4d4d4] b_j [/COLOR][COLOR=#d4d4d4]<[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]or[/COLOR][COLOR=#d4d4d4] b_j [/COLOR][COLOR=#d4d4d4]>[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]len[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo):[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Introduce una posición válida para el grupo enemigo."[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]elif[/COLOR][COLOR=#d4d4d4] b_j [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]0[/COLOR][COLOR=#d4d4d4]: [/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].b_juego:[/COLOR]
[COLOR=#d4d4d4]                    [/COLOR][COLOR=#c586c0]break[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                    [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Selecciona al menos un enemigo."[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]elif[/COLOR][COLOR=#d4d4d4] b_j [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].b_juego:[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Ya has escodigo ese enemigo"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].b_juego.append([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].grupo_enemigo[b_j[/COLOR][COLOR=#d4d4d4]-[/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4]])[/COLOR]
[COLOR=#d4d4d4]        [/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].comprobar([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].b_juego, [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].a_juegos)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR]
[COLOR=#d4d4d4]    [/COLOR][COLOR=#569cd6]def[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]comprobar[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]enemigos[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#9cdcfe]aliados[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#dcdcaa]len[/COLOR][COLOR=#d4d4d4](enemigos) [/COLOR][COLOR=#d4d4d4]>[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#b5cea8]1[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#c586c0]for[/COLOR][COLOR=#d4d4d4] i [/COLOR][COLOR=#569cd6]in[/COLOR][COLOR=#d4d4d4] enemigos:[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#c586c0]try[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                    [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] i.color [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#d4d4d4] color:[/COLOR]
[COLOR=#d4d4d4]                        all_same [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]True[/COLOR]
[COLOR=#d4d4d4]                    [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                        all_same [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]False[/COLOR]
[COLOR=#d4d4d4]                        [/COLOR][COLOR=#c586c0]break[/COLOR]
[COLOR=#d4d4d4]                [/COLOR][COLOR=#c586c0]except[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                    color [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] i.color[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            all_same [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]True[/COLOR]

[COLOR=#d4d4d4]        [/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] all_same:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].eliminar_dados(enemigos, aliados)[/COLOR]
[COLOR=#d4d4d4]        [/COLOR][COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"Esa combinación no es válida."[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]            [/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].seleccionar()[/COLOR]

[/FONT][/COLOR]
 
Vi ese tutorial hace tiempo, vamos, cuando me dijiste que usara matrices, pero la verdad, con el poco tiempo que tengo y que cuando tenga 5 minutos la cabeza me retumba... Puto trabajo, dejé el tema de las matrices.

Mañana me voy de vacaciones y no voy a poder seguir con el programa durante un tiempo, pero seguiré con la programación con la aplicación sololearn, aunque sea 5 minutos al día, que no es bueno perder el contacto con la programación durante muchos días.

Cuando vuelva, espero poder ponerme con el programa. Me gustaría terminarlo antes de empezar el nuevo curso escolar, y me sois de mucha ayuda sinceramente.

Agradezco el tiempo que invertís en ayudarme y responder mis preguntas, a ver si en unos años, puedo estar por el foro ayudando yo también a los demás con sus dudas ;).

Te agradecería que hagas lo que has dicho, Rugamba, seguro que puedes sacar mil cosas a mejorar en el código y todo lo que sea aprender, bienvenido es!

Gracias de nuevo!
 
Arriba