Innehållsförteckning:

Octarine: ett färgmatchande spel med WS2812 RGB -lysdioder: 6 steg
Octarine: ett färgmatchande spel med WS2812 RGB -lysdioder: 6 steg

Video: Octarine: ett färgmatchande spel med WS2812 RGB -lysdioder: 6 steg

Video: Octarine: ett färgmatchande spel med WS2812 RGB -lysdioder: 6 steg
Video: Entity vs Azure Ray Game 1 | Bo3 | Group Stage Phase 2 The International 2023 TI12 | Spotnet Dota 2 2024, November
Anonim
Octarine: ett färgmatchande spel med WS2812 RGB -lysdioder
Octarine: ett färgmatchande spel med WS2812 RGB -lysdioder

Octarine, magins färg. Det var levande och glödande och det var fantasins otvivelaktiga pigment, för var det än syntes var det ett tecken på att enbart materia var en tjänare för det magiska sinnets krafter. Det var själva förtrollningen.

Men Rincewind hade alltid tyckt att det såg ut som ett slags grönlila.

- Terry Pratchett - The Color Of Magic

Alla färger är förtrollade och du måste frigöra dem en efter en. Tre magiska trollformler hjälper dig i din jakt.

P. S. I detta projekt använder jag i stor utsträckning binära operatörer och binära masker, så det kan användas av datavetenskapspedagoger i syfte att lära sig boolsk logik på ett roligt gamifierat sätt.

Tillbehör

1x Arduino Nano/Uno eller annat kompatibelt kort. Projektet använder faktiskt 5 digitala stift och mindre än 6KB minne. Så Attiny85-baserad styrelse borde också fungera bra.

4x taktila knappar. Om du föredrar kan du använda sensorknappar istället.

1x WS2812 LED -remsa eller bar med 8 kontrollerbara RGB -lysdioder.

1x brödbräda eller PCB -prototypbräda om du föredrar det.

Breadboard Jumper Wires.

Steg 1: Spelregler

Spelregler
Spelregler

Spelgränssnittet har 8 RGB -lysdioder. Målet är att få dem alla att lysa med samma färg. Det är rött i första”världen”, orange i andra, gult i tredje, etc.

Det finns 3 huvudknappar. Var och en av dem ändrar färgerna på fyra lysdioder enligt binär mask. Till exempel har den första knappen mask 11110000. Det betyder att den ändrar färger på de fyra första lysdioderna. Det finns också en “Skift” -knapp som inverterar en mask. Om spelaren trycker på Shift+First -knappen skulle masken vara 00001111 och fyra sista lysdioder påverkas. Färger ändras cykliskt.

Den bifogade bilden beskriver alla masker.

Steg 2: Nivådesign

Nivåer Design
Nivåer Design

Spelet består av "världar" åtta undernivåer vardera. Första världen är "röd", och alla lysdioder här kan vara i bara två tillstånd: tomma och röda. I varje delnivå tillämpas fler blandningssteg, så svårigheten ökar gradvis. När du passerar en värld (dvs. alla undernivåer), räddar du nästa färg. Så i andra ("Orange") världen har alla lysdioder tre tillstånd: blank, röd och orange. Det vill säga, varje nästa värld är mer utmanande än tidigare.

Vad händer i den åttonde ("Octarine") världen … ja … ren magi.

Steg 3: Kretsen

Kretsen
Kretsen

Det beror på vilket kort du använder, men jag rekommenderar starkt att du använder extern strömförsörjning för lysdioder.

Jag använde stift 2, 3, 4 och 5 för knappar. Om du använder en annan mikrokontroller eller stift, glöm inte att ändra den i programkoden.

Steg 4: Koden

Koden
Koden

Här kan du hitta den senaste versionen av källkoden.

Steg 5: Testning

Testning
Testning

Steg 6: Så, vad är nästa?

Så, vad är nästa?
Så, vad är nästa?

Du kanske har märkt att spelet faktiskt inte har den 8: e (Octarine) världen. Det gjordes avsiktligt. Magi … är inte något som ska reproduceras exakt.

Jag uppmuntrar dig att bygga din egen åttonde värld. Till exempel kan du få spelaren att arrangera regnbågsfärgad array istället för monokrom eller implementera celler med växlande färger. Det är upp till dig. Gör din egen magi på ditt eget sätt.

Rekommenderad: