1
작은 스크립트를 만들었습니다. 0에서 3 사이의 숫자를 임의로 입력하고 배열에 씁니다.Arduino가 잘못된 번호를 내게 가져옵니다.
코드는 특정 시간에만 숫자가 그 후에 동일 할 수 있어야합니다. 예를 들어, 전에 2 번 3 번 있으면 다른 번호를 가져 가야하지만 논리적 인 것은 작동하지 않는 것 같습니다. 아무도 아이디어가 있니? :/
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;
}
'randomSeed (analogRead (A0)가)'확인 여부 논의하지 마십시오, 당신의 작업은 꽤 * 특정 *이기 때문에) – datafiddler
을, 나는 그것을 만들 가치가 있다고 생각하지 않습니다 무작위 범위, 시퀀스 카운트 또는이 샘플이 사용하는 암시 적 설정에 대한 변수 매개 변수가있는 "범용 솔루션". – datafiddler
고마워요! 정확히 내가 뭘 찾았는지 !!! – dessi