Minnesspel - Genius (2 / 2 steg)

Steg 2: O skiss



Código

/ / Vamos Comecar definindo como filhos anmärkningar parágrafo OS

# Definiera NOTE_D4 294 # define NOTE_G4 392 # define NOTE_A4 440 # define NOTE_A5 880

/ / Criando o conjunto de para OS 4 filhos parágrafo sortear hum som int toneladas [4] = {NOTE_A5, NOTE_A4, NOTE_G4, NOTE_D4}; / / Nossa Sequência de åt 100 itens Vai Comecar Vazia. int sequencia [100] = {}; / / Indica uma Rodada Atual Que o Jogo se Encontra. int rodada_atual = 0; / / Indica o Passo Atual Dentro da Sequência, E USADO enquanto uma Sequência / / ESTA Sendo reproduzida. int passo_atual_na_sequencia = 0; / ** Indica o pino de áudio, lysdioder e BOTOES. * Os pinos de lysdioder e BOTOES estao los Ordem, Relacionados uns EAo OUTROS, OU SEJA *, O Primeiro levou ESTA AO relacionado Primeiro Botão. En Ordem destas * Sequências också estao relacionadas en Ordem dos toneladas. * / Int pinoAudio = 6; int pinosLeds [4] = {8, 9, 10, 11}; int pinosBotoes [4] = {2, 3, 4, 5};

/ / Indica se hum Botão FOI pressionado Durante o diretor loop. int botao_pressionado = 0; / / Fana indicando se o Jogo acabou. int perdeu_o_jogo = false;

Ogiltiga inställningar () {

/ / Definindo o Modo dos pinos dos lysdioder Como Saida. för (int jag = 0; jag < = 3; jag + +) {pinMode (pinosLeds [i], produktionen);} / / Definindo o Modo dos pinos dos BOTOES Como Entrada. för (int jag = 0; jag < = 3; jag + +) {pinMode (pinosBotoes [i], ingång);} / / Definindo o Modo fazer pino de Áudio Como Saida. pinMode (pinoAudio, produktionen); / / Inicializando o acaso atraves de UMA Leitura da porta analógica. . / / Detta Leitura gera hum tapperhet Variável Entre 0 e 1.023 randomSeed (analogRead (0)); }

Ogiltig loop () {

/ / Se Perdeu o Jogo reinicializamos Todas como Variáveis. om (perdeu_o_jogo) {int sequencia [100] = {}; rodada_atual = 0; passo_atual_na_sequencia = 0; perdeu_o_jogo = false;}

/ / Toca hum som de inicio parágrafo anúnicar Que o Jogo ESTA começando när E en Primeira Rodada. om (rodada_atual == 0) {tocarSomDeInicio (), fördröjning (500);} / / Chama en função att inicializa en Próxima Rodada. proximaRodada ();

/ / Reproduz en Atual Sequência. reproduzirSequencia (); / / Aguarda OS BOTOES Jönsson pressionados Pelo Jogador. aguardarJogador ();

/ / Aguarda 1 Segundo Entre CADA Jogada. fördröjning (1000); } / / Sorteia hum novo objekt de e adiciona na Sequência. vazio proximaRodada () {int numero_sorteado = random (0, 4), sequencia [rodada_atual + +] = numero_sorteado;} / / Reproduz en serviços memorizada Sequência para. vazio reproduzirSequencia () {för (int jag = 0; jag < rodada_atual; jag + +) {tom (pinoAudio, toneladas [sequencia [i]]), digitalWrite (pinosLeds [sequencia [i]], hög), fördröjning (500); noTone (pinoAudio), digitalWrite (pinosLeds [sequencia [i]], låg), atraso (100); NoTone} (pinoAudio); }

/ / Aguarda o Jogador iniciar SUA Jogada. vazio aguardarJogador () {för (int jag = 0; jag < rodada_atual; jag + +) {aguardarJogada (), verificarJogada ();

om (perdeu_o_jogo) {semester. Passo_atual_na_sequencia} + +; }

/ / Redefinir um Variável parágrafo 0 passo_atual_na_sequencia = 0.; }

