Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
User avatar
-Z-
Devoted Member
Posts: 682
Joined: Tue Aug 28, 2007 3:33 pm
Location: In ur danmaku, grazin ur bullets

Re: Tyhmät kysymykset

Post by -Z- »

Pikainen välikysymys jollekkin asiasta jotain tietävälle: Kun käyttää include - komentoa, ladataanko tiedosto välimuistiin josta sitä käytetään jatkuvasti, vai ladataanko se joka framessa uudestaan? Veikkaan vahvasti ensimmäistä vaihtoehtoa, mutta tarvitsisin varmuuden.
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset

Post by temu92 »

Omasta mielestäni kun include-komentoa käytetään, esikääntäjä lisää sen siihen pääkoodiin ja varsinainen kääntäjä kääntää koko homman. Ainakin sillä perusteella että esikääntäjä hommailee Orbixan parissa 10-15 sek (includea on paljon!) niin pitäisi paikkansa.
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset

Post by TheFish »

-Z- wrote:Pikainen välikysymys jollekkin asiasta jotain tietävälle: Kun käyttää include - komentoa, ladataanko tiedosto välimuistiin josta sitä käytetään jatkuvasti, vai ladataanko se joka framessa uudestaan? Veikkaan vahvasti ensimmäistä vaihtoehtoa, mutta tarvitsisin varmuuden.
Tiedostoa ei ladata ollenkaan suorituksen aikana, vaan sen sisältämä koodi liitetään include rivin kohdalle ennen ohjelman kääntämistä.
CoolBasic henkilökuntaa
Kehittäjä
User avatar
-Z-
Devoted Member
Posts: 682
Joined: Tue Aug 28, 2007 3:33 pm
Location: In ur danmaku, grazin ur bullets

Re: Tyhmät kysymykset

Post by -Z- »

temu92 wrote:Omasta mielestäni kun include-komentoa käytetään, esikääntäjä lisää sen siihen pääkoodiin ja varsinainen kääntäjä kääntää koko homman. Ainakin sillä perusteella että esikääntäjä hommailee Orbixan parissa 10-15 sek (includea on paljon!) niin pitäisi paikkansa.
Joo, tajusin itsekkin, että niinhän sen on pakko mennä... Funktiokirjastotkin kun ympätään koodin alkuun, eikä looppiin. Kiitos varmistuksesta kuitenkin.
"Fallout 3 (#10) marked a shift in the industry, a move that saw the western RPG begin to surpass its Japanese counterparts." -IGN top 100 RPGs of all time
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

Kun teen PyroMax: iin sopivan skripti-filun, niin voiko niitä parametrejä laittaa sinne tiedostoon muuten kuni näin:

Code: Select all

R=jotain
g=jotain
b=jotain...
eli voisi vaikka laitta x ja y koordinaatit ensin.
Onko mahdollista?
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset

Post by temu92 »

On kyllä mutta sitä varten sinun pitää tehdä sitten parseri. Se erottaa rivit ja riveillä olevat tekstit erikseen jolloin voit käyttää sitten arvoja hyväksesi.
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

huoh...

Siis vielä uus parseri? :shock:
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: Tyhmät kysymykset

Post by Jonhu »

Jani wrote:Kun teen PyroMax: iin sopivan skripti-filun, niin voiko niitä parametrejä laittaa sinne tiedostoon muuten kuni näin:

Code: Select all

R=jotain
g=jotain
b=jotain...
eli voisi vaikka laitta x ja y koordinaatit ensin.
Onko mahdollista?
Tässä vähän erityylinen värien muistiin tallentaminen...

Code: Select all

Type RAJAHDYS
    Field vari As String
    Field x
    Field y
EndType

MakeType(10)


Repeat

    For aa.RAJAHDYS=Each RAJAHDYS
        Color Int(GetWord(aa\vari,1,",")),Int(GetWord(aa\vari,2,",")),Int(GetWord(aa\vari,3,","))
        Box aa\x,aa\y,100,100
    Next aa
    
    If KeyHit(28) Or MouseHit(1) Then ClearType() : maketype(10)
    
    DrawScreen
    
Forever

Function MakeType(maara)
    For n=1 To maara
        aa.RAJAHDYS=New(RAJAHDYS)
        aa\vari=Rand(0,255)+","+Rand(0,255)+","+Rand(0,255)
        aa\x=Rand(ScreenWidth(),0)
        aa\y=Rand(ScreenHeight(),0)
    Next n
EndFunction

