コード例 #1
0
def main(width, height, mineQnt):
    """
    main function to start the game. Loads the pictures from given folder and draws wanted
    squares.

    creates an empty table with given height and width, and after that adds random amount
    of mines on given table.

    @param width: width of the board game is played on
    @param height: height of the board game is played on
    @param mineQnt: quantity of mines in game.
    """
    clearTable()
    haravasto.lataa_kuvat("./spritet")
    board = []
    for rivi in range(height):
        board.append([])
        for sarake in range(width):
            board[-1].append(" ")
    tila["board"] = board

    jaljella = []
    for x in range(height):
        for y in range(width):
            jaljella.append((x, y))

    mineService.miinoita(tila["board"], jaljella, mineQnt)
    haravasto.luo_ikkuna(width * SQSIZE, height * SQSIZE)
    haravasto.piirra_tausta()
    haravasto.aseta_piirto_kasittelija(draw_board)
    game()
    return (tila["time"] - 3, tila["result"], tila["moves"])
コード例 #2
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()

    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()
コード例 #3
0
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()
コード例 #4
0
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()
コード例 #5
0
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()
コード例 #6
0
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()
コード例 #7
0
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()
コード例 #8
0
ファイル: miinaharava.py プロジェクト: AriLankinen/Project-CV
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()
コード例 #9
0
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()
コード例 #10
0
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()
コード例 #11
0
ファイル: minesweeper.py プロジェクト: jburn/school_projects
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()
コード例 #12
0
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()
コード例 #13
0
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()
コード例 #14
0
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()
コード例 #15
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ä."""
    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()
コード例 #16
0
ファイル: miinaharava.py プロジェクト: jansipil/Miinaharava
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()
コード例 #17
0
ファイル: miinaharava.py プロジェクト: Kingis00/miinaharava
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()
コード例 #18
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ä.
    """
    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()
コード例 #19
0
ファイル: miinaharava.py プロジェクト: mikarvon18/my-work
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()
コード例 #20
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, i in enumerate(kentat["piirtokentta"]):
        for x, ruutu in enumerate(i):
            haravasto.lisaa_piirrettava_ruutu(ruutu, 40*x, 40*y)
    haravasto.piirra_ruudut()
コード例 #21
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ä.
    """
    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)
コード例 #22
0
ファイル: Tulvav6.py プロジェクト: pintti/Koodia
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()
コード例 #23
0
ファイル: miinaharava.py プロジェクト: joelryt/Minesweeper
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()
コード例 #24
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 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()
コード例 #25
0
ファイル: Lopputyo.py プロジェクト: pintti/Koodia
def piirra_kentta():
    '''Funktio joka piirtää pelikentän peli-ikkunaan.
    Funktiota kutsutaan aina kun pelimoottori pyytää ruudun päivitystä.'''
    hav.tyhjaa_ikkuna()
    hav.piirra_tausta()
    hav.aloita_ruutujen_piirto()
    for y_krd, ruutu_y in enumerate(kentta["alue"]):
        isoy = y_krd * 40
        for x_krd, ruutu_x in enumerate(ruutu_y):
            isox = x_krd * 40
            if ruutu_x == 'x':
                hav.lisaa_piirrettava_ruutu(' ', isox, isoy)
            elif ruutu_x == 'h':
                hav.lisaa_piirrettava_ruutu('x', isox, isoy)
            else:
                hav.lisaa_piirrettava_ruutu(ruutu_x, isox, isoy)
    hav.piirra_ruudut()
コード例 #26
0
ファイル: miinaharava.py プロジェクト: KarEet/Miinaharava
def piirra_kentta():
    haravasto.tyhjaa_ikkuna()
    haravasto.piirra_tausta()
    haravasto.aloita_ruutujen_piirto()
    for j, rivi in enumerate(tila["kentta"]):
        for i, ruutu in enumerate(rivi):
            if ruutu != "m" and ruutu != "x":
                haravasto.lisaa_piirrettava_ruutu(
                    ruutu, i * 40, ((ikkunan_korkeus - 90) - j * 40))
            elif ruutu == "m":
                haravasto.lisaa_piirrettava_ruutu(
                    " ", i * 40, ((ikkunan_korkeus - 90) - j * 40))
            elif ruutu == "x":
                haravasto.lisaa_piirrettava_ruutu(
                    "x", i * 40, ((ikkunan_korkeus - 90) - j * 40))
    haravasto.piirra_ruudut()
    haravasto.piirra_tekstia(tila["ohje"], 0, korkeus * 40 + 5)
コード例 #27
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 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()
コード例 #28
0
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)
コード例 #29
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)
コード例 #30
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()
    miinat = 0
    y = 0
    for i in kentta:
        x = 0
        for e in i:
            haravasto.lisaa_piirrettava_ruutu(" ", x * 40, y * 40)
            if e == "l":
                haravasto.lisaa_piirrettava_ruutu("f", x * 40, y * 40)
            if e == "m":
                haravasto.lisaa_piirrettava_ruutu("x", x * 40, y * 40)
            for numero in range(9):
                if e == str(numero):
                    haravasto.lisaa_piirrettava_ruutu(str(numero), x * 40,
                                                      y * 40)
            if pelinTiedot["loppu"]:
                if e == "x" or e == "m":
                    haravasto.lisaa_piirrettava_ruutu("x", x * 40, y * 40)
                if e == "l":
                    if tuple([x, y]) in miinatLippujenAlla:
                        haravasto.lisaa_piirrettava_ruutu("x", x * 40, y * 40)
                        miinatLippujenAlla.remove(tuple([x, y]))
                    else:
                        miinat = laske_miinat(x, y, kentta)
                        for n in range(9):
                            if miinat == n:
                                haravasto.lisaa_piirrettava_ruutu(
                                    str(n), x * 40, y * 40)
            x = x + 1
        y = y + 1

    haravasto.piirra_ruudut()