Avaruuslentelypeli Alpha [Beta 2]

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.
Post Reply
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Avaruuslentelypeli Alpha [Beta 2]

Post by Wee »

Esittelen teille foorumilaisille tässä ensimmäisen projektini coolbasicin kanssa, pienen avaruuslentelypelin. Aloitin coolbasicin kanssa muutama viikko sitten, ja se todennäköisesti näkyy pelissä ;) Siinä on myös muutamia harjoitusomaisia tunnuksia, joita siihen jätin, kuten päivämäärä, sekä teksti, painatko nuolta ylös vai alaspäin. Kaikenlaisia parannusvinkkejä saa antaa, ja rakentavaa kritiikkiäkin otetaan vastaan ;=). Fps lukujanne olisi kiva kuulla.

Avaruuslentelypeli Alpha

Idea: Pelissä on kolme eri pelimuotoa - peruspeli, kaksinpeli, ja hc-moodi. Pelin idea on
selvitä valitsemansa pelimuodon läpi. Pelissä ei itsessään ole mitään "tarinaa",
tarkoitusta, tai muuta vastaavaa, vaan se on vain pikkupeli, joka on tarkoitettu
hetken ajanvietteeksi.

Pelimuodot:
--> Peruspelissä <-- tarkoituksesi on estää asteroidien pääsy ohitsesi. Jokaisesta
ampumastasi asteroidista saat 1 pisteen, ja kun sinulla on kasassa 50 pistettä, olet
selviytynyt tehtävästä kunnollisesti. Jokaisesta läpipäässestä asteroidista sinulta
vähennetään 10 pistettä. Luonnollisesti jos pisteesi menevät miinukselle, olet hävinnyt
pelin. Kontrollit ovat nuolet ylös ja alas aluksen liikutteluun, sekä välilyönti, josta ampuu.

--> Kaksinpeli <-- on kuin peruspeliä, mutta voit pelata yhdessä kaverisi kanssa.
Jokaisesta ammutusta asteroidista saatte 2 pistettä, ja ohipäässeestä menetätte 16.
Tavoitteenanne on saada 100 pistettä. Jottei mentäisi liiaksi helpon puolelle,
kaksinpelissä aluksienne aseet latautuvat hitaammin. Yhteistyö on valttia!
Ykköspelaajan kontrollit ovat nuolet ylös ja alas, sekä oikea shift-nuoli ampumiseen, ja
kakkospelaajan kontrollit ovat w ja s aluksen liikutteluun, sekä välilyönti ampumiseen.

--> HardCore -moodi <-- onkin haastavammille pelaajille tarkoitettu juttu. Sen voit avata
läpäisemällä kerran peruspelin. Hc-moodi on kuin peruspeli, mutta asteroidit vyöryvät
laumoina sinua kohti nopeammin, ja yksikään asteroidi ei saa päästä ohitsesi! Yhdestä
ammutusta asteroidista saat 1 pisteen, ja tarkoituksenasi on selvitä 150 pisteeseen
asti. Saat alussa jo 50 pistettä bonusta siitä, että uskalsit ylipäätään yrittää koko
moodia ;-). Kontrollit ovat samat - nuolet ylös ja alas, sekä välilyönti ampumiseen.

Versio: Beta 2
Koko: Beta 1 - 618.51 kb (.zip) | Beta 2 - 634,19 kb (.zip)
Lataus: Beta 1 | Beta 2 (Suositeltava)
Tulossa Beta 2: Toinen vihollistyyppi - marsilaisten avaruusalukset, sekä kaksinpeli, jossa voit kaverisi kanssa ampua yhä enemmän vyöryviä asteroidilaumoja avaruuspölyksi, sekä jonkinasteinen räjähdys vihollisten ja asteroidien tuhoutuessa. HC modi, jossa yksikään asteroidi/avaruusalus ei saa päästä ohitsesi

Lähdekoodi:

Code: Select all


'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
'!!!!!Avaruuslentelypeli Alpha [Beta 2]!!!!!'
'!!!!!Lähdekoodi - (c) "Wee" Vauhkonen !!!!!'
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
    
    
    'Kokoelmat
    Type AMMUS 'luo kokoelma, jonka nimi on AMMUS
        Field obj 'yksi kenttä nimeltään 'obj'
    End Type 
    Type ASTEROIDIT'Kokoelma asteroidi
        Field obj'yksi kenttä nimeltään 'obj'
    End Type

'Alkuvalmistelut
SCREEN 400, 300
SetWindow "Avaruuslentelypeli Alpha [Beta 2]", 0, "Oletko varma, että haluat lopettaa..?"
AddText "Ladataan..."
DrawScreen
times = 0
timesk = 0
voitot = 0
voitotk = 0
hcvoitot = 0
'Musiikki ennen kaikkea!
PlaySound "media\NFSIIIaquila.mid"
FrameLimit 33


