PyroMaxToFile

Oletko tehnyt jotain, mistä muut voisivat hyötyä. Postita vinkit tänne.
Post Reply
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

PyroMaxToFile

Post by Jani »

Elikkä tällä voi tallentaa ilotulituksen tiedostoon.
En nyt tiedä että onko tästä hyötyä, mutta minun mielestä on.
Kirjoitat kaksi riviä ja sinulla on valmis tiedosto.

FUNKTIOT:

Code: Select all

//Tällä funktiolla voi tallentaa raketin tiedostoon
//Muista päättää funktiolla PyroMaxToFile2() funktiolla!
// x, y         = lähtokoordinaatit
// rc,gc,bc     = raketin väri
// angle        = lähtökulma
// speed        = lähtönopeus
// lauchTime    = aika, jolloin raketti lähtee
// explosionTimer = milloin raketti räjähtää (kuluneena laukaisusta)
// explosionPower = räjähdysvoima (kuinka paljon tavaraa)
// tail         = hännän pituus
//file          = tiedosto
Function PyroMaxToFile1(x#, y#, angle#, speed#, rc, gc, bc, launchTime, explosionTimer, explosionPower, tail=150, file$="PyroMax\pyro.txt")
    PMf=OpenToEdit(file)
        While Not EOF(PMf)
            turha=ReadLine(PMf)
        Wend
        WriteLine pmf,""
        WriteLine pmf,"NEW ROCKET"
        WriteLine pmf,""
        WriteLine pmf,"   R="+rc
        WriteLine pmf,"   G="+gc
        WriteLine pmf,"   B="+bc
        WriteLine pmf,"   X="+x
        WriteLine pmf,"   Y="+y
        WriteLine pmf,"   ANGLE="+angle
        WriteLine pmf,"   SPEED="+speed
        WriteLine pmf,"   LAUNCH_TIME="+launchtime
        WriteLine pmf,"   EXP_TIMER="+explosiontimer
        WriteLine pmf,"   POWER="+explosionpower
        WriteLine pmf,"   TAIL="+tail
    CloseFile PMf
EndFunction

//Tällä lisätään pyrot ja jos valittu niin myös päätetään raketti.
// speed        = pyrojen nopeus
// r,g,b        = pyron väri
// lifeTime     = pyron elinikä (millisekunteina)
// tail         = hännän pituus (mitä suurempi luku sen pidenpi häntä)
//en            = Jos tosi (suurempikuin nolla) niin päätä taketti. Jos nolla niin sulkee raketin. // viimeinen efekti kun on niin laita tähän yksi(1)
//file          = tiedosto
Function PyroMaxToFile2(speed#, r, g, b, lifeTime, tail=150, en=1, file$="PyroMax\pyro.txt")
    f=OpenToEdit(file)
        While Not EOF(f)
            turha=ReadLine(f)
        Wend
        WriteLine f,""
        WriteLine f,"   NEW EFFECT"
        WriteLine f,"       R="+r
        WriteLine f,"       G="+g
        WriteLine f,"       B="+b
        WriteLine f,"       SPEED="+speed
        WriteLine f,"       LIFE_TIME="+lifetime
        WriteLine f,"       TAIL="+tail
        WriteLine f,"   END EFFECT"    
        WriteLine f,""
        If en Then WriteLine f,"END ROCKET"
    CloseFile F
EndFunction
Elikkä se on paljolti samanlainen kuin normaali

ESIMERKKI:

Code: Select all

Include "PyroMax.cb"

PyroMaxToFile1(Rand(30,370),300,90,100,0,0,200,500,500,200,200,"pyro.txt")
PyroMaxToFile2(20,Rand(255),Rand(255),Rand(255),300,200,1,"pyro.txt")

PYRO_ParseScript("pyro.txt")

PYRO_InitAll()

Repeat

    PYRO_UpdateAll()
    
    DrawScreen

Forever

//Tällä funktiolla voi tallentaa raketin tiedostoon
//Muista päättää funktiolla PyroMaxToFile2() funktiolla!
// x, y         = lähtokoordinaatit
// rc,gc,bc     = raketin väri
// angle        = lähtökulma
// speed        = lähtönopeus
// lauchTime    = aika, jolloin raketti lähtee
// explosionTimer = milloin raketti räjähtää (kuluneena laukaisusta)
// explosionPower = räjähdysvoima (kuinka paljon tavaraa)
// tail         = hännän pituus
//file          = tiedosto
Function PyroMaxToFile1(x#, y#, angle#, speed#, rc, gc, bc, launchTime, explosionTimer, explosionPower, tail=150, file$="PyroMax\pyro.txt")
    PMf=OpenToEdit(file)
        While Not EOF(PMf)
            turha=ReadLine(PMf)
        Wend
        WriteLine pmf,""
        WriteLine pmf,"NEW ROCKET"
        WriteLine pmf,""
        WriteLine pmf,"   R="+rc
        WriteLine pmf,"   G="+gc
        WriteLine pmf,"   B="+bc
        WriteLine pmf,"   X="+x
        WriteLine pmf,"   Y="+y
        WriteLine pmf,"   ANGLE="+angle
        WriteLine pmf,"   SPEED="+speed
        WriteLine pmf,"   LAUNCH_TIME="+launchtime
        WriteLine pmf,"   EXP_TIMER="+explosiontimer
        WriteLine pmf,"   POWER="+explosionpower
        WriteLine pmf,"   TAIL="+tail
    CloseFile PMf
EndFunction

//Tällä lisätään pyrot ja jos valittu niin myös päätetään raketti.
// speed        = pyrojen nopeus
// r,g,b        = pyron väri
// lifeTime     = pyron elinikä (millisekunteina)
// tail         = hännän pituus (mitä suurempi luku sen pidenpi häntä)
//en            = Jos tosi (suurempikuin nolla) niin päätä taketti. Jos nolla niin sulkee raketin. // viimeinen efekti kun on niin laita tähän yksi(1)
//file          = tiedosto
Function PyroMaxToFile2(speed#, r, g, b, lifeTime, tail=150, en=1, file$="PyroMax\pyro.txt")
    f=OpenToEdit(file)
        While Not EOF(f)
            turha=ReadLine(f)
        Wend
        WriteLine f,""
        WriteLine f,"   NEW EFFECT"
        WriteLine f,"       R="+r
        WriteLine f,"       G="+g
        WriteLine f,"       B="+b
        WriteLine f,"       SPEED="+speed
        WriteLine f,"       LIFE_TIME="+lifetime
        WriteLine f,"       TAIL="+tail
        WriteLine f,"   END EFFECT"    
        WriteLine f,""
        If en Then WriteLine f,"END ROCKET"
    CloseFile F
EndFunction
Aja esimerkki muutama kertaa.

Hienous: Voit käyttää Rand() ja Rnd() funktioita :geek:
EDIT:

Eihän Dibalo pahastu?

Last edited by Jani on Thu Jan 08, 2009 4:52 pm, edited 1 time in total.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Post Reply