Viikkokisa XV

Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Viikkokisa XV

Post by Henkru »

Aiheena: TasoHYppely


Säänöt
-Viikkokisan perussäännöt
-Kisa päättyy 25.8.08 klo 23:59. Tietenki venytetään tarpeen mukaan :D
-Osallistumistyö lähetetään tähän topikkiin kaikkineen tiedostoineen, mitä se tarvii. Pakattuna. Tietenkää ei tarvitse pakkaa, jos on pelkkä cb-tiedosto.

Voittaja ratkaistaan äänestämällä erillisessä topikissa.
Last edited by Henkru on Wed Aug 20, 2008 8:07 pm, edited 3 times in total.
User avatar
Ruuttu
Devoted Member
Posts: 688
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Viikkokisa XV

Post by Ruuttu »

Kaikki toteuttamisen arvoiset "uudet ominaisuudet" on taidettu jo tehdä. Lisää voi siis tehdä lähinnä vain dll:ien avulla. Ja koska dll:iä ei voi tehdä CoolBasicilla, on aika outoa, että tästä tehtiin kilpailu.

Eipä muuta, osallistun, jos keksin jotain.
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Viikkokisa XV

Post by Henkru »

JOo mutta toki wanhojakin ideoita saa käyttää ;)
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Viikkokisa XV

Post by temu92 »

Niin ja vaikka dll tehdäänkin eri kielellä niin et sä pysty käyttämään sitä dll:ää coolbasicilla eri kielellä.

Esim. kutsut dllää c++:lla vaikka sitä pitäisi kutsua cb:lla
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Viikkokisa XV

Post by Henkru »

No pidetäänkö tämä aihe vai vaihdetaan?
Harakka
Advanced Member
Posts: 430
Joined: Mon Aug 27, 2007 9:08 pm
Location: Salo
Contact:

Re: Viikkokisa XV

Post by Harakka »

Itse kannattaisin aiheen vaihtamista. Joku simppelimpi aihe olisi viime kisan jälkeen mukavampi. ;)

EDIT: Tasohyppely käy hyvin, aloitinpa pari päivää sitten tasohyppelypelin tekemisenkin.
Last edited by Harakka on Wed Aug 06, 2008 4:20 pm, edited 1 time in total.
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
User avatar
Ruuttu
Devoted Member
Posts: 688
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Viikkokisa XV

Post by Ruuttu »

Harakka wrote:Itse kannattaisin aiheen vaihtamista. Joku simppelimpi aihe olisi viime kisan jälkeen mukavampi. ;)
Miten olisi vaikkapa ihan tavallinen tasohyppely? Toki niitä on tehty ennenkin, mutta että ihan tosissaan viimeistelisi pelin loppuun saakka ja todella tekisi siitä hauskan pelikokemuksen - sellaisia pelejä ei ole tuhansittain tehty. Lisäksi tasohyppely ei ole koskaan aiemmin ollut kisan aiheena - aika outoa, sehän on perinteisin pelityyppi mitä on. :D
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Viikkokisa XV

Post by koodaaja »

Hieman edistyneempi aiheeseen liittyvä on ollut, nimittäin tasohyppelyn tekoäly.

Mutmut, onhan tämä hiukka jännä aihe. Kun kirjaston tekeminen lähtee yleensä siitä, että haluaisi a)tehdä jonkin helpommaksi tai b)poistaa jonkin cb:n rajoitteen (DLL:ien tapauksessa). Joten koska kovin moni tuskin haluaa kopioida ideaansa jo toteutetuista kirjastoista, lienee inspiksen puute pahin ongelma tällaisessa kisassa.
Alligaattori
Active Member
Posts: 135
Joined: Fri Mar 07, 2008 8:49 pm

Re: Viikkokisa XV

Post by Alligaattori »

EDIT:

Otin fuktioni pois, kun kerran aihe vaihdettiin. Voin laitella ne esimerkkiosioon, kun jaksan.

Last edited by Alligaattori on Wed Aug 06, 2008 8:08 pm, edited 1 time in total.
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Viikkokisa XV

Post by Koodiapina »

Ehdottomasti vaihdat idean. Eihän CoolBasicilla edes saa kummoisia kirjastoja kun pitää tyytyä tyyppi-kokelmien ja funktioiden rakenteluun. Ei sillä, että osaisin luokkien kanssa jotain väsätä. Ehdottaisin, että aihe olisi peli hahmogeneraattorilla. Sitähän melkein puolet CBläisistä toivoi tässä hiljakkoin.
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Viikkokisa XV

Post by Henkru »

Vaihetaan sitten Tasohyppelyyn :D
User avatar
Ruuttu
Devoted Member
Posts: 688
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Viikkokisa XV

Post by Ruuttu »

Ja alkaakos tämä nyt sitten ensi maanantaina vai heti?
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Viikkokisa XV

Post by Koodiapina »

Ruuttu wrote:Ja alkaakos tämä nyt sitten ensi maanantaina vai heti?
Mitä väliä sillä on? Kannattaa aloittaa pelinteko heti kun kuulee mikä on aiheena! :D

