I made a little script, that gives me random a number between 0 and 3 and writes them into an array.
The code should make, that only a specific times, numbers can be the same after thereself. So for example, if there were a 3 two times before, he has to take another number... but that logical thing seems not to work? Does anybody has an idea? :/
int gameCount = 0;
int setupCount = 0;
long game[50];
int maxRepeat = 2;
void setup() {
Serial.begin(9600);
for (int i = 0; i < 50; i++) {
getNumber();
}
Serial.println("");
for (int i = 0; i < 50; i++) {
Serial.print(game[i]);
}
}
void loop() {
}
int getNumber() {
randomSeed(analogRead(A0));
int number = random(1, 32)%4;
if (setupCount < maxRepeat) {
game[setupCount] = number;
setupCount++;
} else {
int hits = 0;
for (int i = setupCount; i < setupCount+maxRepeat; i++) {
if (game[i] == number) {
hits++;
}
}
if (hits == maxRepeat) {
if (number == 0) {
number = 1;
Serial.println("It was a 0!!!");
}
else if (number == 1) {
number = 2;
Serial.println("It was a 1!!!");
}
else if (number == 2) {
number = 3;
Serial.println("It was a 2!!!");
}
else if (number == 3) {
number = 0;
Serial.println("It was a 3!!!");
}
}
game[setupCount] = number;
setupCount++;
}
return number;
}
Aucun commentaire:
Enregistrer un commentaire