From 343e88525d1d13a6da5629d7137b2d8a15f9d2d8 Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Sun, 24 Jan 2021 23:56:07 +0100 Subject: Adding the whole Core --- Core/Inc/simon.h | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 Core/Inc/simon.h (limited to 'Core/Inc/simon.h') diff --git a/Core/Inc/simon.h b/Core/Inc/simon.h new file mode 100644 index 0000000..01bcf6f --- /dev/null +++ b/Core/Inc/simon.h @@ -0,0 +1,111 @@ +#include +#include +#include +#include +#include + +void fonction_led(char* couleur, int position) { //correspondance LEDs + if (position==0){ + printf("( () () () )\n"); //eteind + } else if (strcmp(couleur,"R")==0){ //rouge + printf("( (R) () () )\n"); //allume (envoie la commande sur le pin correspondant) + } else if (strcmp(couleur,"V")==0){ //vert + printf("( () (V) () )\n"); //allume (envoie la commande sur le pin correspondant) + } else if (strcmp(couleur,"J")==0){ //jaune + printf("( () () (J) )\n"); //allume (envoie la commande sur le pin correspondant) + } +} + +void affiche_lcd(char* contenu) { //correspondance LCD + printf ("[LCD : %s]\n", contenu); //afichage sur l'ecran LCD +} + +char* choix_aleatoire(void) { + char* couleur_leds[3]={"R","V","J"}; //nos couleurs de led + srand(time(0)); + int aleatoire = (rand() % (2 - 0 + 1)) + 0; //choix entre 0 et 2 pour avoir 3 valeurs differentes (3 couleurs/leds) + char* choix = couleur_leds[aleatoire]; + return choix; +} + + +int simon(void) { + affiche_lcd("SIMON_STM32"); + + int etat_bouton_deux_joueurs = 1; //faire une correspondance au quatrieme bouton + + int score = 0; //ne pas toucher + int deuxieme_joueur_joue = 0; //ne pas toucher + int score_un=0; //ne pas toucher + int score_deux=0; //ne pas toucher + char* suite_de_leds[100]={}; //ne pas toucher + + while (1) { //le programme tourne en continue + + int etat_bouton_start = 1; //correspondance bouton bleu + int perdu = 0; //ne pas toucher + if (etat_bouton_start){ + affiche_lcd("LET'S GO !"); + if (etat_bouton_deux_joueurs && !deuxieme_joueur_joue){ //lancement du mode 2J + affiche_lcd("MODE 2J"); + affiche_lcd("J1!"); + } + else if (!etat_bouton_deux_joueurs && !deuxieme_joueur_joue) { //lancement du mode 1J + affiche_lcd("MODE 1J"); + } + while (perdu!= 1) { //ici on lance un niveau, tant qu'on a pas perdu + + suite_de_leds[score] = choix_aleatoire(); + score++; + for (int i = 0; iscore_deux){affiche_lcd("JOUEUR 1 GAGNE!");} + else if (score_un