1. Strojne komponente:
* Zmoči:
* Preprosti zvočniki: Za vsakega igralca lahko uporabite osnovne zvočnike s tipkami. So poceni in jih je enostavno najti.
* Elektronski zvočniki: Za bolj realističen občutek lahko uporabite elektronske zvočnike (kot tisti, ki se uporabljajo v igrah). To bo zahtevalo nekoliko več ožičenja in programiranja.
* mikrokontroler:
* Arduino: Priljubljena izbira za njegovo enostavno uporabo in prilagodljivost programiranja. Uporabite lahko Arduino Uno, Nano ali druge primerne deske.
* Raspberry Pi: Močnejša možnost z naprednejšimi funkcijami. Lahko se loti bolj zapletene logike in celo potencialno vodi grafični vmesnik.
* zaslon (neobvezno):
* LCD zaslon: Za prikaz vprašanj, odgovore na izbiro in rezultate igralcev.
* Računalniški monitor: Z računalniškim monitorjem lahko vse vizualno prikažete.
* zvočnik (neobvezno): Za predvajanje zvočnih učinkov.
* napajanje:
* Za napajanje sistema bo potreben stenski adapter ali baterija.
* Jumper žice: Za povezovanje različnih komponent.
* Trda plošča: (Neobvezno) za prototipiranje in testiranje.
2. Komponente programske opreme:
* Programski jezik:
* Arduino IDE: Če uporabljate arduino.
* python: Če uporabljate malino.
* Banka za vprašanja:
* Za igro boste potrebovali zbirko vprašanj in odgovorov. Lahko ustvarite svoje ali najdete vnaprej izdelane komplete na spletu. Ta vprašanja lahko shranite v besedilno datoteko, datoteko CSV ali bazo podatkov.
* Logika in tok igre:
* Za obvladovanje boste morali napisati kodo:
* Prikazovanje vprašanj in odločitve o odgovorih.
* Zaznavanje tiskalnih stiskalnic.
* Določitev pravilnega odgovora.
* Dodelitev točk ali kazni.
* Sledenje rezultatom igralca.
* Prehod na naslednje vprašanje.
* Končanje igre.
3. Koraki za gradnjo:
1. Ožičenje brenčarjev:
* Vsako brenčanje priključite na digitalni vhodni zatič na mikrokontrolerju.
* Uporabite vlečni upor na vsakem vhodnem zatiču, da zagotovite, da je signal visok, ko ne pritisnete brenčanje.
2. Nastavitev programske opreme:
* Namestite okolje Arduino IDE ali Python.
* Napišite kodo za branje vhodov.
* Nastavite funkcijo, da preverite pritisk na gumb.
* Vključite svojo banko in logiko za določitev pravilnega odgovora.
* Ustvarite funkcije za prikaz vprašanj, odgovorov in rezultatov.
3. Programiranje logike igre:
* Nastavite glavno zanko za vodenje igre.
* Prikažite vprašanje.
* Počakajte, da igralec pritisne na njihov brenčanje.
* Preverite, ali je odgovor pravilen.
* točke dodelitve ali kaznovanje igralca.
* Premaknite se na naslednje vprašanje.
4. zaslon (neobvezno):
* Če uporabljate LCD zaslon, napišite kodo za prikaz vprašanj, odgovorov in rezultatov.
* Če uporabljate računalniški monitor, lahko uporabite grafično knjižnico uporabniškega vmesnika (GUI), kot je TKINTER (Python), da ustvarite bolj vizualno privlačen zaslon.
5. Zvočni učinki (neobvezno):
* Vključite kodo za predvajanje zvočnih učinkov s pomočjo zvočnika.
* Za prave in napačne odgovore ali bolj izpopolnjene zvočne napotke lahko uporabite preproste piske.
Primer koda (Arduino):
`` `Arduino
// ZAKLJUČEK
const int buzserpin1 =2;
const int buzserpin2 =3;
const int buzserpin3 =4;
const int buzserpin4 =5;
// Določite vprašanja in odgovori
Vprašanja o nizah [5] ={"Vprašanje 1?", "Vprašanje 2?", "Vprašanje 3?", "Vprašanje 4?", "Vprašanje 5?"};
String odgovori [5] ={"Odgovor 1", "Odgovor 2", "Odgovor 3", "Odgovor 4", "Odgovor 5"};
// Rezultati igralca
int player1score =0;
int player2score =0;
int player3score =0;
int player4score =0;
void Setup () {
// Nastavite zatiče za brenke kot vhode z vlečnimi upori
pinmode (buzgerpin1, vhod_pullup);
pinmode (buzgerpin2, vhod_pullup);
PINMODE (Buzgerpin3, vhod_pullup);
pinmode (buzgerpin4, vhod_pullup);
Serial.Begin (9600); // za odpravljanje napak
}
void loop () {
// Preverite, ali je pritisnjen kakšen brenčanje
if (digitalRead (buzgerpin1) ==nizko) {
// predvajalnik 1 je pritisnil brenčalnik
preverjanje (1);
} else if (digitalRead (buzgerpin2) ==nizko) {
// predvajalnik 2 je pritisnil brenčanje
preverjanje (2);
} else if (digitalRead (buzgerpin3) ==nizko) {
// Player 3 je pritisnil brenčanje
preverjanje (3);
} else if (digitalRead (buzgerpin4) ==nizka) {
// predvajalnik 4 je pritisnil brenčalnik
preverjanje (4);
}
}
void checkanswer (int playernumber) {
// ... Vaša logika za določitev pravilnih odgovorov in točk ali kazni
}
`` `
Dodatni nasveti:
* Začnite preprosto: Začnite z osnovno različico igre in postopoma dodajte več funkcij, ko postanete bolj udobni.
* modularni dizajn: Razdelite kodo na manjše, obvladljive funkcije, da boste lažje razumeli in vzdrževali.
* Uporabite komentarje: Jasno dokumentirajte svojo kodo s komentarji, da razložite, kaj počne vsak razdelek.
* Odpravljanje napak: Uporabite serijski monitor (če je primerno) ali razhroščevalnik, da vam pomagate najti in odpraviti napake v svoji kodi.
* Varnost najprej: Prepričajte se, da je vaše ožičenje varno in da razumete, kako varno uporabljati svoje komponente.
Sporočite mi, če imate še kakšna vprašanja o določenih komponentah ali tehnikah programiranja, ki jih želite uporabiti. Zabavajte se graditi svojo igro "Kdo želi biti milijonar"!