Git Product home page Git Product logo

syllabus-2018-1's People

Contributors

cilopez avatar entamburini avatar fernandopieressa avatar flobarrios avatar fringlesinthestreet avatar gabriellyonb avatar hanavarrete avatar hernan4444 avatar javierdr avatar jecastro1 avatar jtagle2 avatar mrearle avatar polea012 avatar tvillalobos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

syllabus-2018-1's Issues

Guardar avances

Hola, cuando el usuario quiere guardar el juego se deben guardar "el nuevo estado de la galaxia" (sec 6.4.2). No dice nada de las galaxias en si, entonces al crear una galaxia, ¿se deben guardar automáticamente? ¿hay forma de eliminar y/o no guardar una galaxia creada?

gracias!

Aclaración acerca de posibles edificaciones

En el punto 5.4 se especifica que se pueden construir 2 tipos de edificio, el cuartel y la torre de defensa, pero en el punto 6.4.1 se habla también de la construcción de un escudo. Son sólo 2 edificios?
Gracias.

Type hinting en nameTuple?

Sé que en python es posible usar type hinting de la siguiente manera:

class Auto:
    def __init__(self, gasolina: int =0, marca: str = ""):
        self.gas: int = gasolina
        self.marca: str = marca

Si quisiera hacer eso en una namedTuple, como podria poner el type hinting ?

al conquistar un planeta

al conquistar un planeta, el planeta conquistado queda poblado con la raza con la que parti el primer planeta, o con la raza que posee ya el planeta que conquiste?

si el planeta queda con la raza del primer planeta que tuve, en el evento del archimago, si desconquista mi planeta, con que raza queda ese planeta desconquistado? (ya que su poblacion y edificios quedan al maximo al desconquistarlo)

pip para ubuntu 16.04 LTS

Dentro de las instrucciones para instalar el Software Obligatorio se recomienda, entre otras cosas, desintalar las versiones anteriores de python antes de instalar Python 3.6. En el caso de Ubuntu esto no es recomendable hacer ya que varias funciones del sistema funcionan con python 3.5, es más, el sistema lanza un mensaje de emergencia corroborando lo mismo. Por otro lado en mi caso particular el comando "sudo apt-get install libfreetype6-dev libxft-dev" no funciono correctamente. En mi caso personal logre hacer las instalaciones correspondientes pero por otro lado. Para otros usuarios con mi mismo sistema recomiendo que busquen como instalar pip3.6, instalar python3.6 y buscar por internet como linkear ambos y hacer python 3.6 como lenguaje de preferencia para los editores de texto. Por último, utilizar los mismo comandos que aparecen en las instrucciones pero reemplazando pip3 por pip3.6.
Espero que haya sido útil la información, si tengo algún error por favor haganlo saber.

Duda Evolución Tarea 1

En el enunciado de la tarea, al calcular el nivel de evolución de cada planeta, dice que sumemos (Cantidad de magos y soldados)/Población total.
¿La Población total se refiere a la población de cada planeta (en cuyo caso, el resultado de la división siempre será 1), a la población de la galaxia o a la población máxima del planeta?
Muchas gracias.

Uso Git con repositorio remoto

Por razones de fuerza mayor me ausenté a la actividad 00 y aunque ya he repasado toda la materia para ésta semana, estoy intentando hacer ésta actividad (fuera de plazo). Pero hay algo que no me resulta:

Resulta que configuré git y también cloné el repositorio con git clone. Luego creo la carpeta AC00 dentro de la carpeta con el mismo nombre que mi repositorio que se encuentra en mi computadora (no sé si tenía que hacerlo de forma directa, pero cree la carpeta como normalmente se hace) y le agrego hello.py que pedian. Pero al momento de escribir git status el archivo no aparece debajo del untracked más que Actividades/AC00 ¿Me falta un paso o un comando para que aparezca hello.py?

Gracias :)

Eventos

Sobre los eventos, hay prioridad con la cual reciben daño las estructuras?, EJ: primero el cuartel y despues la torre, el daño se reparte o queda a mi criterio?. Segundo, en caso de que una estructura no alcance a ser destruida, esta queda con esa vida para siempre o puede ser regenerada (usando recursos o con el tiempo)?

Habilidad Asesinos

En el enunciado hay una contradicción, primero se dice que la probabilidad de los asesinos de atacar el doble es de 40%, y más adelante dice 30%. ¿Cuál hay que usar?

Abrir un path

Hola, estaba tratando de abrir un archivo de la forma
with open(base_path+path, "r") as infile:
Para no utilizar como base_path la ruta completa (C:\Users\User\Documents....) si mal no recuerdo se utiliza "./".
Lo probé utilizando sublime y no tengo ningún problema, en cambio en Atom se me cae el programa:
FileNotFoundError: [Errno 2] No such file or directory: *