EDIT: Joo kaks viikkoa vois olla hyvä näin aluksi.
Last edited by Koodiapina on Thu Aug 07, 2008 2:53 pm, edited 1 time in total.
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: Viikkokisa XV

Post by Henkru »

Heti alkaa. Otetaanko saman tein kaksi viikkoa aikaa tehdä tätä?
User avatar
Ilkka
Active Member
Posts: 201
Joined: Mon Oct 08, 2007 8:01 am

Re: Viikkokisa XV

Post by Ilkka »

Haaa.. kerrankin aihe johon voin osallistuu :), kts henkru. onhan tota grafikkaaki jo kertyny mukavasti.
Image
Olwi
Devoted Member
Posts: 557
Joined: Sun Dec 30, 2007 4:15 pm
Location: Muhos

Re: Viikkokisa XV

Post by Olwi »

Hah,mukana ollaan,nyt vain pitää miettiä uniikki idea. ;)
Huuda mun ip:tä!
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Viikkokisa XV

Post by Jonez »

Hyvä, yksinkertainen aihe joka antaa kuitenkin vapauksia vaikka mihin.

Itse keksin jo suht uuden idean ainakin cb-piireissä. Saa nähdä jos armeijalta ehdin väsätä jonkun puolivalmiin tekeleen kisaan. Tässä on aikaa ens sunnuntaihin asti. Tosin huomenna on siskon häät ja ehkä sitä vois viikonloppulomilla jotain muutakin tehdä kuin datailla... ;)
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
User avatar
Ruuttu
Devoted Member
Posts: 688
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Viikkokisa XV

Post by Ruuttu »

Ilmoittelen etukäteen, että osallistun pelillä, jossa päähenkilönä on robotti. Jos siis haluat omaperäisyyspisteitä, älä tee robottipeliä. ;)
Valtzu
Active Member
Posts: 115
Joined: Sun Aug 26, 2007 2:40 pm
Location: Sauvo
Contact:

Re: Viikkokisa XV

Post by Valtzu »

Osallistun.

Code: Select all

Type LINES
    Field x
    Field y
    Field w
End Type

Type BOXZ
    Field x
    Field y
End Type

bg=MakeImage(400,400)
DrawToImage bg
    For y = 0 To 400 Step 4
        r=50+y/3.0
        g=255-y/4.0
        b=255
        Color r,g,b
        Box 0,y,400,4
    Next y
DrawToScreen

Global _TXT As String,_TXT2 As String,points,collision As Byte, game_started,ukko_x As Float,ukko_y As Float,ukko_speed_y As Float,ukko_speed_x As Float
Global newgame,making_new_line,width,start_x,start_y

ukko_x = 0.0
ukko_y = 0.0
ukko_speed_y = 0.0

making_new_line = False
ClsColor cbwhite
Cls

Const UKKO_WIDTH  = 10
Const UKKO_HEIGHT = 15

NewLine(-50,0,250)
game_started = True
ukko_x=-30
ukko_y=70
ukko_speed_y=0
points=0

Dim sfx(1)
sfx(0)=LoadSound("Media\Blaster.wav")

SetFont LoadFont("impact",24,1)

SetWindow "BOXZ"

game_started=False
newgame=Timer()+3000
_TXT="Press the Space Button to jump"
_TXT2="Hit left mouse button to draw levels"
_TXT3$="And try to collect all the boxes :)"

Repeat
    DrawImage bg,0,CameraY()-100
    MouseEvents()
    GuyPhysics(False,True)
    AddBoxes()
    DrawBoxes()
    DrawGuy()
    DrawLines()
    PositionCamera CurveValue(ukko_x,CameraX(),10.0),Min(Max(CurveValue(ukko_y,CameraY(),20.0),0),100)
    
    If newgame Then
        If Timer()>newgame Then
            For iL.LINES = Each LINES
                Delete iL
            Next iL
            For iB.BOXZ = Each BOXZ
                Delete iB
            Next iB
            NewLine(-50,0,250)
            game_started = True
            ukko_x=-30
            ukko_y=70
            PositionCamera ukko_x,ukko_y
            ukko_speed_y=0
            ukko_speed_x=0
            points=0
            newgame=0
        Else
            CenterText 200,130,_TXT,2
            CenterText 200,155,_TXT2,2
            CenterText 200,190,_TXT3,2
        EndIf
    EndIf
    
    DrawScreen
Forever

Function AddBoxes()
    If Rand(1,100)=65 Then
        n.BOXZ = New(BOXZ)
        n\x    = CameraX()+300
        n\y    = Rand(-100,200)
    EndIf
End Function

Function DrawBoxes()
    DrawToWorld ON
    For iB.BOXZ = Each BOXZ
        Color 230,230,230
        Box iB\x-6,iB\y+6,12,12,0
        Color 200,200,200
        Box iB\x-5,iB\y+5,10,10,0
        Color 170,120,120
        Box iB\x-4,iB\y+4,8,8
        If UkkoBoxOverlap(iB\x,iB\y) Then
            Delete iB
            sf=PlaySound(sfx(0))
            SetSound sf,0,100,0,50000
            points + 1
        EndIf
        If iB\x<CameraX()-250 Then Delete iB
    Next iB
    DrawToWorld OFF
