Pikapelikisa 19, työt

Post Reply
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Pikapelikisa 19, työt

Post by koodaaja »

Noniin, hetken päästä se alkaa. Edittaan siinä vaiheessa aiheen tähän, nyt on siis hyvin aikaa käydä vessassa ja valmistaa muutama litra eniten suosimaasi ohjelmointijuomaa rankkaa urakkaa varten :3

Kisa alkaa siis tasan 18:00 ja loppuu 21:00. Työt pitää palauttaa 21:10 mennessä.

EDIT: Aihe on 'kärpänen'. Alkakaa.

Tarkennusta vielä, siis mitä tahansa kärpäseen liittyvää, se voi olla hahmo, vihollinen, kenttä, pelimekaniikka tai ihan mitä haluat.
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Pikapelikisa 19, työt

Post by Viltzu »

Aihe on kyllä aika laaja :S Katotaan jos jotain sais aikaseksi... Mutta tosiaan, aihe on kyllä mielestäni turhan laaja :3
User avatar
Ruuttu
Devoted Member
Posts: 688
Joined: Thu Aug 30, 2007 5:11 pm
Location: Finland, Sipoo

Re: Pikapelikisa 19, työt

Post by Ruuttu »

Viltzu wrote:Aihe on kyllä aika laaja
Kärpänen? Toki, voit tehdä autopelin ja antaa auton nimeksi "kärpänen", voit tehdä RPG:n ja laittaa inventoryyn esineeksi "kärpäsen", jne jne. Mutta olisiko se luovaa?
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Pikapelikisa 19, työt

Post by koodaaja »

Aihe on tarkoituksella laaja, että mielikuvitus saa lentää. Laajuus voi toki haitatakin jossain määrin, mutta eipähän tule kaikista täysin samanlaisia.
Igr0
Active Member
Posts: 110
Joined: Thu Oct 02, 2008 8:04 pm
Location: Helsinki, Finland

Re: Pikapelikisa 19, työt

Post by Igr0 »

Tässä olisi pikapikaa kyhäämäni 2D-Kärpäsenlentosimulaattori. :)

Code: Select all

FrameLimit 40
SetWindow "Igr0n 2D-Kärpäsenlentosimulaattori :D"

karpimg = MakeImage(25,25)

DrawToImage karpimg

    Color cbWhite
    Circle 0,1,10,1
    Circle 13,1,10,1
    Color cbDark
    Circle 2,5,20,1
    
DrawToScreen 

karpanen = MakeObject()
PaintObject karpanen,-karpimg

ClsColor cbDarkRed

karp_moving = False

Repeat

    If karp_moving = False Then PositionObject karpanen,Rand(ObjectX(karpanen)-1,ObjectX(karpanen)+1),Rand(ObjectY(karpanen)-1,ObjectY(karpanen)+1)

    If UpKey() Then 
        TranslateObject karpanen,Rand(-2,2),4
        karp_moving = True
    Else
        karp_moving = False
    EndIf
    
    
    If DownKey() Then 
        TranslateObject karpanen,Rand(-2,2),-4
        karp_moving = True
    Else
        karp_moving = False
    EndIf
    
    
    If RightKey() Then 
        TranslateObject karpanen,4,Rand(-2,2)
        karp_moving = True
    Else
        karp_moving = False
    EndIf
    
    
    If LeftKey() Then 
        TranslateObject karpanen,-4,Rand(-2,2)
        karp_moving = True
    Else
        karp_moving = False
    EndIf

    
    If ObjectX(karpanen)<-200 Then PositionObject karpanen,200,ObjectY(karpanen)
    If ObjectX(karpanen)>200 Then PositionObject karpanen,-200,ObjectY(karpanen)
    
    If ObjectY(karpanen)<-150 Then PositionObject karpanen,ObjectX(karpanen),150
    If ObjectY(karpanen)>150 Then PositionObject karpanen,ObjectX(karpanen),-150
    
    Color cbBlack
    CenterText 200,25,"Kärpäsen ohjaus nuolinäppäimistä."

    DrawScreen 

Forever 
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Pikapelikisa 19, työt

Post by Sly_Jack0 »

Minun tuotokseni. Olkaapa hyvät.

Code: Select all

//////////////////////////////////////
//The Ultimate Fly Game by Sly_Jack0//
//////////////////////////////////////

SCREEN 800,600
SetWindow "The Ultimate Fly Game"

Type FLIES
	Field x#
	Field y#
	
	Field angle#
	
	Field targetX
	Field targetY
	
	Field speed#
	
	Field clr
EndType

Const MAX_FLIES = 30
Const PEHMEYS = 17

crosshair = MakeImage(20,20)

DrawToImage crosshair

	Color cbred

	Circle 3,3,15,0
	Line 10,0,10,20
	Line 0,10,20,10
	
DrawToScreen

crosshairX# = 400
crosshairY# = 300

Global flyCount : flyCount = 0

color cbwhite