Orden de columnas en archivos CSV

En la sección 10 del enunciado de la T01 hay la siguiente ominosa frase: "Cabe destacar que, en el formato CSV, el orden de las columnas pueden variar." 👻

En nuestra tarea, ¿debemos tomar en cuenta este hecho? ¿O podemos asumir que los archivos CSV de la tarea siempre tendrán el mismo orden de columnas que los archivos iniciales dados por generar_archivos.py? Es decir, que podamos asumir que en el archivo galaxia.csv la primera columna siempre contendrá el nombre de la galaxia, la segunda siempre el número de minerales, y la tercera siempre el número de deuterio.

¡Gracias de antemano!

Abuso de properties

¿Es penalizable el utilizar properties con el único fin de hacer un atributo de solo lectura? Todavía más, ¿qué hay de utilizarlas para todos los atributos?

Diagrama de clases y properties

Estaba leyendo los contenidos referente a diagramas de clases y no pude encontrar como referenciar en el diagrama de clases el uso de las properties. ¿Será necesario hacerlo dado que siento que de otra manera no queda explicito el funcionamiento del codigo? Y en el caso de que fuera así, ¿cómo se haría?

Tasa minerales/deuterio por segundo

Dice que es un número aleatorio entre 1 y 10. Este numero tiene que ser un int o puede ser un float?
Lo mismo con cualquier otro numero aleatorio?

6.3 Consulta galaxias - Mejor galaxia

Hola!, en este punto del enunciado sale que solo se consideraran las galaxias que tengan al menos 3 planetas. Los planetas tienen que estar conquistados para ser considerados o se calcula con todos los planetas de la galaxia sin importar si esta conquistado?

Modelado de clases

Hola
Quería saber si somos realmente libres de modelar el problema como queramos o si hay restricciones no dichas como que los soldados asesinos, aprendices, maestros y magos maestros deban ser clases distintas.
Gracias.

Posible error en el script generar_archivos.py

Creo que hay un error en el script generar_archivos.py, ya que leyéndolo me pareció que ser mago es una raza y no aparece en ninguna parte la raza maestro. Pregunto porque creo que no puedo modificar el script.

Jupyter Notebook para ver contenidos

Hola, disculpen la ignorancia pero, existe alguna forma de leer los contenidos con Jupyter Notebook para ir ejecutando y/o modificando los códigos?
Muchas Gracias!

consola y tkinter

En referencia a la respuesta dada por @FernandoPieressa en el issue #21, me gustaría saber si se puede usar la ventana de tkinter para llamar a la consola (por ej, si tengo que recibir un input llamar a la consola; pero si quiero volver atrás puedo apretar un botón en la ventana(de tkinter)) o toda funcionalidad debe estar expresada en la consola.
Pregunto porque al pedirnos el uso de la consola, y el manejo de input robusto puede referirse solo al manejo de errores de input.
Gracias

Al invadir un planeta...

Hola,
Al invadir un planeta, los edificios de la raza invasora siguen dando el boost en la vida y ataque del ejército?

Habilidad Aprendiz

Si esta habilidad es utilizada por soldados del jugador, no hay límite de minerales para robar. En caso de que sea la maquina quien aplica esta habilidad, el límite de minerales a robar es la cantidad de minerales que dispone el jugador en ese momento.

No entiendo a qué se refiere de cuando la habilidad es utilizada por soldados del jugador o la máquina

Fechas del calendario

hoola

Tuve un problema para visualizar el calendario en la pagina .io del curso y me bajé el archivo. Lo que pasa es que en el archivo la actividad 3 es el 5 de abril, lo que me hizo preguntar si el jueves 29 de marzo no habrá actividad. Y en el caso de ser un error, el resto de fechas tanto de actividades, como de controles y tareas están correctas o también se desfasaron de la misma forma?

Gracias :)

Crear planetas

hola, no me quedo muy claro cuando puedo crear un planeta,

Si estoy en el inicio del juego, antes de entrar en una galaxia, puedo crear un planeta dando un nombre, una raza y además especificando la galaxia a la que pertenece o solo luego de haber entrado a una galaxia.

Atom no logra correr archivos en python

Hola!
Estoy tratando de dejar lista la ultima versión de Atom en windows 10 para usarlo como editor de código principal y al intentar correr cualquier archivo .py me dice que "python" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable. ¿Que puedo hacer para solucionarlo?

image

Solución AC01

Hola! terminé a AC01 (obviamente, después de entregarla incompleta en el horario de entrega), no tengo idea cómo subirla por aquí o cómo usar Jupyter Notebook, pero si a alguien le sirve me puede escribir.
[email protected]
Salud3s.

Vida soldados y magos

Dentro de un ejército, todos los soldados tienen la misma cantidad de vida? De ser así, pasa lo mismo con los magos?