Function ClearType()
    For aa.RAJAHDYS=Each RAJAHDYS
        Delete aa
    Next aa
EndFunction

Tekeillä pikkupelejä ja ohjelmia :)
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

Ei ******

Tarkotin että kun PyroMaxin esimerkki skriptissä luki:

Code: Select all

R=10
G=10
B=10
X=200
Y=200...
Eli voiko tehdä sen vaikka tässä järjestyksessä:

Code: Select all

X=10
Y=10
R=10
G=10
B=10
?
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

No miksei voisi kun se joka tapauksessa lukee ne kaikki tallentaa sen siihen muuttujaan niin ei sillä ole mitään väliä vaikka siellä välissä lukisi hevonen. Siellä tuskin saa lukea sitä, mutta tämä nyt oli vain tämä että tajuaisit ettei sillä järjestyksellä ole väliä(ei ainakaan pitäisi, ellen ole metässä).
Image
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

tiedätkö mikä PyroMax edes on?

kysyn joltain jolla on se.

EDIT: ääh... testaan itse.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Dibalon tekemä ilotulitus kirjasto. Tai siis funktio kirjasto joka sisältää funktioita joilla voi tehdä ilotulituksia.
Image
IceCube

Re: Tyhmät kysymykset

Post by IceCube »

MIten ssan vihuja kenttiin, ja voisitteko autt minua korjaamaan koodin vikoja >D

Code: Select all

Text 0,0,"Tän Teki IceCube" 'tulostaa tekstiä ruudulle

Dim AMMUS_ELOSSA(100) 'onko ammus elossa vai vapaa
Dim AMMUS_OBJ(100)    'sisältää ammuksen ukkoektin

FrameLimit 40 'rajoita nopeutta

mappi=LoadObject ("Media\level.bmp")
vihu=LoadObject ("Media\guy.bmp")

ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF

AddText "Nuolista ohjaa, CTRL=ampuu"


Repeat

    'Ohjaa ukkoa NUOLILLA
    If LeftKey() Then TurnObject ukko,5
    If RightKey() Then TurnObject ukko,-5
    If UpKey() Then MoveObject ukko,2
    If DownKey() Then MoveObject ukko,-2    
    

   If KeyDown(cbKeyRControl) And reload=0 Then    
        Gosub LisääAmmus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1

    'Päivitä kaikki ammukset
    GoSub PäivitäAmmukset

    'tämä ennen muuta grafiikkaa (box)
    DrawGame

    'piirrä "kenttä"
    Color cbGreen
    Box 20,20,360,260,OFF    

    'Ammu-systeemi. Vain, jos ase on ladattu
    If KeyDown(cbKeyRControl) And reload=0 Then    
        Gosub LisääAmmus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1


  
       
    'Päivitä kaikki ammukset
    Gosub PäivitäAmmukset

    CloneCameraPosition ukko
     
      Gosub PäivitäAmmukset
      
     
    'tämä ennen muuta grafiikkaa (box)
    DrawGame

    'piirrä "kenttä"
    Color cbOrange
    Box 20,20,360,260,OFF   
    
 
    
    DrawScreen
Until EscapeKey()



End
'----------------------------------------------
LisääAmmus:
    'ammutaan, eli luodaan uusi pati
    'monistamalla ladattu pati ja asettamalla
    'se samaan paikkaan kuin ukko.
        
    'ensin tarkastetaan, onko paikoja vapaana
    For i=1 To 300
        If AMMUS_ELOSSA(i)=OFF Then
            'vapaa paikka löytyi, luodaan pati
                
            AMMUS_ELOSSA(i)=ON
            AMMUS_OBJ(i)=CloneObject(pati)
                
            'asetetaan pati samaan paikkaan
            CloneObjectPosition AMMUS_OBJ(i),ukko
                
            'käännetään pati samaan suuntaan
            CloneObjectOrientation AMMUS_OBJ(i),ukko
            
            reload=5 'aseen lataus
          
            'enempää paikka-tarkistuksia ei tarvita,
            'joten voimme paeta silmukasta
            Exit
        EndIf
    Next i
