Simon Game - xylofon Version



en liten spel gränssnitt jag gör... i huvudsak det blir simon spelet... utom mycket hårdare och xylofon stil :)

(För dem som inte vet, simon spel är följande:
http://www.youtube.com/watch?v=4YhVyt4q5HI)

Material / verktyg är ganska rakt framåt...

Jag använde en laserskärare men kan du göra det manuellt
Plywood
Akryl
Arduino UNO
8 Piezo sensorer
8 LYSDIODER

Tillfälliga koden har följts, saknade ljud men det kommer nog snart

Snabb video, dag och natt
http://www.youtube.com/watch?v=ZcibT5wFgy4&feature=youtu.be

Obs: Om du känner dig bekvämt med kodning och lekte med olika motstånd, jag skulle producentorganisationerna för att göra detta i större skala!
Bra exempel: av

[code]
CONST int buttonSensor = A5;

int led1 = 5; LED stift
int led2 = 4;
int led3 = 3;
int led4 = 2;
int vända = 0;
int inputRead = 0;
/ * int input2 = låg;
int input3 = låg;
int INGÅNG4 = låg; * /

int randomArray [50]; Avsiktligt länge att lagra upp till 100 ingångar (tveksamt någon vilja få detta långt)
int inputArray [50];

void setup() {

Serial.BEGIN(9600);

pinMode (led1, produktionen);
pinMode (led2, produktionen);
pinMode (led3, produktionen);
pinMode (led4, produktionen);

randomSeed(analogRead(0)); Läggas till för att generera "mer slumpmässighet" med randomArray för funktionen output

för (int y = 0; y < = 99; y ++) {//For uttalande att loopa igenom funktionerna output och input
output();
input();
}

}

void loop() {//Unused Tom loop(), men av någon anledning det inte kompilera utan denna/axelryckning

}

void output() {//function för att skapa matrisen ska matchas av spelaren

för (int y = slå; y < = slå; y ++) {//Limited av variabeln tur
Serial.println(""); Vissa seriella produktionen att följa
Serial.Print ("vända:");
Serial.Print(y);
Serial.println("");
randomArray [y] = random (1, 5); Ge ett slumpmässigt nummer (1-4) randomArray [y], räkna y som tur
för (int x = 0; x < = slå; x ++) {

Serial.Print(randomArray[x]);

om (randomArray [x]
== 1) {//if deklarationer Visa lagrade värden i matrisen
digitalWrite (led1, hög);
Delay(500);
digitalWrite (led1, låg);
Delay(100);
}

om (randomArray [x]
== 2) {
digitalWrite (led2, hög);
Delay(500);
digitalWrite (led2, låg);
Delay(100);
}

om (randomArray [x]
== 3) {
digitalWrite (led3, hög);
Delay(500);
digitalWrite (led3, låg);
Delay(100);
}

om (randomArray [x]
== 4) {
digitalWrite (led4, hög);
Delay(500);
digitalWrite (led4, låg);
Delay(100);
}
}
}
}

void input() {//Function för att tillåta användarindata och kontrollera ingång mot genererade matrisen

för (int x = 0; x < = slå ;){//Statement kontrolleras av tur räkna
/ * input1 = digitalRead(switch1);
INPUT2 = digitalRead(switch2);
INPUT3 = digitalRead(switch3);
INGÅNG4 = digitalRead(switch4); * /

inputRead = analogRead(buttonSensor);
Serial.println(inputRead);
Delay(100);

om (inputRead > 685) {//Checking för knappen push
digitalWrite (led1, hög);
playTone(1915, 200); //Passes tonvärdet och varaktigheten av tonen till funktionen playTone
Delay(200);
digitalWrite (led1, låg);
inputArray [x] = 1;
Delay(50);
Serial.Print("");
Serial.Print(1);
om (inputArray [x]! = randomArray[x]) {//Checks värde input av användare och kontrollerar att den mot
Fail(); värdet i samma plats på den genererade arrayen
} //The misslyckas funktion kallas om det inte matchar
x ++;
}

om ((inputRead > 600) & & (inputRead < 680)) {
digitalWrite (led2, hög);
Delay(200);
digitalWrite (led2, låg);
inputArray [x]
= 2;
Delay(50);
Serial.Print("");
Serial.Print(2);
om (inputArray [x]
! = randomArray [x]
) {
Fail();
}
x ++;

}

om ((inputRead > 535) & & (inputRead < 590)) {
digitalWrite (led3, hög);
Delay(200);
digitalWrite (led3, låg);
inputArray [x]
= 3;
Delay(50);
Serial.Print("");
Serial.Print(3);
om (inputArray [x]
! = randomArray [x]
) {
Fail();
}
x ++;

}

om ((inputRead > 400) & & (inputRead < 525)) {

digitalWrite (led4, hög);
Delay(200);
digitalWrite (led4, låg);
inputArray [x]
= 4;
Delay(50);
Serial.Print("");
Serial.Print(4);
om (inputArray [x]
! = randomArray [x]
) {
Fail();

Serial.Print("failed");
}
x ++;

}

}
Delay(500);
tur ++; Ökar antalet tur, även den senaste åtgärden innan du startar funktionen output om igen
}

void fail() {//Function används om spelaren inte matchar sekvensen

för (int y = 0; y < = 5; y ++) {//Flashes lights för misslyckande
digitalWrite (led1, hög);
digitalWrite (led2, hög);
digitalWrite (led3, hög);
digitalWrite (led4, hög);
Delay(200);
digitalWrite (led1, låg);
digitalWrite (led2, låg);
digitalWrite (led3, låg);
digitalWrite (led4, låg);
Delay(200);
}
Delay(500);
sväng = -1; Återställer stänga värde så att spelet startar över utan behov av en återställningsknapp
} [/ code]

Relaterade Ämnen

Simon Game

Description:Detta är ett genomgående hål version av Sparkfuns populära surface mount Simon kit. Denna nyare version kommer med en ATmega328 i stället för ATmega168. Alla komponenter är genomgående hål, vilket gör detta kit bra för nybörjare. När man...

Hur till: Simon Game

Detta är en instructable på hur man sätter ihop Simon spel - hålmontering lödning Kit kom från Sparkfun.com enligt deras instruktionerSteg 1: Steg 1: utrustningI kit får du• 1 x ATmega328-förprogrammerad med Simon firmware• 1 x Summer• 2 x 0.1μF Cap•...

Total Recall - Arduino Simon Says på steroider!

Total Recall är en Simon baserat spel för Arduino. Din grundläggande Arduino Simon Game består av 4 knappar, 4 lysdioder, en Arduino, lite kod och kanske en talare och ljudeffekter. Total Recall tar saker ett steg längre genom att lägga till en LCD-d...

DIY spelet & titta

Tillbaka i 80-talet när jag var liten, köpte mina föräldrar mig ett spel och titta på spelet kallas ohyra. Det var faktiskt en TimeOut Exterminator. Det var ett väldigt enkelt spel med bara vänster och höger kontroller och tanken var att slå mullvada...

Interaktiva Simon Says game

jag minns inte riktigt hur detta spel utvecklats men den främsta drivkraften bakom det är att förbättra kognitiv behandling och uppmärksamhet genom att få spelarna att fokusera på en sekvens av trumman hits och sedan upprepa den sekvensen. Spelare ka...

Gör din egen 2-spelare Simon säger Game

Detta Instructable förklarar hur man gör en Simon Says spel använder en Altera DE2-115 cyklonen IV FPGA ombord. Detta projekt var gjort för ECE2220 (Digital Logic) vid University of Manitoba.Videon ovan visar arbetande VGA-utgång och hur det förändra...

Skapa din egen Simon Says game med DIY Electro degen och Arduino!

Komma igångMålet med detta Instructable är att förvandla din electro degen till en kapacitiv touch-knapp med Arduino med hjälp av CapSense arduino biblioteket och sedan använde för att skapa en Simon Says spel. Vi kommer att använda en kapacitiv star...

Simon Says game

Jag har skapat ett elektroniskt minnesspel i stil med "Simon Says" (en ikon av 70-talet). Det bygger på en ARM cortex M0 mikrokontroller. Du hittar en detaljerad konstruktion handbok, kretsscheman och källkoden på min hemsida. Det är också möjli...

Arduino Simon Says

i detta Instructable jag ska visa dig hur man sätter ihop en mycket enkel Simon säger spelet med en Arduino mikro-Controller. Jag först startade detta projekt 2010 och har inte plockat upp igen sedan. Mycket har förändrats i världen av Arduino ända s...

DIY Gamer flimmer bok

Trött på att stirra på en skärm. Go analoga och gör ditt eget papper DIY Gamer flimmer bok. Rita din animering bild av bilden på nedladdningsbara mall och få färga. Den DIY Gamer endast har en enfärgad skärm, men med pappersversionen, kan du ha så må...

BICITRACTOR B300 (POC21 Version, vänta på nästa Version i februari om du vill bygga en)

Vad är Bicitractor?Bicitractor är en pedal-drivna jordbruk traktor med elektriska stöd, görs av jordbrukare för jordbrukare. Den är avsedd för små och medelstora grönsaksodlingar. Det möjliggör olika jordbruks uppgifter som kräver arbetar maximalt jo...

DIY PS/2 tangentbord Adapter för LSDj (Game Boy)

Obs: Länk kablar alla variera i design. Vi kan inte garantera att denna handledning kommer att vara tillämpliga för din kabel.Delar som behövs:Gameboy & Gameboy Color Link-kabel (eftermarknad föredrog)DIN 6 / PS/2 kvinnliga adapter - http://www.digik...

Bakgård Highland Games

Jag var nyligen i uppdrag att komma med en rolig familjeaktivitet som var annorlunda än vad har gjorts tidigare. Samma tid jag redan arbetar på vissa släkten som involverade den skotska sidan av min familj så jag läste historia och tittar upp kulture...

Att skapa och hantera en dator game-projekt

jag är en stor anhängare av Indie spelutveckling och älskar att se vad små spel folk gör på sin fritid.När du har skapat ett litet spel försöker många människor göra en större, och då känner att de behöver ett litet team att hjälpa dem längs. Denna k...

Mjuk några Wii (Version 1.0-4.3)

vad gör softmodding en wii göra?Jo är svaret på den frågan som... du kan spela backuper av spel om du förlorat din ursprungliga spel... (Som jag gör) Du kan spela N64, SNES och SEGA konsolspel på din wii! Med lämpliga emulatorer... och du kan använda...

Spark.IO bygga natt Rex-o-telefon wifi xylofon

Vår gnista bygga nätter på 13 November och 15 2014 på Blooming-labs var mycket roligt tack vare Spark.io och Instructables för att göra natten bygga möjligt! Jag byggde ett klockspel som spelas av magnetventiler från en spelare piano så varför inte g...

"Simon" CPE 133 slutlig projekt

Alla tid klassiska barndomen spel "Simon" återskapas ska implementeras med VHDL ombord NEXYS 3. Istället för att trycka på de färgade knapparna, kommer att användare bevittna den slumpmässigt mönster skapas och sedan ingång som sagt mönster på k...

Hur man gör en Straight-line kurva virvel i Game Maker

linjär vortex illusionen har lurat många. I grund och botten är det en diamant-form, som, istället för att ha striaght linjer på slutet, har böjda linjer runt kärnan. Men vad är okänd, är att kurvorna faktiskt består av alla raka linjer.Nu är det gan...

Arduino Simon säger

Som barn har jag alltid älskat hur mycket mina föräldrar hatade Simon Says spelet, med hjälp av en enkel arduino, några lysdioder, resistorer, tryckknappar och en piezo vi kan göra det själv! Jag testade och utformat denna krets med 123D kretsar, byg...