World Cup Simulator C++

Виконано Опубліковано %project.relative_time Оплачується при отриманні
Виконано Оплачується при отриманні

Descripción:

Copa Mundial de Fútbol

En este proyecto, se requiere que usted desarrolle una simulación de la Copa Mundial de la FIFA. En este mundial de fútbol, hay 32 equipos los cuales se organizan en ocho grupos de cuatro equipos cada uno (grupo A, B, C, D, E, F, G y H). En cada simulación la repartición de equipos en los grupos se debe hacer de manera aleatoria. El torneo tiene dos fases: la fase de grupos y la fase eliminatoria.

En la fase de grupos, los equipos de cada grupo juegan en round robin. Esto significa que cada equipo juega un partido con todos los demás de su grupo. Los equipos obtienen tres puntos por cada partido ganado y un punto por cada partido empatado. Al final de la fase de grupos, los dos equipos con más puntaje de cada grupo avanzan a la fase eliminatoria.

La fase eliminatoria consta de: octavos de final, cuartos de final, semifinales, un partido definitorio del tercer lugar, y la final. En los octavos de final, el mejor equipo del grupo A juega contra el equipo del grupo B en la segunda posición, y viceversa. Igual para los grupos C y D, E y F, y así sucesivamente.

En la fase eliminatoria, el equipo que gana un partido pasa a la siguiente ronda y el que pierde queda eliminado. En caso de empate, se juega una tanda de penales para determinar el ganador.

Cada equipo tiene una plantilla de 23 jugadores, y éstos pueden ser: arquero (gk), defensa (df), mediocampista (cf) o delantero (fw).

En cada partido, bien sea de la fase de grupos o de la fase eliminatoria, se deben generar goles de forma aleatoria. Para cada gol es necesario registrar el goleador y el minuto del juego en que se realizó el gol. El goleador se debe escoger aleatoriamente entre los jugadores delanteros (FW) de un equipo. El minuto del juego que corresponde al gol también se decide aleatoriamente.

Datos de entrada

Para el proyecto se facilita un archivo de entrada "[login to view URL]" que contiene la plantilla de jugadores para cada uno de los 32 equipos. El archivo está en formato de texto con los valores separados por comas y consta de las siguientes columnas:

Equipo: el nombre del equipo (país).

Número del jugador: el número del jugador dentro del equipo.

Posición: la posición que juega el futbolista, que puede ser arquero (gk), defensa (df), mediocampo (cf) o delantero (fw).

Nombre: el nombre del jugador.

Nombre corto: el nombre que aparece en la franela del jugador.

Requerimientos del proyecto

El programa debe cumplir con los siguientes requerimientos:

Se deben definir los ocho grupos seleccionando los equipos aleatoriamente.

Se debe simular tanto la fase de grupos como la fase eliminatoria.

Los partidos de la fase de grupos se deben jugar en round robin. Se debe mostrar el resultado de cada partido así como el tablero de clasificaciones del grupo al final de esta fase. En el tablero de clasificaciones del grupo se debe mostrar para cada equipo: juegos ganados, juegos empatados, juegos perdidos y puntuación. En este tablero los equipos se deben imprimir ordenados según su puntuación de mayor a menor.

En cada partido, los goles se generan aleatoriamente indicando el goleador y el minuto de juego. El goleador debe ser un delantero (FW).

Se debe simular la fase eliminatoria incluyendo: octavos de final, cuartos de final, semifinales, partido definitorio del tercer lugar y final.

En los octavos de final, los equipos se deben repartir según la regla explicada en la introducción. Es decir, el mejor equipo del grupo A con el segundo del grupo B y viceversa, lo mismo para los grupos C y D, y así sucesivamente.

Se debe mostrar el resultado de cada partido que debe incluir: el marcador final y la lista de goles de cada equipo incluyendo el goleador y el minuto de juego. Si hubo tanda de penales se debe mostrar el resultado también de esta tanda. Recuerde que en la fase de grupos no hay penales.