alku :

ClearText

'Ns. menu
Locate 55,115
AddText "Paina 1 aloittaaksesi tavallisen pelin"
AddText "Paina 2 aloittaaksesi kaksinpelin"
AddText "Paina 3 katsellaksesi pelin statseja"
If voitot > 0 Then
    AddText "Paina 4 aloittaaksesi pelin hc-modella"
EndIf

Locate 50,2
AddText "Avaruuslentelypeli Alpha [Beta 2]"
Locate 50,275
AddText "(c) Veikko 'Wee' Vauhkonen 2008-2009"

'Piirretään ylä-ja alaviivat kentälle
Line 0,26,400,26
Line 0,260,400,260
DrawScreen
WaitKey
ClearText

'Minne mennään menusta?
If KeyDown(cbkey1) Then Goto peli
If KeyDown(cbkey2) Then Goto kaksinpeli
If KeyDown(cbkey3) Then Goto stats
If voitot > 0 Then
    If KeyDown(cbkey4) Then 
        Goto hc
    EndIf
EndIf

peli :

    'Ladataan objecktit, spritet, äänet
    pumsnd = LoadSound("media/Blaster.wav")
    alus = LoadObject("media/ship.png", 4)
    pati = LoadObject("media/pati.png", 4)
    asteroidi = LoadObject("media/asteroidi.png", 1)
    ShowObject pati,OFF
    TurnObject alus, 90
    PositionObject alus, -160, 30
    PositionObject asteroidi, -250,-250

'PERUSPELISILMUKKA

Repeat

    If uusiutuminen>0 Then uusiutuminen=uusiutuminen-1  
    If uusiutuminen<0 Then uusiutuminen=0
    'Asteroidit...'
    If uusiutuminen=0 Then
        newAsteroidi.ASTEROIDIT= New(ASTEROIDIT)
        newAsteroidi\obj=CloneObject(asteroidi)
        PositionObject newAsteroidi\obj, 230, Rand(110,-100)
        MoveObject newAsteroidi\obj,Rand(-0.5,-5)
        uusiutuminen=Rand(10,27)
    EndIf
    
    'Päivitetään asteroidit
    i=0
    
    For aAsteroidi.ASTEROIDIT= Each ASTEROIDIT
          MoveObject aAsteroidi\obj,Rand(-2,-4.5)
          If ObjectX(aAsteroidi\obj)< -225 Then
              DeleteObject aAsteroidi\obj
              Delete aAsteroidi
              pisteet=pisteet-10
          EndIf
          i=i+1
    Next aAsteroidi
    
    'Pisteet yläkulmaan
    Text 300,2, "Pisteet: "
    Text 370,2, pisteet
    
    'Tekstinsyötötökokeilut ylös, ja alaspäin vas. ylänurkka
    If UpKey() Then
                     ClearText 
                     Text 2,2, "Painat nuolta ylöspäin" 
    EndIf
    If DownKey() Then 
                     ClearText 
                     Text 2,2, "Painat nuolta alaspäin"
    EndIf
    
    'Päiväys alareunaan
    Text 1,280, "Tänään on"
    Text 80,280,Date()  
    Text 177,280,Time()
    
    'FPS oikeaan alareunaan
    Text 340,280, "FPS:"
    Text 370,280,FPS()
    
    'Piirretään ylä-ja alaviivat kentälle
    Line 0,26,400,26
    Line 0,260,400,260
    
    'Aluksen liikkuminen
    If UpKey() Then MoveObject alus, 4.5
    If DownKey() Then MoveObject alus, -4.5
    
    'Aluksen pelikentän rajaaminen
    If ObjectX(alus)>200 Then PositionObject alus, 200,ObjectY(alus) 
    If ObjectX(alus)<-200 Then PositionObject alus, -200,ObjectY(alus)
    If ObjectY(alus)>115 Then PositionObject alus, ObjectX(alus),115
    If ObjectY(alus)<-100 Then PositionObject alus, ObjectX(alus),-100

    'Ampuminen oikealle
    If KeyDown(cbkeyspace) And aselataus=0 Then 
                PlaySound pumsnd, 65
                luoti.AMMUS = New(AMMUS)
                luoti\obj=CloneObject(pati)
                CloneObjectPosition luoti\obj,alus
                PositionObject luoti\obj, ObjectX(luoti\obj)+11.5,ObjectY(luoti\obj)-1
                aselataus=8
     EndIf
     If aselataus>0 Then aselataus=aselataus-1
     
      For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,6
        If ObjectX(luoti\obj)<-180 Or ObjectX(luoti\obj)>180 Or ObjectY(luoti\obj)<-130 Or ObjectY(luoti\obj)>130 Then                
            DeleteObject luoti\obj
            Delete luoti
        EndIf        
      Next luoti
      
    'Mitäpä jos asteroidi ja ammus törmäävät?   
    For aAsteroidi.ASTEROIDIT= Each ASTEROIDIT
      For luoti.AMMUS = Each AMMUS
        If Distance2 (luoti\obj, aAsteroidi\obj)<20 Then
          pisteet=pisteet+1
          DeleteObject aAsteroidi\obj
          Delete aAsteroidi
          DeleteObject luoti\obj
          Delete luoti
          Exit
        EndIf
      Next luoti
    Next aAsteroidi
    
    'Pelin lopetus
    If pisteet<0 Then
      pisteet = 0
      Goto havisit
    EndIf
    
    If pisteet>49 Then
      pisteet = pisteet+1
      Goto voitto
    EndIf
    
    'Pelikentän pisteet, "tähdet"
    Dot 40,50
    Dot 150,200
    Dot 300,97
    Dot 270,160
    Dot 210,185
    Dot 25,143
    Dot 180,240
    Dot 190,50
    Dot 17,85
    Dot 45,240
    Dot 50,150
    Dot 350,200
    Dot 75,201
    Dot 150,200
    Dot 180,150
    Dot 120,40
    Dot 170,195
    Dot 100,110
    Dot 365,100
    Dot 340,50
    Dot 80,70
    Dot 240,90
    Dot 270,210
    Dot 350,220
    Dot 170,80
    'Se unohtumaton
    DrawScreen
