Pikapelikisa 11

Post Reply
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Pikapelikisa 11

Post by Koodiapina »

Pikapelikisa 11

Säännöt
  • Kilpailuaika on perjantaina 18:00-20:00, työ tulee olla kisatopikissa (aukeaa 18:00) viimeisintään kello 20:10.
  • Pelipaketissa tulee olla mukana pelin lähdekoodi.
  • Toteutuskieli Coolbasic.
  • Ennen kilpailua luotua mediaa tai koodia ei saa käyttää.
  • Peliin tulee sisältyä kilpailun alkaessa paljastuva elementti. Se on, kuten edellisessä kisassa, varsinaista toteutusta mahdollisimman vähän rajoittava.
Aihe

Koodaa virtuaalilemmikki-peli.
MikkoK
Devoted Member
Posts: 813
Joined: Thu Jun 05, 2008 2:13 pm
Location: City 17

Re: Pikapelikisa 11

Post by MikkoK »

Joo yritin väkertää jotain mutta en saanut mitään aikaiseksi ja nyt on turha enään ruveta kun on noin tunti aikaa...

Code: Select all

#aha. @ IRCNet
<Grandi> Voit laittaa jo valmiiks hailaittiin "Amis-Mikko", koska alan kutsua sua sillä nimellä.
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Pikapelikisa 11

Post by Awaclus »

Oli tylsää, tein tämän:

Code: Select all

nalka = 5
uni = 5
kunto = 5
ika = 5
lika = 5
raha = 0
ruokaa = 0 

Repeat
 Print "1. Syö. Kylläisyysaste on: "
 Print nalka
 Print "2. Nuku. Väsymysaste on: "
 Print uni
 Print "3. Urheile. Kunto on: "
 Print kunto
 Print "4. Peseydy. Likaisuusaste on: "
 Print lika
 Print "5. Tee töitä. Rahaa on :"
 Print raha
 Print "6. Osta ruokaa. Ruokaa on: "
 Print ruokaa
 Print "Olennon ikä on: "
 Print ika
 WaitKey
 If KeyDown (cbkey1) Then
   ruokaa = ruokaa - 1: nalka = nalka + 1
 End If
 If KeyDown (cbkey2) Then uni = uni - 1
 If KeyDown (cbkey3) Then kunto = kunto + 1
 If KeyDown (cbkey4) Then lika = lika - 1
 If KeyDown (cbkey5) Then raha = raha + 50 : nalka = 1 : uni = 8: lika = 8
 If KeyDown (cbkey6) Then raha = raha - 1 : ruokaa = ruokaa + 1
 ika = ika + 1
 DrawScreen
Forever
Infinite-loop tuosta kyllä syntyy ja kaikki voivat mennä miinuksen puolelle, eli pelissä ei ole mitään järkeä. Teinpähän silti.
User avatar
Ilmuri
Developer
Developer
Posts: 277
Joined: Sun Aug 26, 2007 2:46 pm
Location: \o

Re: Pikapelikisa 11

Post by Ilmuri »

http://up.servut.us/dl/11405.ipw
Mah entry. Sisältää mediat ja sorsan.
CoolBasic henkilökuntaa
Kehittäjä
CoolBasic Classic
MAVmaggot
Advanced Member
Posts: 468
Joined: Fri Aug 31, 2007 10:18 pm
Location: bitspace

Re: Pikapelikisa 11

Post by MAVmaggot »

Olin väsynyt mutta koodasin silti. Ainoaa positiivista tässä on omasta mielestäni tuo örkki vai mikä se oli. Se lihoaa hienosti.

Code: Select all

SetWindow "Mavggiksen virtualpet"
fontti=LoadFont("comic sans ms",16,1)
SetFont fontti
fat=30
hun#=0
ilo=50
cash=100
r=Rand(50,205) : g=Rand(50,205) : b=Rand(50,205)
Repeat
    Color cbsilver
    Text 0,0,"Nälkä: "+int(hun)+hunh$
    Text 0,13,"Väsymys: "+tir+tirh$
    Text 0,26,"Iloisuus: "+ilo+iloh$
    Text 0,39,"Paino: "+fat/10+"kg"+fath$
    Text 0,52,"Rahat: "+cash+"$"+cashh$
    Color cbblue
    righttext(400,0,"1. Syö")
    righttext(400,13,"2. Liiku")
    righttext(400,26,"3. Dataa")
    righttext(400,39,"4. Lepää")
    righttext(400,52,"5. Tee töitä")
    Color r,g,b
    Circle 200-fat/2,150-fat/2,fat
    Color r+20,g+20,b+20
    Circle 190-fat/2,170-fat/2,10
    Circle 200+fat/2,170-fat/2,10
    Circle 200-fat/2,140+fat/2,10
    Circle 190+fat/2,140+fat/2,10
    Color cbblack
    Circle 190,145,3
    Circle 210,145,3
    If UpKey() Then fat+1
    If DownKey() Then fat-1
    If KeyHit(cbkey1) Then
        hun-1
        If hun<0 Then fat+1
        cash-1
    EndIf
    If KeyHit(cbkey2) Then
        ilo+1
        fat-1
        tir+1
        hun+1
    EndIf
    If KeyHit(cbkey3) Then
        ilo+3
        fat+1
    EndIf
    If KeyHit(cbkey4) Then
        tir-2
        hun+1
    EndIf
    If KeyHit(cbkey5) Then
        cash+100
        tir+5
        hun+5
        ilo-1
    EndIf
    If hun<0 Then hun=0
    If tir<0 Then tir=0
    If fat>100 Then MakeError "You died, fat guy"
    If fat>90 Then fath=" ! "
    If fat<25 Then MakeError "You are dead, anorectic"
    If fat<30 Then fath=" ! "
    If hun>50 Then MakeError "Food is over, game is over"
    If hun>35 Then hunh=" ! "
    If tir>50 Then MakeError "You are too tired to live"
    If tir>49 Then tirh=" ! "
    If ilo<0 Then MakeError "You are too sad to live"
    If ilo<10 Then iloh=" ! "
    If cash<0 Then MakeError "Your money is over!"
    If cash<10 Then cashh=" ! "
    hun+0.005
    DrawScreen
