Esta página muestra el Proyecto (Entre nosotros) del curso ADSA.

Para hacer esto mi- proyecto: 

  • Haz grupos de solo dos estudiantes. 
  • Realizar informe sobre el estudio teórico, modificación, esquemas o esquemas y discusiones sobre los resultados.  
  • No incluya ningún código en este informe teórico. Preste atención a la calidad y el formato escritos de su informe. 
  • Para cada paso, detalle el modelo, el algoritmo "sin código" y la discusión. 
  • Todas las partes deben estar codificadas en un proyecto "python o C #". Un idioma para todos los proyectos. Toda la parte debe estar codificada en el proyecto. 
  • Cree código limpio, funcional y comentado y muestre los resultados. 

Tél entregables 

  • Informe en PDF de 10 a 20 páginas 
  • Código postal

Proyecto ADSA: Proyecto ADSA Among Us

Paso 1: organizar el torneo

Zerator le pide que organice el próximo torneo "Among Us" para la próxima ZLAN. Descubra en un breve video el juego Entre nosotros.

 

Las reglas son las siguientes:

  • Total de 100 jugadores
  • 10 jugadores por juego
  • 3 juegos aleatorios entonces
  • cada juego reagrupa a los jugadores por un lote de diez siguiendo su clasificación.
    • Los últimos 10 jugadores (en el ranking) son expulsados al torneo.
    • Hazlo hasta que queden solo 10 jugadores
  • Para los últimos 10 jugadores, juega 5 juegos con clasificación reiniciada. Actualiza y revisa el ranking de los 10 jugadores y dale al podio.

Aquí está el modelo de clasificación:

  • Impostor: 1 puntos por muerte, 3 puntos por asesinato no descubierto, 10 puntos si gana
  • Compañero de tripulación: 3 puntos si el argumento desenmascara a un impostor, 1 punto si se realizan todas las tareas en solitario, 5 puntos si gana

Cada vez que finaliza un juego, la puntuación de cada jugador es la media de todos sus juegos.

Los jugadores se almacenan en una base de datos estructurada con una complejidad de registro para llegar a un elemento que corresponde a una puntuación (la estructura más optimizada presentada en el Curso ADSA).

Discuta sobre la pregunta, presente el código y muestre los resultados.

  1. Propone una estructura de datos para representar a un jugador y su puntuación.
  2. Propone una estructura de datos más optimizada para el torneo (llamada base de datos en las siguientes preguntas)
  3. Presentar y discutir sobre un método que aleatoriza la puntuación de los jugadores en cada juego (entre 0 puntos y 12 puntos)
  4. Presentar y discutir sobre un método para actualizar la puntuación de los jugadores y la base de datos
  5. Presentar y discutir sobre un método para crear juegos aleatorios basados en la base de datos.
  6. Presentar y discutir sobre un método para crear juegos basados en la clasificación.
  7. Presentar y discutir sobre un método para dejar a los jugadores y jugar hasta los últimos 10 jugadores.
  8. Presentar y discutir sobre un método que muestre a los jugadores TOP10 y el podio después del juego final.

Proyecto ADSA entre nosotros

Paso 2: Profesor Layton < Guybrush Threepwood < Tú

No solo eres el organizador del torneo, también eres un jugador. Por lo tanto, debes encontrar las mejores estrategias para agarrar puntos para subir la escalera.

La mayoría de las veces, los dos impostores están entre compañeros de tripulación. Nunca caminan juntos. Por lo tanto, la información sobre los jugadores que se ven juntos puede ayudar a encontrar al impostor. Después del informe de la primera muerte, la siguiente información presenta a los jugadores que se ven entre ellos:

  • El jugador 0 ha visto a los jugadores 1, 4 y 5
  • El jugador 1 ha visto al jugador 0, 2 y 6
  • El jugador 2 ha visto a los jugadores 1, 3 y 7
  • El jugador 3 ha visto a los jugadores 2, 4 y 8
  • El jugador 4 ha visto al jugador 0, 3 y 9
  • El jugador 5 ha visto al jugador 0, 7 y 8
  • El jugador 6 ha visto a los jugadores 1, 8 y 9
  • El jugador 7 ha visto a los jugadores 2, 5 y 9
  • El jugador 8 ha visto a los jugadores 3, 5 y 6
  • El jugador 9 ha visto a los jugadores 4, 6 y 7.

El jugador 0 ha sido reportado muerto. Entonces 1, 4 y 5 pueden ser un impostor. Teniendo en cuenta que el segundo impostor no ha visto al jugador 1, 4 o 5, definir un conjunto de probables impostores.

Discutir sobre la pregunta, presente el código y muestre los resultados.

  1. Represente la relación (he visto) entre jugadores como un gráfico, discuta sobre su modelo.
  2. Gracias a un problema de teoría de grafos, presente cómo encontrar un conjunto de probables impostores.
  3. Discute sobre un algoritmo que resuelva tu problema.
  4. Implemente el algoritmo y muestre una solución.
mapa entre nosotros algoritmo

Paso 3: ¡No lo veo, pero puedo dar pruebas de que se desahoga!

Todo el juego estará encendido este mapa.

Teniendo en cuenta que un jugador (un compañero de equipo) solo puede caminar a través del mapa, pero un impostor también puede viajar con ventilación, es importante calcular el tiempo de viaje entre cada habitación para los compañeros de equipo y los impostores.

Una habitación está representada por su centro (no es necesario que sea preciso). Una habitación tiene un enlace con otra habitación si hay un pasillo entre ellas. El tiempo para viajar 1 cm es 1 segundo. Puede dibujar un gráfico para modelar el ADSA MAP.

Impostor también puede tomar el respiradero; el mapa muestra el vínculo entre cada ventilación. Tomando un respiradero no toma tiempo.

Para desenmascarar a los impostores, tienes la idea de comparar el tiempo de viaje entre cualquier par de habitaciones en dos casos: si eres un compañero de tripulación; si eres un impostor.

Discuta sobre la pregunta, presente el código y muestre los resultados.

  1. Presenta y argumenta sobre los dos modelos del mapa.
  2. Discutir sobre un camino algoritmo para implementar.
  3. Implemente el método y muestre el tiempo de viaje para cualquier par de habitaciones para ambos modelos.
  4. Muestra el intervalo de tiempo para cada par de habitaciones en las que el viajero es un impostor.
entre nosotros proyecto

Paso 4: Asegure las últimas tareas

Solo quedan unas pocas tareas y ganarás como compañero de tripulación. Decides terminar las últimas tareas formando un paquete con todos los jugadores restantes. De hecho, en una manada, los impostores no pueden matar a nadie, serán desenmascarados.

El mapa es ADSA MAP. Debes ir lo más rápido posible para terminar todas las tareas restantes antes de que los impostores distraigan a la manada en su ruta. Por lo tanto, decide explorar el mapa sala por sala y finalizar la tarea en la sala actual. Se visitará una habitación solo una vez.

Discuta sobre la pregunta, presente el código y muestre los resultados.

  1. Presenta y argumenta sobre el modelo del mapa.
  2. Gracias a un problema de teoría de grafos, presente cómo encontrar una ruta que pase por cada habitación solo una vez.
  3. Discute sobre un algoritmo que resuelva tu problema.
  4. Implemente el algoritmo y muestre una solución.
final del proyecto entre nosotros