Return 'palaa takaisin pääsilmukkaan
Vikoja esim punan vihuksi ja se kauas pois. Vihunn monistus, Voi ampua pitemmälle Ja fullscreen
-----------------------------------------------------------------------------------------
Kiitos
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Aika monta kertaa olit pistänyt:
Gosub LiisääAmmus tai Gosub PäivitäAmmukset. Yksi riittää ja en nähnyt siellä sitä PäivitäAmmukset ala-koodia.
Sinulla oli myös se Box kahteen kertaan.
Ja sulla on siinä taulukossa vaan 100 solua ja olet laittanut sen tarkistamaan sinne For - Next lausekkeeseen 300 solua. MAV
Image
MAVmaggot
Advanced Member
Posts: 468
Joined: Fri Aug 31, 2007 10:18 pm
Location: bitspace

Re: Tyhmät kysymykset

Post by MAVmaggot »

Jani wrote:tiedätkö mikä PyroMax edes on?

kysyn joltain jolla on se.

EDIT: ääh... testaan itse.
Ei sillä ole väliä tietääkö mikä PyroMax on vaan sillä tietääkö mikä on kokoelma. Phonssi neuvoi juuri oikein, eli ei ole väliä.
IceCube!

Re: Tyhmät kysymykset

Post by IceCube! »

phons wrote:Aika monta kertaa olit pistänyt:
Gosub LiisääAmmus tai Gosub PäivitäAmmukset. Yksi riittää ja en nähnyt siellä sitä PäivitäAmmukset ala-koodia.
Sinulla oli myös se Box kahteen kertaan.
Ja sulla on siinä taulukossa vaan 100 solua ja olet laittanut sen tarkistamaan sinne For - Next lausekkeeseen 300 solua. MAV
Kiitos korjasin virheet ja nyt yulevaisuudessa osaan säätä nämäkin :lol:

Vielä 2 ongelmaa vihut ja pati ampuu väärään suuntaan nykyinen koodi on

Code: Select all

Dim AMMUS_ELOSSA(100) 
Dim AMMUS_OBJ(100)    

FrameLimit 40 'rajoita nopeutta

mappi=LoadObject ("Media\level.bmp")
vihu=LoadObject ("Media\guy.bmp")

ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF

AddText "Nuolista ohjaa, CTRL=ampuu"


Repeat

    'Ohjaa ukkoa NUOLILLA
    If LeftKey() Then TurnObject ukko,5
    If RightKey() Then TurnObject ukko,-5
    If UpKey() Then MoveObject ukko,2
    If DownKey() Then MoveObject ukko,-2    
    

   If KeyDown(cbKeyRControl) And reload=0 Then    
        Gosub LisääAmmus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1

    t
    GoSub PäivitäAmmukset


    DrawGame
 

    
    If KeyDown(cbKeyRControl) And reload=0 Then    
        Gosub LisääAmmus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1


  
       

    CloneCameraPosition ukko
    
      
     
    )
    DrawGame

    'piirrä "kenttä"
    Color cbOrange
    Box 20,20,360,260,OFF   
    
       Gosub PäivitäAmmukset
    
    DrawScreen
Until EscapeKey()



End
'----------------------------------------------
LisääAmmus:
 

    For i=1 To 100
        If AMMUS_ELOSSA(i)=OFF Then
            
                
            AMMUS_ELOSSA(i)=ON
            AMMUS_OBJ(i)=CloneObject(pati)
                
            
            CloneObjectPosition AMMUS_OBJ(i),ukko
                
      
        CloneObjectOrientation  AMMUS_OBJ(i),ukko
            
         
            reload=5 
          
            '
            Exit
        EndIf
    Next i
Return 
'-----------------------------------------------
PäivitäAmmukset:

    For i=1 To 100
       If AMMUS_ELOSSA(i) Then
            MoveObject AMMUS_OBJ(i),6
            
   
                'ammus ylittää rajan -> tuhoa se
         
                
                DeleteObject AMMUS_OBJ(i)
                
                'vapauta paikka tyhjäksi
                AMMUS_ELOSSA(i)=OFF
    
        EndIf
    Next i
Return 'palaa takaisin pääsilmukkaan
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

Et määritellyt suuntaa... :?
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
IceCube

Re: Tyhmät kysymykset

Post by IceCube »

Jani wrote:Et määritellyt suuntaa... :?
Yritetään sitten vaikka komentoa en tiedä :lol: Aiika toivotonta noh tekemällä oppii
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

Manuaali --> Objektit
Siellä ne Obejkti-komennot on. :lol:
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 2:16 pm

Re: Tyhmät kysymykset

Post by Character »

Ei kai se liiku kun poistat sen heti kun ammutaan.

Code: Select all

DeleteObject AMMUS_OBJ(i)
Unohdit laittaa iffin siihen kohtaan kun raja ylitetään..
Locked