Forever



kaksinpeli :


    'Ladataan objecktit, spritet, äänet
    pumsnd = LoadSound("media/Blaster.wav")
    alus = LoadObject("media/ship.png", 4)
    alus2 = LoadObject("media/ship2.png", 4)
    pati = LoadObject("media/pati.png", 4)
    asteroidi = LoadObject("media/asteroidi.png", 1)
    ShowObject pati,OFF
    TurnObject alus, 90
    TurnObject alus2, 90
    PositionObject alus, -130, 30
    PositionObject alus2, -180, 30
    PositionObject asteroidi, -250,-250

'KAKSINPELISILMUKKA

Repeat

    If uusiutuminen>0 Then uusiutuminen=uusiutuminen-2 
    If uusiutuminen<0 Then uusiutuminen=0
    'Asteroidit...'
    If uusiutuminen=0 Then
        newAsteroidi.ASTEROIDIT= New(ASTEROIDIT)
        newAsteroidi\obj=CloneObject(asteroidi)
        PositionObject newAsteroidi\obj, 230, Rand(110,-100)
        MoveObject newAsteroidi\obj,Rand(-1.5,-7)
        uusiutuminen=Rand(10,30)
    EndIf
    
    'Päivitetään asteroidit
    a=0
    
    For aAsteroidi.ASTEROIDIT= Each ASTEROIDIT
          MoveObject aAsteroidi\obj,Rand(-3,-6.5)
          If ObjectX(aAsteroidi\obj)< -225 Then
              DeleteObject aAsteroidi\obj
              Delete aAsteroidi
              pisteet=pisteet-16
          EndIf
          a=a+1
    Next aAsteroidi
    
    'Pisteet yläkulmaan
    Text 300,2, "Pisteet: "
    Text 370,2, pisteet
    
    'Tekstinsyötötökokeilut ylös, ja alaspäin vas. ylänurkka
    If UpKey() Then
                     ClearText 
                     Text 2,2, "Painat nuolta ylöspäin" 
    EndIf
    If DownKey() Then 
                     ClearText 
                     Text 2,2, "Painat nuolta alaspäin"
    EndIf
    
    'Päiväys alareunaan
    Text 1,280, "Tänään on"
    Text 80,280,Date()  
    Text 177,280,Time()
    
    'FPS oikeaan alareunaan
    Text 340,280, "FPS:"
    Text 370,280,FPS()
    
    'Piirretään ylä-ja alaviivat kentälle
    Line 0,26,400,26
    Line 0,260,400,260
    
    'Ykköspelaajan aluksen liikkuminen
    If UpKey() Then MoveObject alus, 3
    If DownKey() Then MoveObject alus, -3
    
    'Ykköspelaajan aluksen pelikentän rajaaminen
    If ObjectX(alus)>200 Then PositionObject alus, 200,ObjectY(alus) 
    If ObjectX(alus)<-200 Then PositionObject alus, -200,ObjectY(alus)
    If ObjectY(alus)>115 Then PositionObject alus, ObjectX(alus),115
    If ObjectY(alus)<-100 Then PositionObject alus, ObjectX(alus),-100
         
    'Kakkospelaajan aluksen liikkuminen
    If KeyDown(cbkeyw) Then MoveObject alus2, 3
    If KeyDown(cbkeys) Then MoveObject alus2, -3
    
    'Kakkospelaajan aluksen pelikentän rajaaminen
    If ObjectX(alus2)>200 Then PositionObject alus2, 200,ObjectY(alus2)
    If ObjectX(alus2)<-200 Then PositionObject alus2, -200, ObjectY(alus2)
    If ObjectY(alus2)>115 Then PositionObject alus2, ObjectX(alus2),115
    If ObjectY(alus2)<-100 Then PositionObject alus2, ObjectX(alus2),-100
    
    'Ampuminen pelaaja1
    If KeyDown(cbkeyrshift) And aselataus=0 Then 
                PlaySound pumsnd, 65
                luoti.AMMUS = New(AMMUS)
                luoti\obj=CloneObject(pati)
                CloneObjectPosition luoti\obj,alus
                PositionObject luoti\obj, ObjectX(luoti\obj)+11.5,ObjectY(luoti\obj)-1
                aselataus=12
     EndIf
     If aselataus>0 Then aselataus=aselataus-1

    'Ampuminen pelaaja2
    If KeyDown(cbkeyspace) And aselataus2=0 Then 
                PlaySound pumsnd, 65
                luoti.AMMUS = New(AMMUS)
                luoti\obj=CloneObject(pati)
                CloneObjectPosition luoti\obj,alus2
                PositionObject luoti\obj, ObjectX(luoti\obj)+11.5,ObjectY(luoti\obj)-1
                aselataus2=12
     EndIf
     If aselataus2>0 Then aselataus2=aselataus2-1
     
      For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,6
        If ObjectX(luoti\obj)<-180 Or ObjectX(luoti\obj)>180 Or ObjectY(luoti\obj)<-130 Or ObjectY(luoti\obj)>130 Then                
            DeleteObject luoti\obj
            Delete luoti
        EndIf        
      Next luoti
      
    'Mitäpä jos asteroidi ja ammus törmäävät?   
    For aAsteroidi.ASTEROIDIT= Each ASTEROIDIT
      For luoti.AMMUS = Each AMMUS
        If Distance2 (luoti\obj, aAsteroidi\obj)<20 Then
          pisteet=pisteet+2
          DeleteObject aAsteroidi\obj
          Delete aAsteroidi
          DeleteObject luoti\obj
          Delete luoti
          Exit
        EndIf
      Next luoti
    Next aAsteroidi
    
    'Pelin lopetus
    If pisteet<0 Then
      pisteet = 0
      Goto kaksinhavio
    EndIf
    
    If pisteet>149 Then
      pisteet = pisteet+1
      Goto kaksinvoitto
    EndIf
    
    'Pelikentän pisteet, "tähdet"
    Dot 40,50
    Dot 150,200
    Dot 300,97
    Dot 270,160
    Dot 210,185
    Dot 25,143
    Dot 180,240
    Dot 190,50
    Dot 17,85
    Dot 45,240
    Dot 50,150
    Dot 350,200
    Dot 75,201
    Dot 150,200
    Dot 180,150
    Dot 120,40
    Dot 170,195
    Dot 100,110
    Dot 365,100
    Dot 340,50
    Dot 80,70
    Dot 240,90
    Dot 270,210
    Dot 350,220
    Dot 170,80
    'Se unohtumaton
    DrawScreen
