#include <stdio.h>
// Création fonction ultimeDefi
void ultimeDefi(char *questions[], char *reponses[][4], int correctes[], int *points, int niveau) {
// Initialisation des variables scoreNiveau et pointsParQuestion à 0
int scoreNiveau = 0;
int pointsParQuestion = 0;
printf("Relever l\'Ultime Défi !\n\n");
// Définir les points par question en fonction du niveau
switch (niveau) {
case 1:
pointsParQuestion = 1;
break;
case 2:
pointsParQuestion = 2;
break;
case 3:
pointsParQuestion = 3;
break;
}
printf("Bienvenue dans le niveau %d !\n\n", niveau);
// Boucle for pour les questions
for (int i = 0; i < 10; i++) {
// Afficher la question
printf("%s\n", questions[i]);
printf("a) %s\nb) %s\nc) %s\nd) %s\n", reponses[i][0], reponses[i][1], reponses[i][2], reponses[i][3]);
// Lire la réponse du joueur
int reponseUtilisateur;
printf("Votre réponse (1 - 4) : ");
do {
int resultat = scanf("%d", &reponseUtilisateur);
// Si l'entrée est invalide, on demande à l'utilisateur de recommencer la saisie
while (resultat != 1 || reponseUtilisateur < 1 || reponseUtilisateur > 4) {
printf("Réponse invalide. Veuillez entrer un nombre entre 1 et 4 : ");
while (getchar() != '\n'); // Supprime la saisie de l'utilisateur
resultat = scanf("%d", &reponseUtilisateur); // Réessaye de lire la saisie
}
} while (reponseUtilisateur < 1 || reponseUtilisateur > 4);
// Vérifier la réponse
int estCorrect = (reponseUtilisateur - 1 == correctes[i]);
switch (estCorrect) {
case 1:
printf("VRAI ! Bonne réponse.\n\n");
scoreNiveau += pointsParQuestion;
break;
case 0:
printf("FAUX ! La bonne réponse était : %s\n\n", reponses[i][correctes[i]]);
break;
}
}
// Ajout du score du niveau au score total
*points += scoreNiveau;
// Résultat du niveau
printf("Vous avez obtenu %d points pour le niveau %d.\n", scoreNiveau, niveau);
}
int main() {
int points = 0;
int niveau = 1;
// Questions niveau facile
char *questionsFacile[] = {
"Question 1 : Quelle est la capitale de la France ?",
"Question 2 : Quel est le plus grand océan du monde ?",
"Question 3 : Combien de continents y a-t-il sur Terre ?",
"Question 4 : Quel animal est surnommé \"le roi de la jungle\" ?",
"Question 5 : Quelle planète est la plus proche du Soleil ?",
"Question 6 : Qui a peint la Joconde ?",
"Question 7 : Quelle est la langue officielle du Brésil ?",
"Question 8 : Combien y a-t-il de minutes dans une heure ?",
"Question 9 : Quelle est la couleur du sang humain ?",
"Question 10 : Comment s'appelle le président des États-Unis élu en 2020 ?"
};
// Réponses niveau facile
char *reponsesFacile[][4] = {
{"Londres", "Madrid", "Paris", "Rome"},
{"Atlantique", "Indien", "Arctique", "Pacifique"},
{"7", "5", "8", "6"},
{"L'éléphant", "Le tigre", "L'ours", "Le lion"},
{"Vénus", "Mars", "Mercure", "Terre"},
{"Pablo Picasso", "Léonard de Vinci", "Vincent van Gogh", "Claude Monet"},
{"Espagnol", "Italien", "Portugais" , "Anglais"},
{"60", "50", "70", "80"},
{"Bleu", "Vert", "Violet", "Rouge"},
{"Donald Trump", "Barack Obama", "Joe Biden", "George Bush"}
};
// Réponses correctes niveau facile
int correctesFacile[] = {2, 3, 0, 3, 2, 1, 2, 0, 3, 2};
// Questions niveau intermédiairee
char *questionsNormal[] = {
"Question 1 : Quel pays est surnommé le \"pays du soleil levant\" ?",
"Question 2 : Quel scientifique a proposé la théorie de la relativité ?",
"Question 3 : Quel est le plus long fleuve du monde ?",
"Question 4 : Qui a écrit Les Misérables ?",
"Question 5 : Quelle est la capitale de l\'Australie ?",
"Question 6 : Quelle invention est attribuée à Johannes Gutenberg ?",
"Question 7 : Quel est l'élément chimique représenté par le symbole \"O\" ?",
"Question 8 : Dans quelle ville italienne se trouve le Colisée ?",
"Question 9 : Quel est l'artiste célèbre pour la sculpture Le Penseur ?",
"Question 10 : En quelle année l'homme a-t-il marché sur la Lune pour la première fois ?"
};
// Réponses niveau intermédiaire
char *reponsesNormal[][4] = {
{"Chine", "Japon", "Corée du Sud", "Thaïlande"},
{"Isaac Newton", "Galileo Galilée", "Stephen Hawking", "Albert Einstein"},
{"Nil", "Amazone", "Yangtsé", "Mississipi"},
{"Victor Hugo", "Gustave Flaubert", "Émile Zola", "Honoré de Balzac"},
{"Sydney", "Melbourne", "Canberra", "Brisbane"},
{"La boussole", "L'imprimerie", "La machine à vapeur", "L'ampoule électrique"},
{"Or", "Osmium", "Oxygène", "Ozone"},
{"Florence", "Naples", "Venise", "Rome"},
{"Auguste Rodin", "Michel-Ange", "Donatello", "Bernini"},
{"1965", "1969", "1972", "1980"}
};
// Réponses correctes niveau intermédiaire
int correctesNormal[] = {1, 3, 1, 0, 2, 1, 2, 3, 0, 1};
// Questions niveau difficile
char *questionsDifficile[] = {
"Question 1 : Quel est le plus ancien texte littéraire connu ?",
"Question 2 : Qui a découvert la pénicilline en 1928 ?",
"Question 3 : Quelle est la plus grande île du monde (hors continent) ?",
"Question 4 : Quelle est la seule œuvre symphonique composée par Gustav Holst ?",
"Question 5 : Quel pays possède le plus de fuseaux horaires au monde ?",
"Question 6 : Quel est l\'acide contenu dans les piqûres d\’orties ?",
"Question 7 : Dans quelle ville se trouve la plus grande cathédrale gothique du monde ?",
"Question 8 : Quelle est la distance exacte d’un marathon ?",
"Question 9 : Quel explorateur a été le premier à atteindre le pôle Sud ?",
"Question 10 : Qui a écrit À la recherche du temps perdu ?"
};
// Réponses niveau difficile
char *reponsesDifficile[][4] = {
{"L'Iliade d'Homère", "L'Épopée de Gilgamesh", "Les Métamorphoses d'Ovide", "Le Mahabharata"},
{"Alexander Fleming", "Louis Pasteur", "Marie Curie", "Robert Koch"},
{"Madagascar", "Bornéo", "Nouvelle-Guinée", "Groenland"},
{"Les Planètes", "La Symphonie inachevée", "La Symphonie alpestre", "La Pastorale"},
{"Russie", "États-Unis", "France", "Chine"},
{"Acide sulfurique", "Acide méthanoïque", "Acide citrique", "Acide acétique"},
{"Cologne", "Milan", "Reims", "Séville"},
{"40,00 km", "41,85 km", "42,195 km", "43,26 km"},
{"Ernest Shackleton", "Robert Falcon Scott", "Roald Amundsen", "James Cook"},
{"Marcel Proust", "André Gide", "Paul Valéry", "Albert Camus"}
};
// Réponses correctes niveau difficile
int correctesDifficile[] = {1, 0, 3, 0, 2, 1, 3, 2, 2, 0};
// Déroulement des niveaux
ultimeDefi(questionsFacile, reponsesFacile, correctesFacile, &points, 1);
// Si score >= 6, passage au niveau 2
switch (points >= 6) {
case 1:
ultimeDefi(questionsNormal, reponsesNormal, correctesNormal, &points, 2);
break;
}
// Si score >= 16, passage au niveau 3
switch (points >= 16) {
case 1:
ultimeDefi(questionsDifficile, reponsesDifficile, correctesDifficile, &points, 3);
break;
}
printf("GAME OVER !\nScore : %d points.\n", points);
return 0;
}