def piirra_kentta(): """Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä.""" haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() y = -40 for i in kentta: y = y + 40 x = - 40 for j in i: x = x + 40 haravasto.lisaa_piirrettava_ruutu(" ", x, y) if j == "f": haravasto.lisaa_piirrettava_ruutu("f", x, y) if j == "m": haravasto.lisaa_piirrettava_ruutu("x", x, y) for k in range(9): k = str(k) if k == j: haravasto.lisaa_piirrettava_ruutu(k, x, y) if statistiikka["peli_paattyi"]: if j == "x" or j == "m": haravasto.lisaa_piirrettava_ruutu("x", x, y) haravasto.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut, kellon, vuoro ja miina laskurin näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.piirra_tekstia("Aika:", 50, 950, vari=piirto["t_vari"]) haravasto.piirra_tekstia(tila["aika"], 50, 910, vari=piirto["t_vari"]) haravasto.piirra_tekstia("Vuoro:", 800, 950, vari=piirto["t_vari"]) haravasto.piirra_tekstia(str(tila["vuoro"]), 800, 910, vari=piirto["t_vari"]) haravasto.piirra_tekstia("Miinoja jäljellä:", 350, 950, vari=piirto["t_vari"]) haravasto.piirra_tekstia(str(tila["jaljella"]), 350, 910, vari=piirto["t_vari"]) haravasto.aloita_ruutujen_piirto() for y, rivi in enumerate(piirto["ruudukko"]): for x, merkki in enumerate(rivi): haravasto.lisaa_piirrettava_ruutu( merkki, x * 40 + tila["vaikeus"]["piirtomarginaali"], y * 40 + tila["vaikeus"]["piirtomarginaali"]) haravasto.piirra_ruudut()
def piirra_kentta(): haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for y, rivi in enumerate(tila["tulostettu_kentta"]): for x, ruutu in enumerate(rivi): haravasto.lisaa_piirrettava_ruutu(ruutu, x * 40, y * 40) haravasto.piirra_ruudut()
def piirra_kentta(): h.tyhjaa_ikkuna() h.piirra_tausta() h.aloita_ruutujen_piirto() for rivi, i in enumerate(tila["kentta"]): for sarake, merkki in enumerate(i): h.lisaa_piirrettava_ruutu(merkki, 40 * sarake, 40 * rivi) h.piirra_ruudut()
def piirra_kentta(): haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for x, lista in enumerate(tila["pelikentta"]): for y, ruutu in enumerate(lista): haravasto.lisaa_piirrettava_ruutu(ruutu, x * 40, y * 40) haravasto.piirra_ruudut()
def piirra_kentta(): """Piirtää piirtää käyttäjän haluaman kokoisen ikkunan. Ikkunan koko on leveys on 40 kertaa kentän leveys. Korkeudella sama""" haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for y, rivi in enumerate(tila["pelikentta"]): for x, avain in enumerate(tila["pelikentta"][y]): haravasto.lisaa_piirrettava_ruutu(avain, x * 40, y * 40) haravasto.piirra_ruudut()
def piirra_kentta(): haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() #haravasto.piirra_tekstia haravasto.aloita_ruutujen_piirto() for y, sisalto in enumerate(planeetta): for x, sis in enumerate(sisalto): haravasto.lisaa_piirrettava_ruutu(sis, x * 40, y * 40) haravasto.piirra_ruudut()
def piirra_kentta(): haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for rivi, a in enumerate(tila["kentta"]): for ruutu, b in enumerate(a): haravasto.lisaa_piirrettava_ruutu(tila["kentta"][rivi][ruutu], ruutu * 40, rivi * 40) haravasto.piirra_ruudut()
def piirra_kentta(): haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() #haravasto.piirra_tekstia haravasto.aloita_ruutujen_piirto() for y, sisalto in enumerate(tila["kentta"]): for x, sis in enumerate(sisalto): if sis == "x": sis = " " haravasto.lisaa_piirrettava_ruutu(sis, x * 40, y * 40) haravasto.piirra_ruudut()
def draw_field(): #Handler -function, which draws the 2d list minefield to the screen. Function is called every time the game asks to refresh the screen haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for row_index, row in enumerate(grid): for col_index, col in enumerate(row): haravasto.lisaa_piirrettava_ruutu(col, row_index * 40, col_index * 40) haravasto.piirra_ruudut()
def draw_map(): ha.tyhjaa_ikkuna() ha.piirra_tausta() ha.aloita_ruutujen_piirto() for y, j in enumerate(game.drawMap): for x, i in enumerate(j): xcoord = x * 40 ycoord = y * 40 ha.lisaa_piirrettava_ruutu(i, xcoord, ycoord) ha.piirra_ruudut()
def piirra_kentta(): haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for y, ruutu in enumerate(kentta_nakyva): for x, ruutunen in enumerate(ruutu): haravasto.lisaa_piirrettava_ruutu(ruutunen, x * 40, y * 40) haravasto.piirra_ruudut()
def piirra_kentta(): haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for x in range(len(sotakentta[0])): for y in range(len(sotakentta)): avain = sotakentta[(len(sotakentta) - 1) - y][x] x_1 = x * 40 y_1 = y * 40 haravasto.lisaa_piirrettava_ruutu(avain, x_1, y_1) haravasto.piirra_ruudut()
def piirra_kentta(): """Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä.""" lista = tila["naytto"] harava.tyhjaa_ikkuna() harava.piirra_tausta() harava.aloita_ruutujen_piirto() for i in range(0, len(lista)): for j in range(0, len(lista[0])): harava.lisaa_piirrettava_ruutu(lista[i][j], j * 40, i * 40) harava.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ h.tyhjaa_ikkuna() h.piirra_tausta() h.aloita_ruutujen_piirto() for j in range(len(pelikentta["kentta"])): for i, avain in enumerate(pelikentta["kentta"][j]): h.lisaa_piirrettava_ruutu(avain, i * 40, j * 40) h.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.aloita_ruutujen_piirto() for k, rivi in enumerate(tila["kentta2"]): for l, ruutu in enumerate(rivi): haravasto.lisaa_piirrettava_ruutu(ruutu, l * 40, k * 40) haravasto.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ h.tyhjaa_ikkuna() h.piirra_tausta() h.aloita_ruutujen_piirto() for i, rivi in enumerate(tila["nakyva"]): for j, sarake in enumerate(rivi): h.lisaa_piirrettava_ruutu(sarake, j * 40, i * 40) h.piirra_ruudut()
def piirra_peli(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for y, rivi in enumerate(tila['nakyvakentta']): for x, merkki in enumerate(rivi): haravasto.lisaa_piirrettava_ruutu(merkki, x * 40, y * 40) haravasto.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ h.tyhjaa_ikkuna() h.piirra_tausta() h.aloita_ruutujen_piirto() for y, j in enumerate(peliruutu): for x, i in enumerate(j): h.lisaa_piirrettava_ruutu(i, x*40, y*40) h.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for y, i in enumerate(kentat["piirtokentta"]): for x, ruutu in enumerate(i): haravasto.lisaa_piirrettava_ruutu(ruutu, 40*x, 40*y) haravasto.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ hv.tyhjaa_ikkuna() hv.piirra_tausta() hv.aloita_ruutujen_piirto() for y, ruutu in enumerate(tila["nakyva"]): for x, ruutux in enumerate(ruutu): hv.lisaa_piirrettava_ruutu(tila["nakyva"][y][x], (x * 40), (y * 40)) hv.piirra_ruudut() hv.piirra_tekstia("", 1, 1, vari=(0, 0, 0, 255), fontti="serif", koko=32)
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for i, rivi in enumerate(nakyva_tila["nakyva_kentta"]): y = i * 40 for j, sarake in enumerate(nakyva_tila["nakyva_kentta"][0]): x = j * 40 haravasto.lisaa_piirrettava_ruutu(nakyva_tila["nakyva_kentta"][i][j], x, y) haravasto.piirra_ruudut() paivita_lippujen_maara()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for ruutu_y, ruutu in enumerate(planeetta): y_koodi = ruutu_y * 40 for ruutu_x, avain in enumerate(ruutu): x_koodi = ruutu_x * 40 haravasto.lisaa_piirrettava_ruutu(avain, x_koodi, y_koodi) haravasto.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ hav.tyhjaa_ikkuna() hav.piirra_tausta() hav.aloita_ruutujen_piirto() for y_krd, ruutu_y in enumerate(planeetta): print(y_krd, ruutu_y) isoy = y_krd * 40 for x_krd, ruutu_x in enumerate(ruutu_y): isox = x_krd * 40 hav.lisaa_piirrettava_ruutu(ruutu_x, isox, isoy) hav.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for i, rivi in enumerate(tila["kentta"]): rivit = rivi y = i for j, sarakkeet in enumerate(rivit): x = j haravasto.lisaa_piirrettava_ruutu(tila["kentta"][y][x], x * 40, y * 40) haravasto.piirra_ruudut()
def piirra(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for indeksi, rivi in enumerate(tila["kentta"]): for i, avain in enumerate(rivi): haravasto.lisaa_piirrettava_ruutu(avain, i * 40, indeksi * 40) haravasto.piirra_ruudut() lopputulos = tallennettavat_tiedot["lopputulos"] if lopputulos != None: if lopputulos == "Häviö": haravasto.piirra_tekstia("Hävisit!", 0, len(tila["kentta"]) * 40) else: haravasto.piirra_tekstia("Voitit!", 0, len(tila["kentta"]) * 40)
def paivita_kentta(): #haravasto.tyhjaa_ikkuna() #haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() if tila["kentta"][kasittele_hiiri.ykoord][kasittele_hiiri.xkoord] == " ": tila["kentta"][kasittele_hiiri.ykoord][kasittele_hiiri.xkoord] = "0" haravasto.lisaa_piirrettava_ruutu( tila["kentta"][kasittele_hiiri.ykoord][kasittele_hiiri.xkoord], kasittele_hiiri.xkoord * 40, kasittele_hiiri.ykoord * 40) #y, sisalto = enumerate(tila["kentta"]) #x, sis = enumerate(sisalto) #haravasto.lisaa_piirrettava_ruutu(sis,x * 40, y * 40) #for y, sisalto in enumerate(tila["kentta"]): # for x, sis in enumerate(sisalto): # #if sis == " ":sis = "0" # haravasto.lisaa_piirrettava_ruutu(sis, x * 40, y * 40) haravasto.piirra_ruudut() if tila["kentta"][kasittele_hiiri.ykoord][kasittele_hiiri.xkoord] == "x": haravasto.piirra_tekstia("Hävisit h**o!", 0, 0)
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for y, rivi in enumerate(tila["pelaajan_kentta"]): for x, avain in enumerate(rivi): haravasto.lisaa_piirrettava_ruutu(avain, x * 40, y *40) haravasto.piirra_ruudut() taso = ("Taso {}".format(tila["taso"])) miinat = ("Miinat: {}".format(tila["miinoja_jäljellä"])) aika = ("Aika: {}".format(tila["aika"]["reaali_aika"])) haravasto.piirra_tekstia(taso, 0, 40 * tila["korkeus"], vari=(0, 0, 0, 255), fontti="serif", koko=15) haravasto.piirra_tekstia(miinat, 100, 40 * tila["korkeus"], vari=(0, 0, 0, 255), fontti="serif", koko=15) haravasto.piirra_tekstia(aika, 220, 40 * tila["korkeus"], vari=(0, 0, 0, 255), fontti="serif", koko=15)
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. Piirtää ikkunan sisällön käyttäen funkioita: -tyhjaa_ikkuna (pyyhkii edellisen kierroksen grafiikat pois) -piirra_tausta (asettaa ikkunan taustavärin) -piirra_tekstia (kirjoittaa ruudulle tekstiä) -aloita_ruutujen_piirto (kutsutaan ennen varsinaisen ruudukon piirtoa) -lisaa_piirrettava_ruutu (lisää piirrettävän ruudun) -piirra_ruudut (piirtää kaikki aloituksen jälkeen lisätyt ruudut) """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() tekstin_korkeus = len(tila["kayttajan_nakyma"]) * 40 + 16 haravasto.piirra_tekstia("Miinaharava", 9, tekstin_korkeus, vari=(0, 0, 0, 255), fontti="serif", koko=14) ajastimen_y = len(tila["kayttajan_nakyma"]) * 40 + 4 aika_tekstina = "Aika: " + str(int( tila["ajastin"] / 60)).zfill(2) + ":" + str( tila["ajastin"] % 60).zfill(2) haravasto.piirra_tekstia(aika_tekstina, 9, ajastimen_y, vari=(0, 0, 0, 255), fontti="serif", koko=10) haravasto.aloita_ruutujen_piirto() for i in range(len(tila["kayttajan_nakyma"][0])): x_koordinaatti = 0 + i * 40 for j in range(len(tila["kayttajan_nakyma"])): y_koordinaatti = 0 + j * 40 haravasto.lisaa_piirrettava_ruutu(tila["kayttajan_nakyma"][j][i], x_koordinaatti, y_koordinaatti) haravasto.piirra_ruudut()
def piirra_kentta(): """ Käsittelijäfunktio, joka piirtää kaksiulotteisena listana kuvatun miinakentän ruudut näkyviin peli-ikkunaan. Funktiota kutsutaan aina kun pelimoottori pyytää ruudun näkymän päivitystä. tyhjaa_ikkuna (pyyhkii edellisen kierroksen grafiikat pois) piirra_tausta (asettaa ikkunan taustavärin) piirra_tekstia (kirjoittaa ruudulle tekstiä) aloita_ruutujen_piirto (kutsutaan ennen varsinaisen ruudukon piirtoa) lisaa_piirrettava_ruutu (lisää piirrettävän ruudun) piirra_ruudut (piirtää kaikki aloituksen jälkeen lisätyt ruudut) """ haravasto.tyhjaa_ikkuna() haravasto.piirra_tausta() haravasto.aloita_ruutujen_piirto() for y, rivi in reversed(list(enumerate(tila["nakyvakentta"]))): for x, ruutu in enumerate(rivi): haravasto.lisaa_piirrettava_ruutu(ruutu, x * 40, y * 40) haravasto.piirra_ruudut() tyhjat = sum(x.count(' ') for x in tila["nakyvakentta"]) liput = sum(x.count('f') for x in tila["nakyvakentta"]) if tyhjat + liput == tila["miinat"]: tila["end_time"] = time.time() tila["playerWon"] = True tila["nakyvakentta"] = tila["kentta"] tila["gameRunning"] = False if tila["gameRunning"] == False and tila["playerWon"] == False: haravasto.piirra_tekstia("Hävisit", 0, 0, (255, 0, 0, 255), "Comic Sans MS", 50) elif tila["gameRunning"] == False and tila["playerWon"] == True: haravasto.piirra_tekstia("Voitit", 0, 60, (255, 0, 0, 255), "Comic Sans MS", 50)