Forever





hc :
    'Ladataan objecktit, spritet, äänet
    pumsnd = LoadSound("media/Blaster.wav")
    alus = LoadObject("media/ship.png", 4)
    pati = LoadObject("media/pati.png", 4)
    asteroidi = LoadObject("media/asteroidi.png", 1)
    ShowObject pati,OFF
    TurnObject alus, 90
    PositionObject alus, -160, 30
    PositionObject asteroidi, -250,-250

Repeat

    If uusiutuminen>0 Then uusiutuminen=uusiutuminen-1  
    If uusiutuminen<0 Then uusiutuminen=0
    'Asteroidit...'
    If uusiutuminen=0 Then
        newAsteroidi.ASTEROIDIT= New(ASTEROIDIT)
        newAsteroidi\obj=CloneObject(asteroidi)
        PositionObject newAsteroidi\obj, 230, Rand(110,-100)
        MoveObject newAsteroidi\obj,Rand(-1,-6)
        uusiutuminen=Rand(9,25)
    EndIf
    
    'Päivitetään asteroidit
    i=0
    
    For aAsteroidi.ASTEROIDIT= Each ASTEROIDIT
          MoveObject aAsteroidi\obj,Rand(-2.5,-6)
          If ObjectX(aAsteroidi\obj)< -225 Then
              DeleteObject aAsteroidi\obj
              Delete aAsteroidi
              Goto hchavio
          EndIf
          i=i+1
    Next aAsteroidi
    
    'Pisteet yläkulmaan
    Text 300,2, "Pisteet: "
    Text 370,2, pisteeth
    
    'Tekstinsyötötökokeilut ylös, ja alaspäin vas. ylänurkka
    If UpKey() Then
                     ClearText 
                     Text 2,2, "Painat nuolta ylöspäin" 
    EndIf
    If DownKey() Then 
                     ClearText 
                     Text 2,2, "Painat nuolta alaspäin"
    EndIf
    
    'Päiväys alareunaan
    Text 1,280, "Tänään on"
    Text 80,280,Date()  
    Text 177,280,Time()
    
    'FPS oikeaan alareunaan
    Text 340,280, "FPS:"
    Text 370,280,FPS()
    
    'Piirretään ylä-ja alaviivat kentälle
    Line 0,26,400,26
    Line 0,260,400,260
    
    'Aluksen liikkuminen
    If UpKey() Then MoveObject alus, 4.5
    If DownKey() Then MoveObject alus, -4.5
    
    'Aluksen pelikentän rajaaminen
    If ObjectX(alus)>200 Then PositionObject alus, 200,ObjectY(alus) 
    If ObjectX(alus)<-200 Then PositionObject alus, -200,ObjectY(alus)
    If ObjectY(alus)>115 Then PositionObject alus, ObjectX(alus),115
    If ObjectY(alus)<-100 Then PositionObject alus, ObjectX(alus),-100

    'Ampuminen oikealle
    If KeyDown(cbkeyspace) And aselataus=0 Then 
                PlaySound pumsnd, 65
                luoti.AMMUS = New(AMMUS)
                luoti\obj=CloneObject(pati)
                CloneObjectPosition luoti\obj,alus
                PositionObject luoti\obj, ObjectX(luoti\obj)+11.5,ObjectY(luoti\obj)-1
                aselataus=8
     EndIf
     If aselataus>0 Then aselataus=aselataus-1
     
      For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,6
        If ObjectX(luoti\obj)<-180 Or ObjectX(luoti\obj)>180 Or ObjectY(luoti\obj)<-130 Or ObjectY(luoti\obj)>130 Then                
            DeleteObject luoti\obj
            Delete luoti
        EndIf        
      Next luoti
      
    'Mitäpä jos asteroidi ja ammus törmäävät?   
    For aAsteroidi.ASTEROIDIT= Each ASTEROIDIT
      For luoti.AMMUS = Each AMMUS
        If Distance2 (luoti\obj, aAsteroidi\obj)<20 Then
          pisteeth=pisteeth+1
          DeleteObject aAsteroidi\obj
          Delete aAsteroidi
          DeleteObject luoti\obj
          Delete luoti
          Exit
        EndIf
      Next luoti
    Next aAsteroidi
    
    'Pelin lopetus
    
    If pisteet>99 Then
      pisteeth = 0
      Goto hcvoitto
    EndIf
    
    'Pelikentän pisteet, "tähdet"
    Dot 40,50
    Dot 150,200
    Dot 300,97
    Dot 270,160
    Dot 210,185
    Dot 25,143
    Dot 180,240
    Dot 190,50
    Dot 17,85
    Dot 45,240
    Dot 50,150
    Dot 350,200
    Dot 75,201
    Dot 150,200
    Dot 180,150
    Dot 120,40
    Dot 170,195
    Dot 100,110
    Dot 365,100
    Dot 340,50
    Dot 80,70
    Dot 240,90
    Dot 270,210
    Dot 350,220
    Dot 170,80
    'Se unohtumaton
    DrawScreen
