from machine import Pin
import neopixel
from time import time_ns
import random
# Nastavitev NeoPixel LED traku
leds = neopixel.NeoPixel(Pin(4), 16)
# Nastavitev gumba z uporabo notranjega pull-up upora
but = Pin(25, Pin.IN, Pin.PULL_UP)
# Začetna nastavitev LED-ov (v tem primeru zelena barva)
leds.fill([0,255,0])
leds.write()
# Funkcija za pridobivanje trenutnega časa v milisekundah
def time_ms():
    return time_ns() // 1000000
# Začetek merjenja časa in nastavitev naključne zamude
zacetek = time_ms()
rndDelay = random.randrange(3000,4000)
# Glavna zanka igre
while True:
    # Preverjanje stanja gumba
    val = not bool(but.value())
    # Vklop LED-ov po naključni zamudi
    if time_ms() - zacetek > rndDelay:
        leds.fill([255,0,0])  # Rdeča barva
        leds.write()
    # Obravnavanje pritiska na gumb
    if val:
        # Preverjanje, če je bil gumb pritisnjen prezgodaj
        if time_ms() - zacetek - rndDelay < 0:
            print("Ne goljufaj!")
            break
        else:
            # Izpis časa reakcije
            print("Tvoj refleks je: ", time_ms() - zacetek - rndDelay, " ms")
            break