Exemplo n.º 1
0
def save():
    '''Funktio kysyy pelaajan nimen ja tallentaa tämän ajan 
    että liputetut miinat'''
    elementit['vikaik'] = iku.luo_ali_ikkuna('')
    iku.luo_tekstirivi(elementit['vikaik'], 'Kirjoita nimesi')
    elementit['vika'] = iku.luo_tekstikentta(elementit['vikaik'])
    iku.luo_nappi(elementit['vikaik'], 'Syötä', nimi)
Exemplo n.º 2
0
def tilastot():
    palikat["tilasto"] = ik.luo_ali_ikkuna("Tilastot")
    ylakehys = ik.luo_kehys(palikat["tilasto"], ik.YLA)
    alakehys = ik.luo_kehys(palikat["tilasto"], ik.ALA)
    nollaa = ik.luo_nappi(alakehys, "Nollaa tilastot", nollaus)
    palikat["tilastolaatikko"] = ik.luo_tekstilaatikko(ylakehys, 55, 25)
    ik.kirjoita_tekstilaatikkoon(palikat["tilastolaatikko"], tilasto())
Exemplo n.º 3
0
def lisaaKomponenttiKL():
    """
    Komponentin lisäys listaan.
    """

    ikn.piilota_ali_ikkuna(KLIITTYMÄ["wizAk"])

    lisaaKompAkkuna = ikn.luo_ali_ikkuna("Lisää komponentti")
    ikn.luo_tekstirivi(
        lisaaKompAkkuna,
        "Lisää komponentti (v)astus = (r), (k)ela = (l) tai (c)ondensaattori.")
    KLIITTYMÄ["syote"[0]] = ikn.luo_tekstikentta(lisaaKompAkkuna)

    ikn.luo_vaakaerotin(lisaaKompAkkuna)
    ikn.luo_tekstirivi(lisaaKompAkkuna,
                       "Anna komponentin arvo ilman yksikköä:")
    KLIITTYMÄ["syote"[1]] = ikn.luo_tekstikentta(lisaaKompAkkuna)

    ikn.luo_vaakaerotin(lisaaKompAkkuna)
    ikn.luo_tekstirivi(lisaaKompAkkuna, "Anna lisättävän haaran ID (numero):")
    KLIITTYMÄ["syote"[2]] = ikn.luo_tekstikentta(lisaaKompAkkuna)

    ikn.luo_nappi(lisaaKompAkkuna, "Lisää komponentti", lisaaKomponentti)

    ikn.luo_vaakaerotin(lisaaKompAkkuna)
    ikn.luo_tekstirivi(lisaaKompAkkuna, "Komponentit:")
    KLIITTYMÄ["komplistaus"] = ikn.luo_tekstilaatikko(lisaaKompAkkuna,
                                                      leveys=40)

    if KLIITTYMÄ["komponentit"] != [[]]:
        komponenttilistaus()
Exemplo n.º 4
0
def nimi():
    '''Tallentaa sen nimen'''
    stats['nimi'] = iku.lue_kentan_sisalto(elementit['vika'])
    iku.tyhjaa_kentan_sisalto(elementit['vika'])
    iku.piilota_ali_ikkuna(elementit['vikaik'])
    ali = iku.luo_ali_ikkuna('')
    liput['save'] = True
    iku.luo_tekstirivi(ali, 'Tulokset tallennettu!')
Exemplo n.º 5
0
def lue_tilastot():
    """
    Tulostaa pelattujen pelien tilastot.
    """
    tilastoikkuna = ikkunasto.luo_ali_ikkuna("Tilastot")
    tilastolaatikko = ikkunasto.luo_tekstilaatikko(tilastoikkuna)
    for peli in tilastot:
        ikkunasto.kirjoita_tekstilaatikkoon(tilastolaatikko, peli)
Exemplo n.º 6
0
def tulokset():
    '''Funktio hakee tulokset tallennetusta tiedostosta sekä näyttää 
    ne pelaajalle'''
    with open('tulokset.txt') as file:
        data = json.load(file)
        piste = iku.luo_ali_ikkuna('Tilastot')
        print(data)
        for p in data['tilasto']:
            print(p)
            iku.luo_tekstirivi(
                piste, 'Nimi: {}, Liputetut: {}, Aika: {}'.format(
                    p['nimi'], p['liputetut'], p['aika']))