Forever




    voitto :
       
    DrawScreen
      DeleteObject alus
        Repeat
        
    'Viivat
    Line 0,26,400,26
    Line 0,260,400,260        
        
            Line 0,26,400,26
            Line 0,260,400,260
            Text 30,100,"Läpäisit pelin, ja sait 50 pistettä!"
            Text 30,120,"Paina SPACE mennäksesi alkuvalikkoon"
            Text 30,140,"Avasit peruspelitilan voittamalla HC - moodin!"
            Text 30,160,"Katso pelin infotiedosto, jos haluat"
            Text 30,180,"lisätietoa HC - moodista"
            Text 50,275,"(c) Veikko 'Wee' Vauhkonen 2008-2009 "
            Text 50,2,"Avaruuslentelypeli Alpha [Beta 2]"            
            
            For luoti.AMMUS = Each AMMUS
                DeleteObject luoti\obj
                Delete luoti
            Next luoti
           
            For newAsteroidi.ASTEROIDIT = Each ASTEROIDIT
                DeleteObject newAsteroidi\obj
                Delete newAsteroidi
            Next newAsteroidi
           
            DrawScreen
           
        Until KeyHit(cbkeyspace)
       
        times = times+1
        voitot = voitot+1
       
        Goto alku
       
    havisit :
      DeleteObject alus
    
        Repeat
          
    'Viivat
    Line 0,26,400,26
    Line 0,260,400,260          
          
            Text 5,100,"Hävisit pelin, sillä pisteesi menivät miinukselle."
            Text 5,120,"Paina SPACE mennäksesi alkuvalikkoon"
            Text 5,140,"Voit lopettaa pelin painamalla ESC"
            Text 5,160,"Yritä toki uudelleen!"
            Text 50,275,"(c) Veikko 'Wee' Vauhkonen 2008-2009 "
            Text 50,2,"Avaruuslentelypeli Alpha [Beta 2]"            
            For luoti.AMMUS = Each AMMUS
                DeleteObject luoti\obj
                Delete luoti
            Next luoti
           
            For newAsteroidi.ASTEROIDIT = Each ASTEROIDIT
                DeleteObject newAsteroidi\obj
                Delete newAsteroidi
            Next newAsteroidi
           
            DrawScreen           
           
        Until KeyHit(cbkeyspace)
       
        times = times+1
       
        Goto alku
        
        
        
    kaksinvoitto :
    
    DeleteObject alus
    DeleteObject alus2
    Repeat
    
        Line 0,26,400,26
        Line 0,260,400,260
         Text 30,100,"Onnea! Voititte kaksinpelin!"
         Text 30,120,"Paina SPACE mennäksesi alkuvalikkoon"
         Text 30,140,"Voit lopettaa pelin painamalla ESC"
         Text 50,275,"(c) Veikko 'Wee' Vauhkonen 2008-2009 "
         Text 50,2,"Avaruuslentelypeli Alpha [Beta 2]"
         
            For luoti.AMMUS = Each AMMUS
                DeleteObject luoti\obj
                Delete luoti
            Next luoti
           
            For newAsteroidi.ASTEROIDIT = Each ASTEROIDIT
                DeleteObject newAsteroidi\obj
                Delete newAsteroidi
            Next newAsteroidi
           
            DrawScreen           
           
        Until KeyHit(cbkeyspace)
        voitotk = voitotk+1
        timesk = timesk+1
       
        Goto alku
        
     kaksinhavio :

    DeleteObject alus
    DeleteObject alus2
    Repeat
    
        Line 0,26,400,26
        Line 0,260,400,260    
         Text 30,60,"Pisteenne menivät miinukselle..."
         Text 30,80,"...ja hävisitte kaksinpelin..."
         Text 30,100,"...mutta kokeilkaa toki uudelleen!"
         Text 30,120,"Paina SPACE mennäksesi alkuvalikkoon"
         Text 30,140,"Voit lopettaa pelin painamalla ESC"
         Text 50,275,"(c) Veikko 'Wee' Vauhkonen 2008-2009 "
         Text 50,2,"Avaruuslentelypeli Alpha [Beta 2]"
         
            For luoti.AMMUS = Each AMMUS
                DeleteObject luoti\obj
                Delete luoti
            Next luoti
           
            For newAsteroidi.ASTEROIDIT = Each ASTEROIDIT
                DeleteObject newAsteroidi\obj
                Delete newAsteroidi
            Next newAsteroidi
           
            DrawScreen           
           
        Until KeyHit(cbkeyspace)
       
        timesk = timesk+1
       
        Goto alku
        
       hchavio : 
    DeleteObject alus
    Repeat
    
        Line 0,26,400,26
        Line 0,260,400,260    
         Text 30,80,"Asteroidi pääsi ohitsesi!"
         Text 30,100,"...JA SINÄ HÄVISIT!"
         Text 30,120,"Paina SPACE mennäksesi alkuvalikkoon"
         Text 30,140,"Voit lopettaa pelin painamalla ESC"
         Text 50,275,"(c) Veikko 'Wee' Vauhkonen 2008-2009 "
         Text 50,2,"Avaruuslentelypeli Alpha [Beta 2]"
         
            For luoti.AMMUS = Each AMMUS
                DeleteObject luoti\obj
                Delete luoti
            Next luoti
           
            For newAsteroidi.ASTEROIDIT = Each ASTEROIDIT
                DeleteObject newAsteroidi\obj
                Delete newAsteroidi
            Next newAsteroidi
           
            DrawScreen           
           
        Until KeyHit(cbkeyspace)
       
        Goto alku
        
       hcvoitto :        
        
    DeleteObject alus
    Repeat
    
        Line 0,26,400,26
        Line 0,260,400,260    
         Text 30,60,"Ohhoh..!"
         Text 30,80,"Et päästänyt ainoatakaan asteroidia ohitsesi!"
         Text 30,100,"Voitit hc-moden!"
         Text 30,120,"Paina SPACE mennäksesi alkuvalikkoon"
         Text 30,140,"Voit lopettaa pelin painamalla ESC"
         Text 50,275,"(c) Veikko 'Wee' Vauhkonen 2008-2009 "
         Text 50,2,"Avaruuslentelypeli Alpha [Beta 2]"
         
            For luoti.AMMUS = Each AMMUS
                DeleteObject luoti\obj
                Delete luoti
            Next luoti
           
            For newAsteroidi.ASTEROIDIT = Each ASTEROIDIT
                DeleteObject newAsteroidi\obj
                Delete newAsteroidi
            Next newAsteroidi
           
            DrawScreen           
           
        Until KeyHit(cbkeyspace)
        hcvoitot = hcvoitot+1
       
        Goto alku        
        
        
        //////////////////////////////
        
        stats :
        
        Repeat
         Text 50,275,"(c) Veikko 'Wee' Vauhkonen 2008-2009 "
         Text 50,2,"Avaruuslentelypeli Alpha [Beta 2]"  
         Line 0,26,400,26
         Line 0,260,400,260 
        
         Text 50,70,"Olet pelannut yksinpeliä"
         Text 270,70,times
         Text 295,70,"kertaa"
         Text 50,85,"Olet voittanut yksinpelin"
         Text 270,85,voitot
         Text 295,85,"kertaa"
         Text 50,110,"Olet pelannut kaksinpeliä"
         Text 270,110,timesk
         Text 295,110,"kertaa"
         Text 50,125,"Olet voittanut kaksinpelin"
         Text 270,125,voitotk
         Text 295,125,"kertaa"
         
         If voitot > 0 Then 
             Text 50,160,"Olet avannut HC-moden!"
             Text 50,175,"Olet voittanut HC-moden"
             Text 270,175,hcvoitot
             Text 295,175,"kertaa"
         EndIf
         
         
         Text 15,220,"Pääset takaisin alkuvalikkoon painamalla SPACE"
        
         DrawScreen
        Until KeyHit(cbkeyspace)        
        
        Goto alku

 