Forever

Function righttext(x,y,st$)
    Text x-TextWidth(st),y,st
EndFunction
ISO kiitos Grandille ensimmäisestä kunnon aiheesta.
User avatar
skinkken
Advanced Member
Posts: 453
Joined: Sat Sep 01, 2007 4:00 pm
Location: Helsinki

Re: Pikapelikisa 11

Post by skinkken »

Tässä on omani - Virtuaalilemmikki keke:
Keke
Valmiit pelit: House of Horrors , Battle Zone , Über Ball , Itdoti , Space Chaos , Bloxxplosives
Projekti jota teen ehkä joskus vielä: viewtopic.php?f=11&t=2636 <-- Tämä rivi päivitetty 14.1.2013
Ris
Active Member
Posts: 142
Joined: Wed Jul 02, 2008 8:27 pm

Re: Pikapelikisa 11

Post by Ris »

Tässä olisi, erittäin tiivisti sisennetty source.

Code: Select all

SCREEN 400,490
Dim Ammus(10), AmmusX(10), AmmusY(10), ElossaAmmo(10), Nopeus(10)
Dim Vihu(10), VihuX(10), VihuY(10), VihuElossa(10),Vihut(10)
Map=MakeImage(32,32)
ResizeImage map,600,400
Global Pelaaja : Pelaaja=MakeImage(40,45)
Viho=MakeImage(35,30)
Global Klooni : Klooni=MakeImage(10,10)
Global Px, Py, Lataus, level
Px=100 
Py = 100
DrawToImage Map 
    Color 0,70,77
    Box x,y,600,ScreenHeight()
DrawToImage Pelaaja
    Color 5,1,5
    Box x,y,40,45,0
    Box 15,15,20,15,1
DrawToImage Viho
    Color CbGreen
    Box x,y,35,30,0
    Box 15,15,20,20,1
DrawToImage Klooni
    Color CbBlue 
    Circle 5,5,10
DrawToScreen 
For i = 1 To 10
    Vihu(i)=CloneImage(Viho)
    VihuX(i)=Rand(ScreenWidth())
    VihuY(i)=Rand(400)
    VihuElossa(i)=ON 
    Vihut(i)=5
Next i
Color CbRed
Repeat 
    If KeyDown(cbkeya) Then 
        Lx+1
        Px-3
    ElseIf KeyDown(cbkeyd) Then 
        Lx-1
        Px+3
    EndIf 
    If KeyDown(cbkeyw) Then Py-4
    If KeyDown(cbkeys) Then Py+4
    If Px>=360 Then Px=0 : Lx=0
    If Px<=0 Then Px=0 : Lx=0
    If Py>=355 Then Py=355 : Ly=0
    If Py<=0 Then Py=0 : Ly=0
    DrawImage Map,Lx,0
    If MouseDown(1) And Lataus=0 Then Uusi()
    Päivitä()
    If Lataus>0 Then Lataus=Lataus-1
    if taistele=1 then Dummy()
    If Puhu=1
        Text 0,430,"Terve omistaja"
    ElseIf Nuku=1
        Repeat 
            Väsymys#=Väsymys#-1 
            Text 100,100, "Olet nukkumassa"
            DrawScreen 
        Until Väsymys#=0
        Nuku=0
    End If 
    If KeyHit(28) Then Gosub Command
    DrawImage Pelaaja,Px,Py
    Text 0,0,"Taso: "+Level
    Text 0,20,"Nälkä: "+Nälkä#
    Text 0,40,"Väsymys: "+Väsymys#
    Nälkä=Nälkä+0.01
    Väsymys=Väsymys+0.02
    If nälkä=100.00 Then MakeError "Lemmikkisi kuoli nälkään." 
    If HahmoLevel=10 Then MakeError "Voitit pelin"
    If Väsymys=100 
        Text 0,410,"Lemmikkisi nukahti, joudut odottamaan kunnes lemmikkisi herää."
        Repeat 
            Väsymys=Väsymys-1
            Text 0,60,Väsymys#
            DrawScreen 
        Forever 
    EndIf 
    Text 5,410,"Käskyt ovat: taistele, ruoki, puhu ja nuku."
    Text 5,430,"Paina entteriä niin voit syöttää käskyjä."
    Text 5,450,"Voit lisäksi ampua sinisiä ammuksia."
    Text 5,470,"Mutta siitä ei ole tällä hetkellä mitään hyötyä"
    DrawScreen 
