/*
SNAKE et SPACEINVADERMatriceLed
created 02/02/2024
by Romain Chambard for NOVAMAKE
This code is in the private domain.
*/
/*----------------COMMUN AUX DEUX JEUX--------------*/
#include "LedControl.h"
int DIN = 11; int CS = 7;int CLK = 13;
LedControl lc=LedControl(DIN, CLK, CS,1);
// Configuration du joystick
const int joystickXPin = A1; // Broche analogique pour l'axe X du joystick
const int joystickYPin = A0; // Broche analogique pour l'axe Y du joystick
const int boutonPin = 2; // Broche pour le bouton du joystick
/*------------LIBRAIRIES POUR CHAQUE JEU---------------*/
#include "prototypesFonctionsSpaceInvader.h"
#include "prototypesFonctionsSnake.h"
#include "fonctionsSpaceInvader.h"
#include "fonctionsSnake.h"
/*------------CHOIX DU JEU A LANCER------------------*/
#include "classCOMMUN.h"
#include "dessinCOMMUN.h"
int choixUtilisateur = 1; //par défaut
void setup() {
Serial.begin(9600);
displayImage(SPACE[0]);//par défaut
bool choixFait=false;
while (!choixFait) {
int valeurMedJoy = analogRead(A1);
if (valeurMedJoy < 300) {
displayImage(SPACE[0]);
choixUtilisateur = 1;
} else if (valeurMedJoy > 700) {
displayImage(SNAKE[0]);
choixUtilisateur = 2;
}
if (digitalRead(2)){
Serial.println("choix effectué :" + String(choixUtilisateur));
choixFait=1;}
}
// Exécute le programme en fonction du choix
switch (choixUtilisateur) {
case 1:
program1.setup();
break;
case 2:
program2.setup();
break;
default:
// Gérer un choix invalide
break;
}
}
void loop() {
// Appelle la boucle principale du programme choisi
switch (choixUtilisateur) {
case 1:
program1.loop();
break;
case 2:
program2.loop();
break;
default:
// Gére un choix invalide si nécessaire
break;
}
}