Credits: Koodaus, yms. Veikko "Wee" Vauhkonen, Taustamusiikki Need For Speed III - Aquila, Ampumismusiikki Coolbasicin omasta mediasetistä.



Btw, tarvitseeko keskeneräisissä projekteissa olla kuvia? Jos haluatte/vaaditte, niin onnistuu kyllä, vaikkei pelissä paljoa kuvattavaa olekkaan.
Last edited by Wee on Sun Jan 04, 2009 2:47 pm, edited 6 times in total.
"This city looks so pretty, do you wanna burn here with me..."
Warlock
Member
Posts: 79
Joined: Thu Jul 31, 2008 11:08 pm

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by Warlock »

Sen voisin tässä mainita, että meillä ei ole mitään mahdollisuutta pelata peliä tuollaisena, koska meillä ei ole tarvittavia tiedostoja, joita sinulla on. Näin ollen suosittelisin, että laitat kaiken ladattavaksi.
Image
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by temu92 »

Ilmeisesti tuolla on paketti mutta sen linkki on rikki johtuen [Beta 1] tagista foorumin BBCode tagin välissä.
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by Wee »

Paketti on .zip paketti, joka sisältää pelin .exe:n, sekä media - kansion, jossa kaikki tarvittava materiaali on. Korjaan linkin -->