Forever 

Command:
    ClearKeys
    Locate 0,400
    While Not KeyHit(28)
        Com$=Lower(Input("Komento on? "))
        DrawImage Map,Lx,0
        DrawImage Pelaaja,Px,Py
        DrawScreen 
    Wend 
    CloseInput 
    Select com$
        Case "taistele"
            Taistele=1
        Case "ruoki"
            Text 0,410,"Olet syöttänyt ja juottanut hahmosi"
            Nälkä=Nälkä-20
            If nälkä<=0 Then nälkä=0
        Case "puhu"
            Puhu=1    
        Case "nuku"
            nuku=1
    EndSelect 
Return 

Function Uusi()
    For A = 1 To 10
        If ElossaAmmo(A)=OFF
            ElossaAmmo(A)=ON
            Ammus(A) = CloneImage(Klooni)
            AmmusX(A) = Px
            AmmusY(A) = Py
            AmmusX(A)=AmmusX(A)+42
            AmmusY(A)=AmmusY(A)+16
            Lataus=15
            Ammukset=Ammukset-1
            Exit
        EndIf 
    Next A
End Function 

Function Päivitä()
    For A = 1 To 10
        If ElossaAmmo(A)
            AmmusX(A)=AmmusX(A)+1  
            DrawImage Ammus(A),AmmusX(A),AmmusY(A)
            If Distance (AmmusX(A),AmmusY(A),Px,Py) > 360
                DeleteImage Ammus(A)
                ElossaAmmo(A)=OFF
            EndIf 
        EndIf 
    Next A 
End Function  

Function Dummy()
    For B = 1 To 10
        if VihuElossa(B)=ON 
            If ImagesOverlap(Pelaaja,Px,Py,Vihu(B),VihuX(B),VihuY(B))
                Level=level+1
                VihuElossa(B)=OFF 
                DeleteImage Vihu(B)
                If Vihut(B)=0 
                    taistele=0
                    Raha+5 
                EndIf 
            EndIf 
            If VihuElossa(B) 
                DrawImage Vihu(B),VihuX(B),VihuY(B)
            EndIf 
        EndIf 
    Next B          
End Function
User avatar
CCE
Artist
Artist
Posts: 650
Joined: Mon Aug 27, 2007 9:53 pm

Re: Pikapelikisa 11

Post by CCE »

Siinä on eeppinen pelini lopullisessa versiossaan

Code: Select all

//tehnyt: cce
SetWindow "Brutus lemmikki"
mieliala = 0
iloisuus = 0

AddText "Brutus on koirasi"

Repeat 
	ClearText()
	uusiala = Rand(-5,5)
	AddText "Kokonaisvaltainen mieliala: "+iloisuus
	AddText "Brutus ilmaisee mielentilansa: "
		AddText "  "+brutussay(uusiala)
	AddText "1. Leiki Brutuksen kanssa"
	AddText "2. Potkaise Brutusta ikävästi"
	Repeat
		
		a$= Input("Mitäs teet? >")
		DrawScreen
	Until KeyHit(cbKeyReturn)
	CloseInput()
	
		Select int(a$)
			Case 1
				iloisuus = iloisuus - uusiala
			Case 2
				iloisuus = iloisuus - uusiala
			Default
				AddText "Siis numero väliltä 1-2."
		EndSelect
		If iloisuus > 20 Then MakeError "Brutus saavutti koirien nirvanan. Voitit pelin, onnea!"
		If iloisuus < -20 Then MakeError "Potkit koirasi hengiltä, sivistymätön sika!"
	AddText "LOL"
	DrawScreen
Forever


WaitKey

Function brutussay(ala)
	modifier = Rand(-1,1)
	mieli = ala - modifier
'	AddText "" + mieli
	Select mieli
		Case -5
			Return "Ärrärgh! >:("
		Case -4
			Return "Ärrr"
		Case -3
			Return "Örr"
		Case -2
			Return "Murh"
		Case -1
			Return "Möh"
		Case 0
			Return "o_O"
		Case 1
			Return "Lääh"
		Case 2
			Return "Läählääh"
		Case 3
			Return "Puh"
		Case 4
			Return "Lähpuh"
		Case 5
			Return "Lähpuhhuh :D"
		Default 
			Return "Örps."
	End Select
EndFunction
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Pikapelikisa 11

Post by Pate5 »

Ei kannata laittaa enää pelejään tähän. Ilmuri voitti varmasti :lol: Paras peli mitä olen ikinä pelannut, voittaa jopa sakarin villapaitapelin. Hyvä Ilmuri!
EDIT:

Kannattaa pelata äänet täysillä

CoolBasic henkilökuntaa
Graafikko
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Pikapelikisa 11

Post by Koodiapina »

Teen äänestyksen.
Post Reply