User manual
82
TAST = [4,17,21,22]
for i in TAST:
GPIO.setup(i, GPIO.IN)
Po istem principu se GPIO-vrata za štiri tipkala nastavijo kot vhodi v seznamu TAST.
S tem je poskrbljeno za osnove, poleg tega pa se definirata še dve funkciji, ki ju boste
večkrat potrebovali v programu.
def LEDein(n, z):
GPIO.output(LED[n], True); time.sleep(z)
GPIO.output(LED[n], False); time.sleep(0.15)
Funkcija LEDein() vključi LED in poskrbi, da nekaj časa sveti. Funkcija uporablja dva
parametra. Prvi parameter, n nudi podatek o številu LED med 0 in 3, drugi parameter z pa
navaja čas, kako dolgo naj LED sveti. Ko se LED spet izklopi, funkcija še 0,15 sekunde
počaka in se šele nato zaključi, tako da pri večkratnem priklicu vidite kratke premore med
svetenjem posameznih LED. To je posebej pomembno, ko ena LED večkrat zaporedoma
zasveti. To sicer ne bi bilo vidno.
def Druecken():
while True:
if(GPIO.input(TAST[0])):
return 0
if(GPIO.input(TAST[1])):
return 1
if(GPIO.input(TAST[2])):
return 2
if(GPIO.input(TAST[3])):
return 3
Funkcija Druecken() je sestavljena iz neskončne zanke, ki čaka na to, da uporabnik
pritisne enega izmed tipkal. Nato se številka tipkala posreduje glavnemu programu.
ok = True
Po definiciji funkcij se začne dejanski glavni program in najprej nastavi spremenljivko ok na
True. Takoj ko igralec naredi napako, se ok nastavi na False. Če je spremenljivka po
nastavljenem številu krogov še vedno nastavljena na True, potem je igralec zmagal.
for runde in range(1, rzahl +1):
Igra ima toliko krogov, kolikor jih je nastavljenih v spremenljivki rzahl. Števec krogov se pri
tem prestavi za 1 navzgor, tako da se igra začne s krogom št. 1 in ne s krogom št. 0.
print "Krog", runde
Trenutni krog je prikazan v oknu Python Shell.
for i in range(runde):
LEDein(farbe[i], 1)
Sedaj program predvaja vzorec, ki si ga mora igralec zapomniti. V odvisnosti od trenutnega
števila krogov zaporedoma zasveti ustrezno število LED z naključno izbranimi barvami v
skladu s seznamom farbe, ki je bil določen na začetku programa. Ker se števec runde