anular aguardarJogada () {jogada_efetuada boolean = false; medan (! jogada_efetuada) {för (int jag = 0; jag < = 3; jag + +) {om ((digitalRead pinosBotoes [i]) == hög) {

/ / Dizendo kvali FOI o botao pressionado. botao_pressionado = i.

Tom (pinoAudio, toneladas [i]); digitalWrite (pinosLeds [i], hög); fördröjning (300); digitalWrite (pinosLeds [i], baixo); noTone (pinoAudio); jogada_efetuada = sant; }}

atraso (10). }}

anular verificarJogada () {om (sequencia [passo_atual_na_sequencia]! = botao_pressionado) {/ / GAME OVER.

för (int jag = 0; jag < = 3; jag + +) {tom (pinoAudio, toneladas [i]), digitalWrite (pinosLeds [i], hög), atraso (200), digitalWrite (pinosLeds [i], baixo), noTone (pinoAudio);} Tom (pinoAudio, toneladas [3]); för (int jag = 0; jag < = 3; jag + +) {digitalWrite (pinosLeds [0], hög), digitalWrite (pinosLeds [1], hög), digitalWrite (pinosLeds [2], hög), digitalWrite (pinosLeds [3], hög), atraso (100); digitalWrite (pinosLeds [0], låg); digitalWrite (pinosLeds [1], låg), digitalWrite (pinosLeds [2], låg); digitalWrite (pinosLeds [3], låg); atraso (100);}

noTone (pinoAudio); perdeu_o_jogo = sant; {}} Vazio tocarSomDeInicio () {tom (pinoAudio, toneladas [0]), digitalWrite (pinosLeds [0], hög), digitalWrite (pinosLeds [1], hög); digitalWrite (pinosLeds [2], hög); digitalWrite (pinosLeds [3], hög); fördröjning (500); digitalWrite (pinosLeds [0], låg); digitalWrite (pinosLeds [1], låg); digitalWrite (pinosLeds [2], låg); digitalWrite (pinosLeds [3], låg); fördröjning (500), noTone (pinoAudio);}

Se Steg
Relaterade Ämnen

Minnesspel av minnen-överföring av bilder till trä

Den julklapp som jag gjorde för min familj i år var en minne kortspel. Vi har alltid spelat minne tillsammans när vi var yngre och fortfarande ibland göra. Men vårt minnesspel innan jag gjorde detta var för åldrarna 3-6! Jag beslöt att göra en egen f...

Konvertera en Genius högtalare att köra på 9 volt baterys.

Gillar du kvaliteten på datorhögtalare och önskar du kunde ta dem camping men aldrig kunde eftersom de kör på 250V. Eller du har bara ett par gamla speekers lögnaktig runt omkring och letar efter något med dem att göra. Då detta instructable är för d...

Genius projektet basket Hoop

Denna basket hoop är utformat så att varje gång du skjuter en boll, ett pipande ljud går bort när din korg görs.Steg 1: Få behövs objektFå alla nödvändiga material för basket hoop som...Mini basket Hoop och bollVatten larm KitKnappen SensorLödning Ki...

Genius bb kulspruta

lätt att bygga mycket roligt att skjuta!Steg 1: De verktyg du behöver Du behöver en medicin flaska, en penna, en borr och en 5/16 borr.Steg 2: Ta pennan isär Du pop spetsen på pennan ut och få bläcket. Nästa lyfta du gaveln på pennan. Det bör se ut s...

Genius anläggningen projektet

detta projekt är att se om en växt kan växa om det är vattnade med andra vätskor än vattenSteg 1: jord Fyller en kopp eller krukan med jord och sätta frö ungefär en halv tum i markenSteg 2: utsäde Använde jag en blomma fröSteg 3: vattna jag gjorde 4...

Fyra bulb lampa i Girl Genius stil...

Hälsningar alla.En fyra glödlampa dimbara lampa med voltmeter och olika underhållande funktioner. Stilen inspirerad av inesmiable professorerna Foglio av Transsylvanien Polygnostic. http://www.girlgeniusonline.comDimmer ändras genom gate valve hjulet...

Genius projekt katapult

MaterialWood-2 fot bitar av trä (3 av dem)-3 fot bitar av trä (3 av dem)-33.94 tums bitar av trä (2 av dem)Andra objekt-Metall bar med räfflor (1 av dem)-2 1/2 skruvar (21 av dem)-Athletic band (1 av dem)-Cup eller något annat att hålla objekt (1 av...

Analog binär klocka

jag har sett många binär klocka instructables, och en dag var jag försöker skapa en ursprungliga klocka baseras på denna idé.Så, när min bror och jag räkna ut våra några ursprungliga ekvationer, han sa till mig "varför inte göra det i binär?"GEN...

LilyPad Arduino binär klocka

LilyPad Arduino binär klocka instruktioner!Förteckning över material:LilyPad Arduino 328 moderkortet - $21,95https://www.Sparkfun.com/products/9266LilyPad FTDI grundläggande Breakout - $14.95https://www.Sparkfun.com/products/10275Mini USB-sladd - $3,...

Skapa en bärbar bågreaktorn

Vem vill bli miljardär-genius-power generator Tony Stark? Jag gör det! Eftersom de miljardär och geni är lite utom räckhåll, tänkte jag jag kunde åtminstone göra en cool bågreaktorn att bära och låtsas.Och eftersom jag nyligen köpt en CNC-kit från my...

Stor och vacker säng sänggavel

Jag hade denna besvärliga fönster arrangemang i mitt sovrum så jag bestämde mig att täcka den med något enormt sänggavel. Genius rätt? Jag vet. Jag är... Tack. Tack.Här är hur jag gjorde det för ca $150!Följa med bebisarna och du kan vara så cool som...

Awesome pall trä TV konsol - $35

Jag har varit på jakt efter en TV konsol som var en liten off beat. Något modernt, låg och lång tid för mitt vardagsrum område. Jag såg ett par bitar på hög slut Möbelbutiker som var bomb-diggity, men när jag kollade priset jag grät. Så jag satt på e...

BARBIE-KILLER ROBOT av trasiga joysticks (MUAHAHAHAHAHA!)

(Förälders sällskap: några bilder och video kan det vara olämpligt för barn under 13. Detta instructable innehåller sex referenser, långvarig nakenhet och stark skräck scen med blod och gore. Hallå! Om en hel del TV-spel visar dödsfall och stympninga...

Bli en ambidextrous dator mus

enkelt verkligen: öva! :]Allvarligt dock RSI på grund av datormöss är inget skämt och jag har lidit av det själv.I ett skrivbord jobb jag hade för några år sedan (mappning kommunfullmäktige park tillgångar), hade jag ett problem med RSI som jag under...

Betong bänkskivor för kök - en fast yta på de billiga

KÖP ALLT DU BEHÖVER FÖR ATT SLUTFÖRA DETTA PROJEKT HÄR!Göra om ett kök eller badrum med bänkskivor i betong är ett hem förbättringsprojekt kan du göra själv. Medan det tar lite tid, vara beredd att sprida arbetet ut över flera helger på grund av den...

17 enkla sätt att organisera ditt kök

Med lust att börja spring-cleaning på väg, denna månad vi firar alla genius idéer som Sugru gemenskapen har haft för att göra mest av våra utrymmen.Köket är ett bra ställe att börja - rensa själv lite extra utrymme och har allt du behöver till hands...

DIY "familj Hub" kylskåp med Raspberry Pi + kamera

Jag använde en Raspberry Pi och USB-webbkamera att skapa min egen "Familj Hub" kylskåp. Varje gång jag öppnar dörren utlöser en ljussensor kameran, som laddar uppladdningar bilden till internet!Steg 1: Delar som behövsGör din egen kylskåp kamera...

Ammo kan BOOM box

detta var mitt första försök att bygga denna högtalare bergsprängare och det blev bra. Nedan är listan över delar jag använde. Jag också re trådbundna IR-sensorn utanför rutan så jag kan använda fjärrkontrollen utan att öppna lådan. Jag rewired FM-an...

Mot våldtäkt handskar

Idén till denna intructable kom genom lust att skydda min syster. Hon är en liten, söt, underbar kvinna och arbetar i den dåliga delen av staden. Jag oroa ofta henne som hon reser hem själv under de tidiga timmarna av morgonen. Jag har regelbundet tr...