Print "Your target is to kill all the flies as fast as possible."
Print "New fly is born every three seconds."
Print "Good luck!"
Print ""
Print "Press any key to continue."

WaitKey

alku:
ShowMouse OFF
PositionMouse 400,300

For i = 0 To MAX_FLIES - 1

	CreateFly()
		
Next i

startTime = Timer()

Repeat

	crosshairX = crosshairX - (crosshairX + ImageWidth(crosshair) / 2.0 - MouseX()) / PEHMEYS
	crosshairY = crosshairY - (crosshairY + ImageHeight(crosshair) / 2.0 - MouseY()) / PEHMEYS

	DrawImage crosshair,crosshairX  - ImageWidth(crosshair) / 2,crosshairY - ImageHeight(crosshair) / 2
	
	For fly.FLIES = Each FLIES
	
		If Distance(fly\x,fly\y,fly\targetX,fly\targetY) > 10

			fly\angle = GetAngle(fly\x,fly\y,fly\targetX,fly\targetY) + Rand(-10,10)
			
			fly\x = fly\x + Cos(fly\angle)*fly\speed
			fly\y = fly\y + -Sin(fly\angle)*fly\speed
			
		Else
		
			fly\targetX = Rand(10,790)
			fly\targetY = Rand(10,590)
			
			fly\speed = Rnd(1,2.5)
			
		EndIf
		
		If Distance(crosshairX,crosshairY,fly\x,fly\y) < 15 And MouseHit(1)
			Delete fly
			
			flyCount - 1
			pisteet + 1
		EndIf
	
		Select fly\clr
			Case 0
				Color cbwhite
			Case 1
				Color cbsilver
			Case 2
				Color cbdark
		EndSelect
	
		Circle fly\x - 3,fly\y - 3,6
		
	Next fly
	
	If Timer() > aika + 3000
	
		If flyCount < MAX_FLIES
			
			CreateFly()
			
		EndIf
		
		aika = Timer()
		
	EndIf
	
	If flyCount = 0
		finalTime# = (Timer() - startTime) / 1000
		Cls
		Color cbwhite
		
		Repeat
			CenterText 400,150,"Congratulations! You finished the game!",2
			CenterText 400,162,"Your t"+"ime was " + finalTime + " seconds!",2
			CenterText 400,182,"Press ENTER t"+"o play again."
			
			DrawScreen
		Until KeyHit(28)
		
		For fly.FLIES = Each FLIES
			Delete fly
		Next fly
		
		Goto alku
		
	EndIf
	
	DrawScreen
	
Forever

Function CreateFly()

	fly.FLIES = New(FLIES)
	
		fly\x = Rand(10,790)
		fly\y = Rand(10,590)
		
		fly\targetX = Rand(10,790)
		fly\targetY = Rand(10,590)
		
		fly\speed = Rnd(1,2.5)
		
		fly\clr = Rand(2)
		
	flyCount + 1
	
EndFunction

Tuxu
Member
Posts: 81
Joined: Tue Oct 14, 2008 5:54 pm
Location: Jyväskylä
Contact:

Re: Pikapelikisa 19, työt

Post by Tuxu »

Tässä tulee työni. Pelissä pitää lätkiä kärpäsiä 50 kpl. Oma ennätysaikani on 33.2. Yritin tehdä ensin pelin, johon tulisi top10 nettilistat, mutta en sitten onnistunut, joten peli jäi raakileeksi. Aikaa olisi toki ollut enemmän, mutta ei nyt innosta tehdä parempaa. Äänet on sitten äänitetty webkameran mikillä, että laatu on vähän mitä on. Mutta nauttikaa silti pelistä täysin siemauksin! :P
Attachments
karpanen.zip
Lätkäse kärpästä! 1.0
(985.44 KiB) Downloaded 351 times
aivot pohtii ja raksuttaa
TuxuGames | Projektiblogi
m1c
Member
Posts: 65
Joined: Tue Aug 28, 2007 5:10 pm
Location: \o

Re: Pikapelikisa 19, työt

Post by m1c »

Olet iso vihreä kärpänen, mutta ärsyttävät banaanikärpäset ovat tunkeneet reviirillesi! Kärpäset lisääntyvät koko ajan, joten paras hankkiutua niistä eroon. syö ne!

Code: Select all

Const DIST = 150
Const SW = 800
Const SH = 600
Const TOPSPEED = 4

Global kCount

SCREEN SW, SH

ShowMouse OFF


Type KARPANE
    Field x#
    Field y#
    Field vx#
    Field vy#
End Type

fnt1 = LoadFont("trebuchet ms", 400)
fnt2 = LoadFont("tahoma", 25)

karpasii(60)

ClsColor 255, 255, 255

start = Timer()

Repeat
    
    update()
    
    If kCount < 75 Then
        If Rand(0, 100) = 0 Then
            karpasii(Rand(1, 2))
        EndIf
    EndIf
    
    SetFont fnt1
    Color 240, 240, 240
    CenterText SW / 2, SH / 2 - 60, kCount, 2
    
    SetFont fnt2
    Color 120, 120, 100
    clock$ = Str((Timer() - start) / 1000.0)
    CenterText SW / 2, SH / 2 + 90, Left(clock$, InStr(clock$, ".") + 2) , 2
    
    
    draw()
    
    Color cbgreen
    Circle MouseX() - 5, MouseY() - 5, 10
    
    DrawScreen
