Viikkokisa XV
Viikkokisa XV
Aiheena: TasoHYppely
Säänöt
-Viikkokisan perussäännöt
-Kisa päättyy 25.8.08 klo 23:59. Tietenki venytetään tarpeen mukaan
-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.
Säänöt
-Viikkokisan perussäännöt
-Kisa päättyy 25.8.08 klo 23:59. Tietenki venytetään tarpeen mukaan
-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.
Re: Viikkokisa XV
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.
Eipä muuta, osallistun, jos keksin jotain.
Re: Viikkokisa XV
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
Esim. kutsut dllää c++:lla vaikka sitä pitäisi kutsua cb:lla
Re: Viikkokisa XV
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.
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)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: Viikkokisa XV
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.Harakka wrote:Itse kannattaisin aiheen vaihtamista. Joku simppelimpi aihe olisi viime kisan jälkeen mukavampi.
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Viikkokisa XV
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.
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.
-
- Active Member
- Posts: 135
- Joined: Fri Mar 07, 2008 8:49 pm
Re: Viikkokisa XV
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.
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: Viikkokisa XV
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.
Re: Viikkokisa XV
Ja alkaakos tämä nyt sitten ensi maanantaina vai heti?
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: Viikkokisa XV
Mitä väliä sillä on? Kannattaa aloittaa pelinteko heti kun kuulee mikä on aiheena! :DRuuttu wrote:Ja alkaakos tämä nyt sitten ensi maanantaina vai heti?
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.
Re: Viikkokisa XV
Heti alkaa. Otetaanko saman tein kaksi viikkoa aikaa tehdä tätä?
Re: Viikkokisa XV
Haaa.. kerrankin aihe johon voin osallistuu , kts henkru. onhan tota grafikkaaki jo kertyny mukavasti.
Re: Viikkokisa XV
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...
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...
Re: Viikkokisa XV
Ilmoittelen etukäteen, että osallistun pelillä, jossa päähenkilönä on robotti. Jos siis haluat omaperäisyyspisteitä, älä tee robottipeliä.
Re: Viikkokisa XV
Osallistun.
EDIT: sreen sot
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
Re: Viikkokisa XV
Pitääkö lähde koodi olla mukana?