Bonjour,
Je suis en train d essayer de coder un jeux d échec avec un Arduino.
Je reçois du serial monitor une chaine de caractère correspondant au déplacement d une pièce
du style e2e4, pour déplacer le pion central.
je dois donc convertir les chiffres et les lettres de cette chaine de caractères en variable.
Le caractère '1' en variable de valeur 1 et le caractère 'a' en variable de valeur 1, ect....
J ai codé ca :
boolean onetime = true;
char text [] = {'e', '2', 'e', '4'};
byte value1 = 0;
byte value2 = 0;
byte value3 = 0;
byte value4 = 0;
byte temp = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if (onetime == true) {
onetime = false;
for (byte i = 0; i < 4; i++) {
if (text[i] == '1') temp = 1;
//...
else if (text[i] == '8') temp = 8;
else if (text[i] == 'a') temp = 1;
//...
else if (text[i] == 'h') temp = 8;
if (i == 0) value1 = temp;
else if (i == 1) value2 = temp;
else if (i == 2) value3 = temp;
else value4 = temp;
}
}
}
Ça marche, mais j ai le sentiment qu il y a moyen d être plus efficace.
Auriez vous une idée ?
Merci