Dėžinukas

Iš wiki.angis.net.
Jump to navigation Jump to search

Dėžinukas

Žaidimo „Dėžinukas“ kūrėjas Tomas Čivilis, kuris sukūrė žaidimą dalyvaudamas Angies konkurse ir jeigu įsijungsite žaidimą, tai tikrai suprasite, kodėl jis nustebino visą vertintojų komisiją. Ir ne vieną kartą!

Programinio kodo prirašyta tikrai daug. Panaudotos netgi ir tokios programavimo technikos, kurių pirmame Angies sezone nedėstėme - programuotojas jas rado Angies wiki, arba skaitydamas Angies lygių kodą. Grafika, garsai, sudėtingumas parinkti labai kruopščiai. Žaidimas nėra lengvas, tačiau norisi pereiti iki galo. Padirbėta puikiai, žaidimą galima žaisti daug kartų neperkraunant naršyklės.

Žaisti Dėžinuką

Žaidimui reikalingi failai

Visus garsus ir vaizdus panaudotus šiame žaidime galima atsisiųsti čia.

Dėžinuko kodas

reikalinga angis
reikalingas žaidimas
reikalingas random

angis.naudosiuFailus(["žaidimas/saldainiopaėmimas.mp3", "žaidimas/pralaimėjimas.mp3", "žaidimas/laimėjau.mp3",  "žaidimas/atsitrenkimas.mp3"])
saldainioPaėmimasGarsas = angis.Garsas("žaidimas/saldainiopaėmimas.mp3")
pralaimėjimoGarsas = angis.Garsas("žaidimas/pralaimėjimas.mp3")
laimėjimoGarsas = angis.Garsas("žaidimas/laimėjau.mp3")
atsitrenkimoGarsas = angis.Garsas("žaidimas/atsitrenkimas.mp3")
žaidimas.duokSceną().nustatykDydį(plotis=1500, aukštis=1500)
žaidimas.naudokFoną('žaidimas/fonas.png')
dėžinukas = žaidimas.Veikėjas('žaidimas/dėžinukas.png')
platforma1 = žaidimas.Daiktas('žaidimas/platforma.png')
platforma2 = žaidimas.Daiktas('žaidimas/platforma.png')
saldainis = žaidimas.Daiktas('žaidimas/saldainis.png')
švieslentė = žaidimas.Tekstas("Sveiki, paspausk ant dėžės, kad pradėtum žaidimą.")
švieslentė.dydis(50)
švieslentė.spalva("#FF20FF")
švieslentė.atsirask(x = 300, y = 200)
taškai = 0
judėjimas = 0
pradėtasŽaidimas = False
arPaimtasSaldainis = False
arLaimėjo = False


komanda pralaimėjimas():
    dėžinukas.atsikabinkNuoPelės()
    dėžinukas.pelęPaspaudus(None)
    global judėjimas
    judėjimas = 0
    atsitrenkimoGarsas.grok()
    angis.miegok(10)
    pralaimėjimoGarsas.grok()
    jeigu dėžinukas.paklausk('Ar norėtum žaisti dar? (taip/ne)') == 'taip':
        platforma1.pasislėpk()
        saldainis.pasislėpk()
        platforma2.pasislėpk()
        žaidimasPagrindinis()


komanda susidurimas(a):
    dėžinukasX, dėžinukasY = dėžinukas.duokKoordinates()
    dėžinukasPlot, dėžinukasAukš = dėžinukas.duokIšmatavimus()

    objektoX, objektoY = a.duokKoordinates()
    objektoPlot, objektoAukš = a.duokIšmatavimus()

    jeigu dėžinukasX < objektoX + objektoPlot ir dėžinukasX + dėžinukasPlot > objektoX ir dėžinukasY < objektoY + objektoAukš ir dėžinukasY + dėžinukasAukš > objektoY:
        grąžink True

    jeigu dėžinukasX>1350 arba dėžinukasX<0 arba dėžinukasY>1400 arba dėžinukasY<0:
        grąžink True
    grąžink False


komanda prasidėk(a, b):
    global judėjimas
    global pradėtasŽaidimas
    pradėtasŽaidimas = True
    judėjimas = 1
    dėžinukas.prisikabinkPriePelės()
   
komanda atsirask():

    sugeneruotasSkaičius = random.randint(0, 800) * -1

    platforma1.atsirask(1300, -900 + sugeneruotasSkaičius)

    platforma2.atsirask(1300, -900 + sugeneruotasSkaičius + 2140)
    saldainis.atsirask(1368, -900 + sugeneruotasSkaičius + 2050)

komanda PlatformuJudėjimas():
    global arPaimtasSaldainis
    global taškai

    x, y = platforma1.duokKoordinates()

    jeigu judėjimas == 1:
        platforma1.atsirask(x - 4, y)
        platforma2.atsirask(x - 4, y + 2140)

        jeigu ne arPaimtasSaldainis:
            saldainis.atsirask(x + 68, y + 2050)
            

    jeigu x < 0:
        atsirask()
        arPaimtasSaldainis = False
        
        
komanda saldainioGavimas():
    global taškai
    global arPaimtasSaldainis

    jeigu ne arPaimtasSaldainis:
        taškai += 1
        arPaimtasSaldainis = True
        saldainis.pasislėpk()
        saldainioPaėmimasGarsas.grok()


komanda atnaujinkŠvieslentę():
    global pradėtasŽaidimas, arLaimėjo


    jeigu pradėtasŽaidimas:
        švieslentė.tekstas(f'Tavo taškai: {taškai}')

    else:
        švieslentė.tekstas('Paspausk ant dėžės, kad pradėtum žaidimą.')

komanda pabaiga():
    švieslentė.tekstas('Sveikinu, tu laimėjai surinkęs visus saldainius!')
    global arLaimėjo
    global judėjimas
    dėžinukas.atsikabinkNuoPelės()
    dėžinukas.pelęPaspaudus(None)
    judėjimas = 0
    arLaimėjo = True
    laimėjimoGarsas.grok()

komanda žaidimasPagrindinis():

    global taškai
    global arPaimtasSaldainis
    global pradėtasŽaidimas
    global judėjimas
    global arLaimėjo
    arLaimėjo = False
    judėjimas = 0
    pradėtasŽaidimas = False
    arPaimtasSaldainis = False
    taškai = 0
    dėžinukas.atsirask(400, 750)
    atsirask()

    dėžinukas.pelęPaspaudus(prasidėk)

    kol True:
        atnaujinkŠvieslentę()

        jeigu susidurimas(platforma1):
            pralaimėjimas()
            break

        jeigu susidurimas(platforma2):
            pralaimėjimas()
            break

        jeigu susidurimas(saldainis):
            saldainioGavimas()

        jeigu taškai == 10:
            pabaiga()
            break

angis.Taimeris(PlatformuJudėjimas, 0.0001)
žaidimasPagrindinis()

Svarbu! Nepamiršk įsikelti žaidime naudojamus paveiksliukus ir garsus per failų tvarkyklę. Visi Dėžinuko žaidimui reikalingi failai yra čia.