Exemplo n.º 7
0
def valinnat():
    palikat["valinnat"] = ik.luo_ali_ikkuna("Valinnat")
    ylakehys = ik.luo_kehys(palikat["valinnat"], ik.YLA)
    syotekehys = ik.luo_kehys(ylakehys, ik.VASEN)
    nappikehys = ik.luo_kehys(ylakehys, ik.VASEN)
    korkeusohje = ik.luo_tekstirivi(syotekehys, "Korkeus:")
    palikat["korkeuskentta"] = ik.luo_tekstikentta(syotekehys)
    leveysohje = ik.luo_tekstirivi(syotekehys, "Leveys:")
    palikat["leveyskentta"] = ik.luo_tekstikentta(syotekehys)
    miinatohje = ik.luo_tekstirivi(syotekehys, "Miinojen lukumäärä:")
    palikat["miinatkentta"] = ik.luo_tekstikentta(syotekehys)
    oknappi = ik.luo_nappi(nappikehys, "Ok", ok)
Exemplo n.º 8
0
def nayta_lopputulos(voitto=False):
    """
    Näyttää pelaajalle pelatun pelin tiedot pelin päätyttyä.
    """
    loppuikkuna["ikkuna"] = ikkunasto.luo_ali_ikkuna("Lopputulos")
    if voitto:
        ikkunasto.luo_tekstirivi(loppuikkuna["ikkuna"], "Voitit pelin!")
    else:
        ikkunasto.luo_tekstirivi(loppuikkuna["ikkuna"], "Osuit miinaan. Hävisit pelin.")
    ikkunasto.luo_tekstirivi(loppuikkuna["ikkuna"], "Kesto: {:.1f} minuuttia, {} vuoroa".format(
        tilastokirja["kestoaika"],
        tilastokirja["kestovuorot"]
        ))
    ikkunasto.luo_nappi(loppuikkuna["ikkuna"], "Valikkoon", sulje_lopputulos)
Exemplo n.º 9
0
def aloita_peli():
    '''Funktio kysyy pelaajalta kentän koon sekä miinojen määrän sekä
    palauttaa nämä arvot. Avataan ali-ikkunaan jonne syötetään kentan
    leveys, korkeus sekä miinojen määrä (ei implementoitu vielä).'''
    ala = iku.luo_ali_ikkuna('')
    ala_kehys1 = iku.luo_kehys(ala)
    ala_kehys2 = iku.luo_kehys(ala)
    ala_teksti1 = iku.luo_tekstilaatikko(ala_kehys1, 20, 1)
    iku.kirjoita_tekstilaatikkoon(ala_teksti1, "Anna kentän korkeus")
    elementit["korkeus"] = iku.luo_tekstikentta(ala_kehys1)
    ala_teksti2 = iku.luo_tekstilaatikko(ala_kehys2, 20, 1)
    iku.kirjoita_tekstilaatikkoon(ala_teksti2, "Anna kentän leveys")
    elementit["leveys"] = iku.luo_tekstikentta(ala_kehys2)
    ala_kehys3 = iku.luo_kehys(ala)
    ala_teksti3 = iku.luo_tekstilaatikko(ala_kehys3, 20, 1)
    iku.kirjoita_tekstilaatikkoon(ala_teksti3, "Anna miinojen määrä")
    elementit["miinat"] = iku.luo_tekstikentta(ala_kehys3)
    iku.luo_nappi(ala_kehys2, 'Syötä arvot ja aloita peli', arvo_kasittelija)
    iku.luo_nappi(ala_kehys2, 'Yllätä minut', yllata)
Exemplo n.º 10
0
def pyyda_syotteet():
    """
    Pyytää pelajaalta pelikentän koon ja miinojen lukumäärän.
    """
    if syotteet["ikkuna"]:
        ikkunasto.poista_elementti(syotteet["ikkuna"])
        syotteet["ikkuna"] = None
    if loppuikkuna["ikkuna"]:
        sulje_lopputulos()
        loppuikkuna["ikkuna"] = None
    syotteet["ikkuna"] = ikkunasto.luo_ali_ikkuna("Pelikentän tiedot")
    ikkunasto.luo_tekstirivi(syotteet["ikkuna"], "Pelikentän korkeus:")
    syotteet["korkeus"] = ikkunasto.luo_tekstikentta(syotteet["ikkuna"])
    ikkunasto.luo_tekstirivi(syotteet["ikkuna"], "Pelikentän leveys:")
    syotteet["leveys"] = ikkunasto.luo_tekstikentta(syotteet["ikkuna"])
    ikkunasto.luo_tekstirivi(syotteet["ikkuna"], "Miinojen lukumäärä:")
    syotteet["miinojen_lkm"] = ikkunasto.luo_tekstikentta(syotteet["ikkuna"])
    ikkunasto.luo_vaakaerotin(syotteet["ikkuna"])
    aloitusnappi = ikkunasto.luo_nappi(syotteet["ikkuna"], "Aloita", tarkista_syotteet)