Edit : En jaksa tehdä uutta pakettia eri nimellä, ja uppia sitä servulleni, kopsaa latauslinkki selaimen osoiteriville...
"This city looks so pretty, do you wanna burn here with me..."
Requiem for Anthrax
Active Member
Posts: 155
Joined: Wed Dec 03, 2008 8:17 pm
Location: Haukipudas

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by Requiem for Anthrax »

Hyvä pikkupeli .lisää vielä HC modi, jossa yksikään kivi ei saa päästä ohi. Jooko ?
Turmankylä
huonoja pelejä, purkkaisia viritelmiä, tylsiä tarinoita.
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by MaGetzUb »

Ängghh blasterin toistuva ääni soi vieläkin korvissa. :D Olisi kannattanut tehdä niin, että kun ammut, niin ääni soi vain kerran, eikä jää taustalle soimaan. ;)
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by Wee »

@ Requiem for Anthrax : Mikä ettei ;) Yritän tehdä beta kakkoseen tuollaisen. Sitten varmaan vähän vielä nopeuttaa nuita vihuja, niin siinähän se experttitaso olisikin.

@ programmer of DSG : Ei pitäisi blasterin ääni toistua, jollei pidä ampumanäppäintä pohjassa kokoajan? Tarkoitushan olisi siis, että se kuuluisi yhden ainoan kerran, kun välilyöntiä painaa, eli käytännössä silloin, kun uusi panos luodaan kentälle.
"This city looks so pretty, do you wanna burn here with me..."
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by MaGetzUb »