Al final de la copa, se debe imprimir cuál equipo quedó en primer lugar (Oro), segundo lugar (Plata) y tercer lugar (Bronce). Adicionalmente, se debe mostrar cuál fue el jugador que metió más goles en el campeonato.

Una vez terminada una simulación de la copa, el usuario tendrá la opción de guardarla a un archivo para poder cargarla posteriormente.

Dentro del programa, el usuario tendrá la opción de realizar una simulación nueva o cargar una simulación existente para ver sus resultados.

Detalles de implementación

El programa debe ser implementado en el lenguaje de programación C++. Debe incluir dentro de su proyecto un archivo README que explique cómo compilar y ejecutar su programa.

Consejos de implementación

Se recomienda seguir las siguientes prácticas:

Defina todas las clases (class) necesarias para el programa, por ejemplo: Jugador, Partido, Gol, Equipo, etc.

De acuerdo con las convenciones de código de C++, no es necesario que cada clase esté en un archivo separado. Por ejemplo puede haber un archivo de encabezado (.hpp) donde se definen todas las clases y uno o varios archivos de implementación (.cpp) donde se implementan.

Utilice un editor de código que permita compilar todos los archivos con un solo comando. En caso de que su editor no tenga esta característica, puede utilizar un Makefile.

Para la escritura de archivos, puede utilizar el formato JSON. Se permite usar cualquier biblioteca de JSON de C++

Введення даних Програмування на C++

ID Проекту: #37963218

Про проект

10 заявок(-ки) Дистанційний проект Остання активність 1 місяць тому

Доручено:

parthvichhi4

I am excited to submit my bid for the FIFA World Cup Simulation Project. With a strong background in C++ programming and a passion for sports. Approach: I will design a modular and extensible architecture to simulate Більше

$25 USD за 14 дні(-в)
(0 відгуків(-и))
0.0

10 фрілансерів(-и) готові виконати цю роботу у середньому за $20

sito20082

I am doctor with about 2 year experince in hospital, I am virtual medical assisatnce with good knowledge in medical term and data entry in general, very good in use microsft office, cooperative and patient, you will be Більше

$20 USD за 7 дні(-в)
(0 відгуків(и))
0.0
Analuz143

I will complete your work in required time, I'll work honestly and give my 100% efforts in this work. I'm new ,please give me my first work.

$20 USD за 7 дні(-в)
(0 відгуків(и))
0.0
eissa4

I am completely free, which makes me work focused on your project and I love organizing Dat arranged as you request and completed in time

$20 USD за 7 дні(-в)
(0 відгуків(и))
0.0
shubhammehta4003

Hi [Sir/Mam], I'm [Subham], and I'd love to do this work for you I'm a great fit because I am well experienced in this type of work]. I'm ready to start working on your project [when] and can complete it Більше

$15 USD за 8 дні(-в)
(0 відгуків(и))
0.0
suratweb

Hola señor, Somos una empresa de desarrollo india aquí. Hemos verificado los detalles publicados aquí y queremos más aclaraciones, así que envíenos un mensaje para discutirlo más y luego podremos avanzar. Gracias....

$10 USD за 1 день
(0 відгуків(и))
0.0
Valentben

I have experience in the language and I can carry out the program, we can message each other and show you my work.

$20 USD за 7 дні(-в)
(0 відгуків(и))
0.0
CariAlejandra

Hola, estoy interesada en su proyecto. Tengo experiencia comprobada en procesamiento de datos, ingreso de datos en Excel y redacción de contenidos. Como asistente virtual, tengo habilidades de escritura y mecanografía Більше

$20 USD за 7 дні(-в)
(0 відгуків(и))
0.0
pablolgamarra

Hola Quetal? Soy un estudiante de ingeniería informática con basta experiencia desarrollando en C++, llegando a enseñar a estudiantes. Tu proyecto es muy interesante, siempre es atractivo desarrollar “simulaciones”. Pu Більше

$30 USD за 7 дні(-в)
(0 відгуків(и))
0.0