Until (kCount <= 0)

SetFont fnt2
Color cbred

Repeat
   
    CenterText SW / 2, SH / 2, "Voitit! Aikasi oli " + Left(clock$, InStr(clock$, ".") + 2), 2
    DrawScreen
Forever


Function karpasii(count)
    For i = 1 To count
        n.KARPANE = New(KARPANE)
        
        n\x# = Rnd(0, SW)
        n\y# = Rnd(0, SH)
        
        vel# = Rnd(0.5, 1.5)
        angle# = Rnd(0, 360)
        
        n\vx# = Cos(angle#) * vel#
        n\vy# = Sin(angle#) * vel#
        kCount = kCount + 1
    Next i
End Function


Function update()
    For b.KARPANE = Each KARPANE
        If Distance(MouseX(), MouseY(), b\x#, b\y#) < 6 Then
            Delete b
            kCount = kCount - 1
        Else
            If b\x# < 0 Then
                b\vx# = 2
            ElseIf b\x# > SW Then
                b\vx# = -2
            ElseIf b\y < 0 Then
                b\vy# = 2
            ElseIf b\y > SH Then
                b\vy# = -2
            Else
            
                avgx# = 0
                avgy# = 0
                
                avgvx# = 0
                avgvy# = 0
                
                sepvx# = 0
                sepvy# = 0
                
                count = 0
                count2 = 0
                
                For b2.KARPANE = Each KARPANE
                    If b <> b2 Then 
                        bDist# =  Distance(b\x#, b\y#, b2\x#, b2\y#) 
                        If bDist# < DIST Then
                            avgx# = avgx# + b2\x#
                            avgy# = avgy# + b2\y#
                            
                            avgvx# = avgvx# + b2\x#
                            avgvy# = avgvy# + b2\y#
                            
                            count = count + 1
                            
                            If bDist# < DIST / 5 Then
                                sepvx# = sepvx# - (b2\x# - b\x#)
                                sepvy# = sepvy# - (b2\y# - b\y#)
                                count2 = count2 + 1
                            End If
                        EndIf
                        
    
                    EndIf
                Next b2
                
                
                If count
                    avgx# = avgx# / count
                    avgy# = avgy# / count
                    
                    cohvx# = (avgx# - b\x#)
                    cohvy# = (avgy# - b\y#)
                    
                    avgvx# = avgvx# / count
                    avgvy# = avgvy# / count 
                    
                    avgvx# = avgvx# - b\x#
                    avgvy# = avgvy# - b\y#
                    
                EndIf
                
                If count2 Then
                    sepvx# = sepvx# / count2
                    sepvy# = sepvy# / count2
                EndIf
                
                
                b\vx# = b\vx# + cohvx# * 0.005 + sepvx# * 0.1 + avgvx# * 0.005
                b\vy# = b\vy# + cohvy# * 0.005 + sepvy# * 0.1 + avgvy# * 0.005
                
                
                speed# = Distance(0, 0, b\vx#, b\vy#)
                If speed# > TOPSPEED Then
                    b\vx# = b\vx# / speed# * TOPSPEED
                    b\vy# = b\vy# / speed# * TOPSPEED
                EndIf
    
                    
            EndIf
            
            b\x# = b\x# + b\vx#
            b\y# = b\y# + b\vy#
        EndIf
    Next b
End Function


Function draw()
    For b.KARPANE = Each KARPANE

        Color cbblack
        box b\x#, b\y#, 2, 2
        
    Next b
End Function
















rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Pikapelikisa 19, työt

Post by rami123 »

Kärpäneeen!

ärsyttävät kärpäset pyörivät ylläsi
tahdot kai ne poies?

Lataa tästä!
http://files.filefront.com/Krpneen+korj ... einfo.html
EDIT:

Tasan tunnissa tein

Last edited by rami123 on Sat Feb 28, 2009 1:48 pm, edited 3 times in total.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Pikapelikisa 19, työt

Post by koodaaja »

Njoo, vähän meni viimeisillä aikarajasta yli, mutta menkööt. Äänestystä tulossa.
MikkoK
Devoted Member
Posts: 813
Joined: Thu Jun 05, 2008 2:13 pm
Location: City 17

Re: Pikapelikisa 19, työt

Post by MikkoK »

Voihan hemmetti!! En sitten päässyt kun jouduin lähtemään isälleni ja täällä koneelle ei saa ladata mitään. Eikä ole muistitikkua..... Niin turhauttavaa tällainen.

Code: Select all

#aha. @ IRCNet
<Grandi> Voit laittaa jo valmiiks hailaittiin "Amis-Mikko", koska alan kutsua sua sillä nimellä.
Post Reply