Exemplo n.º 11
0
def wizard():
    """
    Funktio, jolla lähdetään kysymään piirtämiseen tarvittavat arvot.
    Funktio jatkuu Komponenttien lisäämiseen uudella funktiolla.
    """
    KLIITTYMÄ["wizAk"] = ikn.luo_ali_ikkuna("Wizard")
    # Jännite:
    ikn.luo_tekstirivi(KLIITTYMÄ["wizAk"], "Anna jännite ilman yksikköä:")
    KLIITTYMÄ["syote"[0]] = ikn.luo_tekstikentta(KLIITTYMÄ["wizAk"])
    ikn.luo_nappi(KLIITTYMÄ["wizAk"], "Aseta jännite", asetaJannite)

    ikn.luo_vaakaerotin(KLIITTYMÄ["wizAk"])
    # Taajuus:
    ikn.luo_tekstirivi(KLIITTYMÄ["wizAk"], "Anna taajuus ilman yksikköä:")
    KLIITTYMÄ["syote"[1]] = ikn.luo_tekstikentta(KLIITTYMÄ["wizAk"])
    ikn.luo_nappi(KLIITTYMÄ["wizAk"], "Aseta taajuus", asetaTaajuus)

    ikn.luo_vaakaerotin(KLIITTYMÄ["wizAk"])
    ikn.luo_nappi(KLIITTYMÄ["wizAk"], "Seuraava", lisaaKomponenttiKL)
Exemplo n.º 12
0
def nayta_ohje():
    """
    Napinkäsittelijä, joka näyttää ohjeikkunan ohjelman eri toiminnoista.
    """

    ohje_otsikko = (
        "Tämä ohje kuvailee ohjelman eri toiminnot.\n"
        "Suurin osa toimintojen napeista tulee näkyviin vasta, kun niitä voidaan käyttää.\n"
    )
    avaa_ohje = (
        "Avaa ikkunan, jossa voit valita kansion, joka sisältää käsiteltävän mittausdatan.\n"
        "Tiedoston nimen tulee olla muotoa \"measurement_x.txt\", missä \"x\" on kokonaisluku.\n"
        "Tiedoston sisällön täytyy olla muotoa \"E I\",\n"
        "missä E on sidosenergia ja I on sitä vastaava intensiteetti.\n"
        "Arvot on erotettu välilyönnillä ja jokainen pari on omalla rivillään.\n"
    )
    tallenna_ohje = (
        "Tallentaa nykyisen kuvaajan valitsemassasi muodossa.\n"
        "Yleisimmät tuetut tiedostotyypit on listattu tallennusikkunan pudotuslistassa.\n"
        "Kaikki ohjelman tukemat tiedostopäätteet on listattu alla:\n"
        ".eps, .jpeg, .jpg, .pdf, .pgf, .png, .ps, .raw, .rgba, .svg, .svgz, .tif, .tiff\n"
    )
    poista_tausta_ohje = (
        "Poistaa spektristä mittauslaitteistosta johtuvan lineaarisen taustan.\n"
        "Valitse kaksi pistettä kuvaajan alku- ja loppupäästä klikkaamalla.\n"
        "Niiden välille sovitetaan suora.\n"
        "Tämän jälkeen spektrin jokaisesta pisteestä vähennetään samaa energiaa "
        "vastaava suoran arvo,\nmikä tasoittaa kuvaajan, jos pisteet on valittu oikein.\n"
    )
    intensiteetti_ohje = (
        "Laskee halutun piikin intensiteetin.\n"
        "Rajaa piikin energiaväli valitsemalla kaksi pistettä.\n"
        "Piikin intensiteetti saadaan laskemalla sen pinta-ala integroimalla.\n"
        "Integroinnissa käytetään puolisuunnikassääntöä.\n")
    suhde_ohje = (
        "Ilmoittaa kahden viimeksi mitatun intensiteettipiikin välisen suhteen.\n"
        "Suhde tulostuu tekstilaatikkoon.\n")
    ohje_ohje = "Avaa tämän ikkunan.\n"
    tyhjenna_ohje = "Tyhjentää ohjelman muistin ja palauttaa sen alkutilaan.\n"
    lopeta_ohje = "Sulkee ohjelman.\n"

    ohjeikkuna = ikkunasto.luo_ali_ikkuna("Ohje")
    ohje_tekstilaatikko = ikkunasto.luo_tekstilaatikko(ohjeikkuna, 92, 43)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, ohje_otsikko)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, "Avaa:")
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, avaa_ohje)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, "Tallenna:")
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, tallenna_ohje)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, "Poista tausta:")
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko,
                                        poista_tausta_ohje)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, "Intensiteetti:")
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko,
                                        intensiteetti_ohje)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, "Suhde:")
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, suhde_ohje)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, "Ohje:")
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, ohje_ohje)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, "Tyhjennä:")
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, tyhjenna_ohje)
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, "Lopeta:")
    ikkunasto.kirjoita_tekstilaatikkoon(ohje_tekstilaatikko, lopeta_ohje)