Poblacion inicial planetas

En el enunciado de la tarea, dice que al crear una nueva galaxia, los planetas deberán ser poblados con el 75% de su población máxima.
Esto debe ser con soldados, a pesar de que el planeta no tenga cuartel?

Duda con ejemplo Properties

Hola! Estaba viendo los contenidos de Properties y en la celda en que se define la clase Puente con decoradores algo no está funcionando bien, porque luego de que se setea la cantidad de personas en el puente a 10, se le restan 15 personas y quedan 5 personas, lo que no hace mucho sentido. De hecho está ocurriendo algo totalmente distinto, como se puede apreciar en el mismo código algo modificado:

"""
Implementación de un puente.
"""


class Puente:  # pylint: disable=too-few-public-methods

    """Esta clase modela el funcionamiento de un puente."""

    def __init__(self, maximo):
        self.maximo = maximo
        self.__personas = 0

    @property
    def personas(self):
        """Retorna la cantidad de personas en el puente."""
        return self.__personas

    @personas.setter
    def personas(self, suma):
        print('Sumando {}'.format(suma))
        if self.__personas + suma > self.maximo:
            print('Se le suma {}, pero se pasa del máximo'.format(suma))
            self.__personas = self.maximo
        elif self.__personas + suma < 0:
            print('Se le suma {}, pero se pasa del mínimo'.format(suma))
            self.__personas = 0
        else:
            print('Se le suma {}, está dentro del rango'.format(suma))
            self.__personas += suma
        print()


PUENTE = Puente(10)
print('Sumar 7:')
PUENTE.personas += 7
print('Sumar 5:')
PUENTE.personas += 5
print('Sumar -15:')
PUENTE.personas -= 15

Mi pregunta entonces es, cómo se pueden usar los decoradores en el mismo ejemplo para poder usar la suma como parte de la propiedad?

Duda planetas conquistados

Cuando juego creando una galaxia y un planeta, este planeta que creo parte conquistado (por mi) o no?

Abstract base class

Las clases abstractas pueden tener atributos abstractos? Estaba buscando ejemplos y siempre importan abstractmethod y ocupan decoradores, pero no veo que le coloquen atributos a esa clase. Más que nada le ponen pass a esos métodos abstractos, entonces no entiendo bien la utilidad más allá de no poder instanciar esa clase. Agradecería si pudieran explicarme esto un poco más :)

Gracias de antemano!

"Vida de un soldado", "vida de un mago"

En el enunciado de la tarea 1 sale que tras la batalla, para calcular el número de soldados/magos sobrevivientes se usan unas fórmulas que usan "vida de un soldado" y "vida de un mago" como parámetros. Como estas variables toman valores que oscilan en un rango, ¿Qué vida pongo?

Además, suponiendo que inicié con 25 soldados y tras la batalla sobreviven 15, ¿cómo decido cuáles diez eliminar de mi ejército? (aleatorio, los con menor vida, los con mayor vida, ¿o queda a mí criterio?)

pep8 con caracteres 'especiales'

Hola,
Python es muy especial y al menos en su versión 3.6.x aguanta usar 'ñ' o tildes en los nombres de variables, funciones y clases, y pep8 no menciona nada al respecto. ¿Hay algún problema con que use tildes o eñes en mi código o como regla adicional no se puede?

PD: en jupyter notebook también lo aguanta

Horario de consulta para las tareas

Durante la primera clase se entregó la información de que durante el semestre iba a existir un horario para responder dudas sobra las tareas, por lo visto este sería un horario único justo después de las ayudantías. Es por esto que quería saber si cabe la posibilidad de que exista otra instancia, ya que puede existir tope de horario con otra cátedra o ayudantía.

Métodos abstract base class

Me surgió otra duda con respecto a las clases abstractas. Pueden tener métodos que NO sean abstractos?
Por ejemplo quiero que todas las clases que heredan de la clase Persona ocupen el método str o repr de la misma forma. Le tengo que colocar @AbstractMethod o no a ese método para que los alumnos, profesor, ayudantes, etc tengan ese método repr?

Gracias!!

evento archimago

si un planeta es desconquistado por culpa del archimago, con que raza queda poblada ese planeta?

Diagrama de clases, atributos: subclases

Tengo una clase madre con tres posibles clases hijas.
En otra clase, un atributo puede ser una de las tres clases hijas. En el diagrama de clases qué tipo de dato coloco en ese atributo que puede ser cualquiera de las tres clases hijas? ¿Pongo la clase madre?

Librerías permitidas/no permitidas en la T01

Para consultar sobre una librería deben responder esta issue con una pregunta de la siguiente forma:

¿Puedo usar la librería nombre_librería para hacer explicación_de_lo_que_quiero_hacer?

Recuerden especificar en su README qué librerías utilizan!