Katsoin tuota sinun koodiasi ja huokaisin siinä, kun tähtiä luodaan. Ihan turhaan teet dotilla joka tähden erikseen, kun voisit tehdä alussa kuvan ja sen piirtää taustalle..

Code: Select all

    Tausta = MakeImage(400,286)
    DrawToImage tausta
    For i = 1 To 40
    r = Rand(128,255)
    Color r,r,r
    Dot Rand(400),Rand(30,256)
    Next i
    DrawToScreen 
Ja piirrät tuon sitten 26pix päähän yläreunasta taustalle näin:

Code: Select all

 DrawImage tausta,0,26
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by Wee »

Mm, mutta mietin, että todennäköisesti doteilla piirtäminen olisi huomattavasti kevyempi vaihtoehto, kuin tuo, että ottaisi taustakuvan. Onko asia näin, vai olisiko silti taustakuva kevyempi? Kumminkin lopputuloshan olisi aivan saman näköinen...

Beta 2 on progress... =)

:ugeek:
"This city looks so pretty, do you wanna burn here with me..."
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by MaGetzUb »

Voitahan sinä myös tehdä taulukon kaikille pisteille.

Code: Select all

Dim tähdet(40,1)'Neljäkymmentä tähteä ja 2 ulottuvuutta x ja y.
For i = 1 to 40
Tähdet(i,0)=Rand(0,400)
Tähdet(i,1)=Rand(26,260) 
Next i
'Piirrä tähdet
For i = 1 to 40
Dot Tähdet(i,0),Tähdet(i,1)
Next i
Taustakuva on kevyempi, ja helpompi, koska tyhjää aluetta kuvassa eli mustaa ei piirretä.
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by Wee »

Hmm... Täytyypi kokeilla taustakuvaa... Katson, jos laittaisin sen jo beta kakkoseen.

Kakkosesta puheen ollen, se on lähestulkoon HC moodia vaille valmis. Pientä, hyyyvin pientä grafiikkapäivitystä, sekä toimintojen hiomista on ilmassa, pelin jälkeen paluu takaisin valikkoon, ja sieltä uudelleen pelin aloittaminen, ja piilotettu hc mode. Uskoisin, että saatte beta kakkosen ensimmäisen viikon aikana. Yhä otetaan ehdotuksia vastaan kakkosen sisällön lisäyksistä ja/tai muutoksista. Ajattelin myös vaihtaa blasterin ääntä...

:ugeek:
"This city looks so pretty, do you wanna burn here with me..."
User avatar
valscion
Moderator
Moderator
Posts: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by valscion »

cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Avaruuslentelypeli Alpha [Beta 1]

Post by Wee »

Hienoa!

Kakkoseen on nyt tulossa myös statsiruutu, jossa on mm. montako kertaa voitit yksinpelin, kaksinpelin, yms turhaa, mutta kivaa :D
"This city looks so pretty, do you wanna burn here with me..."
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Avaruuslentelypeli Alpha [Beta 2]

Post by Wee »

BETA 2 on julkaistu!

Lisättyä...
- kaksinpeli
- hardcoremoodi
- statsiruutu
- infotiedosto
- pientä grafikanhiontaa
- pelin jälkeen voi palata menuun

Tulossa Beta 3...
- uusi vihollistyyppi -> avaruusalukset
- jonkinasteisia efektejä yritetään toteuttaa...
"This city looks so pretty, do you wanna burn here with me..."
Requiem for Anthrax
Active Member
Posts: 155
Joined: Wed Dec 03, 2008 8:17 pm
Location: Haukipudas

Re: Avaruuslentelypeli Alpha [Beta 2]

Post by Requiem for Anthrax »

ja hc moodi jatkui ja jatkui ,kun sain yli 150 pojoja.
Turmankylä
huonoja pelejä, purkkaisia viritelmiä, tylsiä tarinoita.
Wee
Member
Posts: 57
Joined: Wed Dec 17, 2008 8:46 pm
Location: Mavihelvetti

Re: Avaruuslentelypeli Alpha [Beta 2]

Post by Wee »

Oho, ompa jännä bugi jäänyt. No, katselen mitä voin tehdä, mutta pidän nyt hetken hiljaisuutta cb:n kanssa...

Edit:
PROJEKTI TOISTAISEKSI JÄÄSSÄ!

Beta kakkonen jää näillä näkymin viimeiseksi versioksi mielenkiinnon puutteessa. Saatan ehkä jotain pientä kivaa lisäillä myöhemmin.
"This city looks so pretty, do you wanna burn here with me..."
Post Reply