End Function

Function UkkoBoxOverlap(x,y)
    Return BoxOverlap(ukko_x-UKKO_WIDTH/2,ukko_y-UKKO_HEIGHT/2,UKKO_WIDTH,UKKO_HEIGHT,x,y,12,12)
End Function


Function MouseEvents()
    If MouseDown(1) And MouseDown(2) = 0 Then
        If making_new_line = False Then
            making_new_line = True
            start_x         = MouseWX()
            start_y         = MouseWY()
        EndIf
        width = MouseWX()-start_x
        DrawToWorld ON
        Color 200,200,200
        Box start_x+(width<0)*width,start_y,Abs(width),1
        Color cbblack
        DrawToWorld OFF
    EndIf
    If MouseDown(1) = 0 And making_new_line = True Then
        making_new_line = False
        NewLine(start_x+(width<0)*width,start_y,Abs(width))
    EndIf
    If MouseDown(2) Then making_new_line = False
    If MouseHit(3) Then
        game_started = Not game_started
        If game_started Then
            ukko_x=MouseWX()
            ukko_y=MouseWY()
            ukko_speed_y=0
            ukko_speed_x=0
        EndIf
    EndIf
End Function

Function GuyPhysics(force_lk=0,force_rk=0)
    If game_started Then
        'lk=LeftKey() Or force_lk
        rk=force_rk'*(1-lk*0.8)
        If rk Or lk Then
            ukko_speed_x = Min(Max(ukko_speed_x+(rk)*0.05*((collision=1)+(collision=0)*0.2),-2),2)
        ElseIf collision = True Then
            ukko_speed_x=CurveValue(0.0,ukko_speed_x,20.0)
        Else
            ukko_speed_x=CurveValue(0.0,ukko_speed_x,100.0)
        EndIf
        ukko_x = ukko_x + ukko_speed_x
        x1=ukko_x-UKKO_WIDTH/4
        x2=ukko_x+UKKO_WIDTH/4
        y1=ukko_y+UKKO_HEIGHT/2
        y2=ukko_y-UKKO_HEIGHT/2
        collision = False
        For iL.LINES = Each LINES
            If ukko_speed_y<0.0 Then
                x_col = (x1>=iL\x And x2<=iL\x+iL\w)
                If x_col And iL\y<=y2 And iL\y>=y2+ukko_speed_y Then
                    ukko_y = iL\y+UKKO_HEIGHT/2
                    collision = True
                EndIf
            EndIf
        Next iL
        If Not collision Then
            ukko_speed_y = ukko_speed_y - 0.04
            ukko_y = ukko_y + ukko_speed_y
        Else
            ukko_speed_y = 0
        EndIf
        If KeyDown(cbkeyspace) And collision = True Then
            ukko_speed_y = 2.0
        EndIf
        If ukko_y<-150 Then
            game_started=False
            newgame=Timer()+3000
            _TXT="You got " + (points * 100) + " points!"
            _TXT2=""
            _TXT3=""
        EndIf
    EndIf
End Function

Function DrawGuy()
    DrawToWorld ON
    If game_started Then
        Color 100,100,100
        Box ukko_x-UKKO_WIDTH/2,ukko_y+UKKO_HEIGHT/2,UKKO_WIDTH,UKKO_HEIGHT,0
        Circle ukko_x-UKKO_WIDTH/2,ukko_y+UKKO_HEIGHT*0.75,UKKO_WIDTH,0
        Color 255,255,255
        Circle ukko_x-UKKO_WIDTH/2+1,ukko_y+UKKO_HEIGHT*0.75-1,UKKO_WIDTH-2
        Box ukko_x-UKKO_WIDTH/2+1,ukko_y+UKKO_HEIGHT/2-1,UKKO_WIDTH-2,UKKO_HEIGHT-2
        Color 50,50,100
        Box ukko_x+UKKO_WIDTH/4-1,ukko_y+UKKO_HEIGHT/2+1,2,2
        Box ukko_x,ukko_y+1,UKKO_WIDTH/2,1
        Dot ukko_x,ukko_y+2
    EndIf
    DrawToWorld OFF
End Function

Function DrawLines()
    DrawToWorld ON
    For iL.LINES = Each LINES
        Color 255,255,255
        Box iL\x,iL\y-1,iL\w,1
        Color 0,0,0
        Box iL\x-1,iL\y,iL\w+2,3,0
        If iL\x+iL\w<CameraX()-200 Then Delete iL
    Next iL
    DrawToWorld OFF
End Function

Function NewLine(x,y,width)
    n.LINES = New(LINES)
    n\x     = x
    n\y     = y
    n\w     = width
End Function
EDIT: sreen sot
Image
User avatar
Ilkka
Active Member
Posts: 201
Joined: Mon Oct 08, 2007 8:01 am

Re: Viikkokisa XV

Post by Ilkka »

Pitääkö lähde koodi olla mukana?
Image
Post Reply