Librerías Permitidas

  • random
  • collections
  • math
  • operator
  • abc
  • os
  • copy
  • time
  • datetime
  • decimal

Librerías Prohibidas

  • json
  • ast
  • pickle
  • re
  • csv
  • pandas
  • curses
  • io

Built-ins prohibidos

  • eval (:skull:)
  • exec (:skull:)

Tiempo y colas

En el archivo 03-colas.ipynb dice:

"Buscar el elemento 5000000 en el deque se demoró 0.005168914794921875 segundos
Buscar el elemento 5000000 en la lista se demoró 6.29425048828125e-05 segundos
La búsqueda en deque fue 82.12 veces el tiempo de list."

¿Es más rápida una lista o una queue?

Material semestres anteriores - soluciones ACs

Estimados,

Me han escrito preguntando sobre dónde ver soluciones de ACs pasadas. El en Syllabus del curso pueden encontrar las versiones pasadas. En particular el semestre 2015-1 tiene soluciones. En ese entonces eran 2 ACs por semana porque los módulos no estaban unidos.

Este material les puede servir para prepararse para las clases. Además, por supuesto, de los archivos interactivos en Jupyter Notebooks que les estamos subiendo.

Saludos y éxito en el estudio!
Belén

Nivel de Ataque

En el enuciado de la tarea 1 dice que se aplica el ponderador a los soldados, ¿En este caso se refiere a las unidades del ejercito (soldados y magos) o solamente a las unidades soldado?

Reglas del foro (issues)

Issues

Este foro está para que compartan sus dudas. También será usado para publicar información relevante en algunos casos.

Este es un medio oficial de comunicación por lo que es tu deber revisarlo periódicamente, ojalá todos los días, para que no estés desinformado/a.

Reglas del foro:

  1. Revisar si alguien más ya preguntó por tu duda. Si se repite algo ya preguntado en otro issue, se cerrará el repetido y no se responderá. No olvidar que también podría estar en algún issue cerrado.

  2. Googlear antes de crear un issue. Si no está en internet, o no te queda claro, crea una issue.

  3. No puedes postear código de tus tareas ni una solución directa a algún problema de tus compañeros, relacionado a la tarea. Si tienes una duda puedes crear un código de ejemplo, que no entregue suficiente información, con tal de que no puedan copiarte.

  4. El foro no es un medio de reclamos. Cualquier mensaje de este tipo debe ser enviado mediante el mail de ayudantes encontrado en la página principal. Procura ser respetuoso/a. Tampoco debes enviar mails a los ayudantes en caso de necesitar ayuda, a menos de que te lo hayan dicho ellos mismos.

  5. Los issues con el label "IMPORTANTE" deben ser revisados con obligación y no se podrá apelar a recorrección si es que no sale en el enunciado pero sí en este tipo de issue. Todos estos issues tienen información oficial sobre el enunciado de las tareas.

  6. Procura que los nombres de los issues que crees sean descriptivos y se entienda de qué se trata. Por ejemplo "dudas" o "dudas tarea" es un mal nombre, pero "Duda sobre cuánto se obtiene de cada divisa al comenzar" es un mejor nombre.

Modificar galaxia

En el item 6.2 de la tarea se pide que el jugador pueda modificar las tasas de recolección,¿Debemos limitar las tasas de recolección en los intervalos pedidos inicialmente ? ¿O debemos permitir que el jugador exceda estos valores iniciales de los planetas? (en el enunciado señala que debe ser mayor que cero, pero no se si las tasas de recolección tienen una capacidad máxima como tal)

Recursos de una galaxia

Hola, no me queda muy claro para qué sirven los recursos que tiene una galaxia (i.e. Los recursos que vienen en el archivo galaxias.csv).

Entiendo que cuando uno empieza a jugar en una galaxia, parte con 1000 minerales y 1000 deuterios. O sea que finalmente sólo serviría para mostrar cuantos recursos tiene una galaxia en las consultas, y ni siquiera para el Ranking de Galaxias (puesto que aquí influyen los recursos del planeta).

Sería bacan si me lo puede aclarar alguien, por favor!
Gracias

Cálculo de daño

En el enunciado sale: "Cuando una entidad ataca, la vida de la
otra entidad (ejército enemigo) se reduce según la cantidad de daño que tiene el atacante."

Donde dice "cantidad de daño" debe decir "cantidad de ataque"?
La fórmula de daño es daño = ataque o hay/puede ser otra? (lineal, polinomial, logarítmica, raíz, etc...)
Y la única variable involucrada es qué tanto ataque tenga? Se puede agregar un ponderador aleatorio y otros que dependan de, por ejemplo, la vida que le queda al atacante?

Typing en UML?

Hay alguna forma de poner union de tipos en uml? Por ejemplo
+ saldo: Union[int, float] ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.