Pikku pelit

Jaa meneillään olevat projektisi tai valmiit pelit muun yhteisön kanssa täällä.
User avatar
Ilkka
Active Member
Posts: 201
Joined: Mon Oct 08, 2007 8:01 am

Re: Pikku pelit

Post by Ilkka »

jaahas wrote:tein tälläsen ammunta pelin. 1=pistooli 2=konari 3=snipu. täs on 99 lvl mutta en usko että kukaan pääsee sinne asti.
EDIT:

nyt on korjattu vika

Mutta täähän on iha loistava peli! Tätä vois kehittää vielä vähän mielenkiintosemmaksi, mut ei nyt iha heti tuu mielee et miten! Kannattaa piilokirjottaa noi tallennukset kato, ku se on nii helppo huijata! Kattoin tota ni heti ylimpänä oli rahat! Pistimpä itelle siinä millin rahaa ni olise helppoo! Elikkä kannattaa piilokirjottaa!

E: Kanttii pistää kävelyanimaatiot ukoille! Lisäksi mun mielestä toi konekivääri ei oo mitenkää hienon näkönen! Eli grafiikassa pikku viilausta kanttii tehä jos jatkat!

E2: Toisiko mielenkiintoa jos pitäisi koittaa jousiammunnalla saada niitä kenttään ja vihulaisilla olisi miekat? Joillakin vihuilla saisi´olla jousia?. Tai mahdollisesti joillekkin hyökkääville jätkille aseita kuten pistooli tai vaikka tavallinen kivääri!
Image
jaahas
Advanced Member
Posts: 307
Joined: Fri Feb 05, 2010 11:36 pm
Location: Tornio

Re: Pikku pelit

Post by jaahas »

en osaa kryptata niitä ja mul on tulossa toinen osa tosin animaatioita en laita ja siinä shooter 1 siinä oli virhe koodissa ne jätkät tulivat liian nopeaa
Someday coder
Active Member
Posts: 106
Joined: Wed Jul 30, 2008 5:04 pm

Re: Pikku pelit

Post by Someday coder »

http://www.myfileupload.net/download.ph ... cd0c633a70

Kokeilkaas siitä ja vaikka kehitelkää paremmaksi. Köyhän miehen versio coolbuilderista.
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Pikku pelit

Post by esa94 »

Ilkka wrote:
jaahas wrote:tein tälläsen ammunta pelin. 1=pistooli 2=konari 3=snipu. täs on 99 lvl mutta en usko että kukaan pääsee sinne asti.
EDIT:

nyt on korjattu vika

Mutta täähän on iha loistava peli! Tätä vois kehittää vielä vähän mielenkiintosemmaksi, mut ei nyt iha heti tuu mielee et miten! Kannattaa piilokirjottaa noi tallennukset kato, ku se on nii helppo huijata! Kattoin tota ni heti ylimpänä oli rahat! Pistimpä itelle siinä millin rahaa ni olise helppoo! Elikkä kannattaa piilokirjottaa!

E: Kanttii pistää kävelyanimaatiot ukoille! Lisäksi mun mielestä toi konekivääri ei oo mitenkää hienon näkönen! Eli grafiikassa pikku viilausta kanttii tehä jos jatkat!

E2: Toisiko mielenkiintoa jos pitäisi koittaa jousiammunnalla saada niitä kenttään ja vihulaisilla olisi miekat? Joillakin vihuilla saisi´olla jousia?. Tai mahdollisesti joillekkin hyökkääville jätkille aseita kuten pistooli tai vaikka tavallinen kivääri!
Miksi jokainen virkkeesi, joka ei ollut kysymys, päättyy huutomerkkiin? Hyvin harva huutomerkki noista olisi tarpeellinen. Osa huutomerkkiin päättämistäsikin virkkeistä ovat itse asiassa kysymyksiä, joten ensimmäinen kysymykseni ei taidakaan olla pätevä...
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Contact:

Re: Pikku pelit

Post by Herra Siili »

Tässä on ensimmäinen julkaisukelpoinen pelini: matopeli.

Nuolista liikkuu.
Itse en ole vielä löytänyt bugeja, mutta ainahan niitä jostain ilmaantuu.

Code: Select all

FrameLimit 40

SetWindow "Matopeli by Herra Siili"

titleFont=LoadFont("arial", 30,ON)
menuFont=LoadFont("arial",20)

Repeat
	SetFont titleFont
	CenterText ScreenWidth()/2,20,"Matopeli"

	SetFont menuFont
	CenterText ScreenWidth()/2,70,"(A)loita"
	CenterText ScreenWidth()/2,85,"(V)alinnat"
	CenterText ScreenWidth()/2,100,"(L)opeta"
	DrawScreen
Until KeyHit(cbKeyA) Or KeyHit(cbKeyV) Or KeyHit(cbKeyL)
If KeyHit(cbKeyL) Then End
If KeyHit(cbKeyV) Then Gosub asetus

fnt=LoadFont("courier")
SetFont fnt

//kartan koko =>15
MapSize=max(15,InputMapSize)

SCREEN MapSize*10,Int(MapSize*10.1)+30


Dim map(MapSize,MapSize) As String

Type mato
	Field pala$
	Field x
	Field y
EndType

alku:

strTyhja$ = "."
strTaysi$ = "#"
strMato$ =  "¤" //Vaihtoehdot: @, ¤
strRuoka$ = "%"
strPaa$ =   "@"
maxPituus=4
pituus=maxPituus
pisteet=0
nopeus=250

suuntaX=1
suuntaY=0

For i=1 To maxPituus
	mat.mato=New(mato)
	mat\pala=strMato$
	mat\x=Int(MapSize/2+i)
	mat\y=Int(MapSize/2)
Next i

//Luodaan kartan seinät
For x = 1 To MapSize
	For y = 1 To MapSize
		map(x,y) = strTaysi$
	Next y
Next x

For x = 2 To MapSize-1
	For y = 2 To MapSize-1
		map(x,y) = strTyhja$
	Next y
Next x


paivitys_aika=Timer()

ruoka=0

Repeat

	If ruoka=0 Then

		Repeat
			ruokaX=Rand(1,MapSize-1)
			ruokaY=Rand(1,MapSize-1)
		Until map(ruokaX,ruokaY)=strTyhja

		map(ruokaX,ruokaY)=strRuoka
		ruoka=1
	EndIf

	If LeftKey() Then
		suuntaX=-1
		suuntaY=0
	ElseIf RightKey() Then
		suuntaX=1
		suuntaY=0
	ElseIf UpKey() Then
		suuntaY=-1
		suuntaX=0
	ElseIf DownKey() Then
		suuntaY=1
		suuntaX=0
	EndIf

	If Timer()>paivitys_aika+nopeus Then
		mat.mato=Last(mato)
		If pituus=>maxPituus Then
			map(mat\x,mat\y)=strTyhja
			Delete mat
			pituus-1
		EndIf

		mat.mato=First(mato)
		x=mat\x+suuntaX
		y=mat\y+suuntaY
		
		If map(x,y)=strTyhja Or map(x,y)=strRuoka
			If map(x,y)=strRuoka Then maxPituus+1 : pisteet+1 : ruoka=0

			mat.mato=New(mato)
			Insert mat.mato, First(mato)
			mat\x=x
			mat\y=y
			mat\pala=strPaa
			map(mat\x,mat\y)=strPaa

			mat.mato=After(First(mato))
			mat\pala=strMato
			map(mat\x,mat\y)=strMato
			pituus+1
		Else
			ClearMouse : ClearKeys
			Repeat
				CenterText ScreenWidth()/2,30,"Törmäys!"
				CenterText ScreenWidth()/2,50,"Sait "+pisteet+" pistettä."
				CenterText ScreenWidth()/2,80,"Haluatko pelata"
				CenterText ScreenWidth()/2,92,"uudestaan? (K/E)"
				DrawScreen OFF
			Until KeyHit(cbKeyK) Or KeyHit(cbKeyE)
			If KeyHit(cbKeyK) Then
				Goto alusta
			ElseIf KeyHit(cbKeyE) Then
				End
			EndIf
			End
'			MakeError "Törmäys!"
		EndIf

		paivitys_aika=Timer()
	EndIf

	//Piirretään kartta
	For x = 1 To MapSize
		For y = 1 To MapSize
			Text (x-1)*10,(y-1)*10,map(x,y)
		Next y
	Next x

	Text 5,ScreenHeight()-15,"Pisteet: "+pisteet
	Text ScreenWidth()-60,ScreenHeight()-15,"FPS: "+FPS()	
	DrawScreen

Forever

alusta:

	For m.mato = Each mato
		Delete m
	Next m
	ClearArray OFF
	ReDim map(MapSize,MapSize)
Goto alku

asetus:
	ClearKeys
	Repeat
		InputMapSize=Input("Kartan koko ")
		DrawScreen
	Until KeyHit(cbKeyReturn)
	CloseInput
	ClearKeys
Return
EDIT:

Kaipaisin kommenttia toteutuksesta.

a.k.a. Gehock
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Pikku pelit

Post by DJ-Filbe »

Herra Siili wrote:
Tässä on ensimmäinen julkaisukelpoinen pelini: matopeli.

Nuolista liikkuu.
Itse en ole vielä löytänyt bugeja, mutta ainahan niitä jostain ilmaantuu.

Code: Select all

FrameLimit 40

SetWindow "Matopeli by Herra Siili"

titleFont=LoadFont("arial", 30,ON)
menuFont=LoadFont("arial",20)

Repeat
	SetFont titleFont
	CenterText ScreenWidth()/2,20,"Matopeli"

	SetFont menuFont
	CenterText ScreenWidth()/2,70,"(A)loita"
	CenterText ScreenWidth()/2,85,"(V)alinnat"
	CenterText ScreenWidth()/2,100,"(L)opeta"
	DrawScreen
Until KeyHit(cbKeyA) Or KeyHit(cbKeyV) Or KeyHit(cbKeyL)
If KeyHit(cbKeyL) Then End
If KeyHit(cbKeyV) Then Gosub asetus

fnt=LoadFont("courier")
SetFont fnt

//kartan koko =>15
MapSize=max(15,InputMapSize)

SCREEN MapSize*10,Int(MapSize*10.1)+30


Dim map(MapSize,MapSize) As String

Type mato
	Field pala$
	Field x
	Field y
EndType

alku:

strTyhja$ = "."
strTaysi$ = "#"
strMato$ =  "¤" //Vaihtoehdot: @, ¤
strRuoka$ = "%"
strPaa$ =   "@"
maxPituus=4
pituus=maxPituus
pisteet=0
nopeus=250

suuntaX=1
suuntaY=0

For i=1 To maxPituus
	mat.mato=New(mato)
	mat\pala=strMato$
	mat\x=Int(MapSize/2+i)
	mat\y=Int(MapSize/2)
Next i

//Luodaan kartan seinät
For x = 1 To MapSize
	For y = 1 To MapSize
		map(x,y) = strTaysi$
	Next y
Next x

For x = 2 To MapSize-1
	For y = 2 To MapSize-1
		map(x,y) = strTyhja$
	Next y
Next x


paivitys_aika=Timer()

ruoka=0

Repeat

	If ruoka=0 Then

		Repeat
			ruokaX=Rand(1,MapSize-1)
			ruokaY=Rand(1,MapSize-1)
		Until map(ruokaX,ruokaY)=strTyhja

		map(ruokaX,ruokaY)=strRuoka
		ruoka=1
	EndIf

	If LeftKey() Then
		suuntaX=-1
		suuntaY=0
	ElseIf RightKey() Then
		suuntaX=1
		suuntaY=0
	ElseIf UpKey() Then
		suuntaY=-1
		suuntaX=0
	ElseIf DownKey() Then
		suuntaY=1
		suuntaX=0
	EndIf

	If Timer()>paivitys_aika+nopeus Then
		mat.mato=Last(mato)
		If pituus=>maxPituus Then
			map(mat\x,mat\y)=strTyhja
			Delete mat
			pituus-1
		EndIf

		mat.mato=First(mato)
		x=mat\x+suuntaX
		y=mat\y+suuntaY
		
		If map(x,y)=strTyhja Or map(x,y)=strRuoka
			If map(x,y)=strRuoka Then maxPituus+1 : pisteet+1 : ruoka=0

			mat.mato=New(mato)
			Insert mat.mato, First(mato)
			mat\x=x
			mat\y=y
			mat\pala=strPaa
			map(mat\x,mat\y)=strPaa

			mat.mato=After(First(mato))
			mat\pala=strMato
			map(mat\x,mat\y)=strMato
			pituus+1
		Else
			ClearMouse : ClearKeys
			Repeat
				CenterText ScreenWidth()/2,30,"Törmäys!"
				CenterText ScreenWidth()/2,50,"Sait "+pisteet+" pistettä."
				CenterText ScreenWidth()/2,80,"Haluatko pelata"
				CenterText ScreenWidth()/2,92,"uudestaan? (K/E)"
				DrawScreen OFF
			Until KeyHit(cbKeyK) Or KeyHit(cbKeyE)
			If KeyHit(cbKeyK) Then
				Goto alusta
			ElseIf KeyHit(cbKeyE) Then
				End
			EndIf
			End
'			MakeError "Törmäys!"
		EndIf

		paivitys_aika=Timer()
	EndIf

	//Piirretään kartta
	For x = 1 To MapSize
		For y = 1 To MapSize
			Text (x-1)*10,(y-1)*10,map(x,y)
		Next y
	Next x

	Text 5,ScreenHeight()-15,"Pisteet: "+pisteet
	Text ScreenWidth()-60,ScreenHeight()-15,"FPS: "+FPS()	
	DrawScreen

Forever

alusta:

	For m.mato = Each mato
		Delete m
	Next m
	ClearArray OFF
	ReDim map(MapSize,MapSize)
Goto alku

asetus:
	ClearKeys
	Repeat
		InputMapSize=Input("Kartan koko ")
		DrawScreen
	Until KeyHit(cbKeyReturn)
	CloseInput
	ClearKeys
Return
EDIT:

Kaipaisin kommenttia toteutuksesta.

Jeps.
Nopeasti kun vilasee, niin eipä tuosta juuri muuta korjauksen varaa löydykkään kuin se, että jos painaa madon liikkumissuuntaan nähden päinvastaista näppäintä (esim. mato liikku ylös ja painat alas-näppäintä), tulee "törmäys".
En tiedä onko se tarkoituksenmukaista, mutta perus-matopelin ominaisuuksiin ei tiettävästi kuulu.

Peli on muuten hieno! Sitä pelaa mielellään useita kertoja :) (silloin kun ei ole muutakaan...)
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Contact:

Re: Pikku pelit

Post by Herra Siili »

DJ-Nerd wrote: Nopeasti kun vilasee, niin eipä tuosta juuri muuta korjauksen varaa löydykkään kuin se, että jos painaa madon liikkumissuuntaan nähden päinvastaista näppäintä (esim. mato liikku ylös ja painat alas-näppäintä), tulee "törmäys".
Se on puoliksi bugi ja puoliksi ominaisuus. En löytänyt helppoa tapaa estää sitä, joten jätin sen vaikeuttamaan peliä.
a.k.a. Gehock
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Pikku pelit

Post by DJ-Filbe »

Herra Siili wrote:
DJ-Nerd wrote: Nopeasti kun vilasee, niin eipä tuosta juuri muuta korjauksen varaa löydykkään kuin se, että jos painaa madon liikkumissuuntaan nähden päinvastaista näppäintä (esim. mato liikku ylös ja painat alas-näppäintä), tulee "törmäys".
Tässä on korjattu koodi sinulle.
Lisäsin vain näppäinkäsittelijöihin ehtolauseet, että suunnat eivät voi mennä ristiin :) Helppo nakki!

Code: Select all

FrameLimit 3

SetWindow "Matopeli by Herra Siili"

titleFont=LoadFont("arial", 30,ON)
menuFont=LoadFont("arial",20)

Repeat
   SetFont titleFont
   CenterText ScreenWidth()/2,20,"Matopeli"

   SetFont menuFont
   CenterText ScreenWidth()/2,70,"(A)loita"
   CenterText ScreenWidth()/2,85,"(V)alinnat"
   CenterText ScreenWidth()/2,100,"(L)opeta"
   DrawScreen
Until KeyHit(cbKeyA) Or KeyHit(cbKeyV) Or KeyHit(cbKeyL)
If KeyHit(cbKeyL) Then End
If KeyHit(cbKeyV) Then Gosub asetus

fnt=LoadFont("courier")
SetFont fnt

//kartan koko =>15
MapSize=max(15,InputMapSize)

SCREEN MapSize*10,Int(MapSize*10.1)+30


Dim map(MapSize,MapSize) As String

Type mato
   Field pala$
   Field x
   Field y
EndType

alku:

strTyhja$ = "."
strTaysi$ = "#"
strMato$ =  "¤" //Vaihtoehdot: @, ¤
strRuoka$ = "%"
strPaa$ =   "@"
maxPituus=4
pituus=maxPituus
pisteet=0
nopeus=250

suuntaX=1
suuntaY=0

For i=1 To maxPituus
   mat.mato=New(mato)
   mat\pala=strMato$
   mat\x=Int(MapSize/2+i)
   mat\y=Int(MapSize/2)
Next i

//Luodaan kartan seinät
For x = 1 To MapSize
   For y = 1 To MapSize
      map(x,y) = strTaysi$
   Next y
Next x

For x = 2 To MapSize-1
   For y = 2 To MapSize-1
      map(x,y) = strTyhja$
   Next y
Next x


paivitys_aika=Timer()

ruoka=0

Repeat

   If ruoka=0 Then

      Repeat
         ruokaX=Rand(1,MapSize-1)
         ruokaY=Rand(1,MapSize-1)
      Until map(ruokaX,ruokaY)=strTyhja

      map(ruokaX,ruokaY)=strRuoka
      ruoka=1
   EndIf
   
   If LeftKey() Or KeyHit(203) And suuntaX <> 1 Then
      suuntaX=-1
      suuntaY=0
   ElseIf RightKey() Or KeyHit(205) And suuntaX <> -1 Then
      suuntaX=1
      suuntaY=0
   ElseIf UpKey() Or KeyHit(200) And suuntaY <> 1 Then
      suuntaY=-1
      suuntaX=0
   ElseIf DownKey() Or KeyHit(208) And suuntaY <> -1 Then
      suuntaY=1
      suuntaX=0
   EndIf


   If Timer()>paivitys_aika+nopeus Then
      mat.mato=Last(mato)
      If pituus=>maxPituus Then
         map(mat\x,mat\y)=strTyhja
         Delete mat
         pituus-1
      EndIf

      mat.mato=First(mato)
      x=mat\x+suuntaX
      y=mat\y+suuntaY
      
      If map(x,y)=strTyhja Or map(x,y)=strRuoka
         If map(x,y)=strRuoka Then maxPituus+1 : pisteet+1 : ruoka=0

         mat.mato=New(mato)
         Insert mat.mato, First(mato)
         mat\x=x
         mat\y=y
         mat\pala=strPaa
         map(mat\x,mat\y)=strPaa

         mat.mato=After(First(mato))
         mat\pala=strMato
         map(mat\x,mat\y)=strMato
         pituus+1
      Else
         ClearMouse : ClearKeys
         Repeat
            CenterText ScreenWidth()/2,30,"Törmäys!"
            CenterText ScreenWidth()/2,50,"Sait "+pisteet+" pistettä."
            CenterText ScreenWidth()/2,80,"Haluatko pelata"
            CenterText ScreenWidth()/2,92,"uudestaan? (K/E)"
            DrawScreen OFF
         Until KeyHit(cbKeyK) Or KeyHit(cbKeyE)
         If KeyHit(cbKeyK) Then
            Goto alusta
         ElseIf KeyHit(cbKeyE) Then
            End
         EndIf
         End
'         MakeError "Törmäys!"
      EndIf

      paivitys_aika=Timer()
   EndIf

   //Piirretään kartta
   For x = 1 To MapSize
      For y = 1 To MapSize
         Text (x-1)*10,(y-1)*10,map(x,y)
      Next y
   Next x

   Text 5,ScreenHeight()-15,"Pisteet: "+pisteet
   Text ScreenWidth()-60,ScreenHeight()-15,"FPS: "+FPS()   
   DrawScreen

Forever

alusta:

   For m.mato = Each mato
      Delete m
   Next m
   ClearArray OFF
   ReDim map(MapSize,MapSize)
Goto alku

asetus:
   ClearKeys
   Repeat
      InputMapSize=Input("Kartan koko ")
      DrawScreen
   Until KeyHit(cbKeyReturn)
   CloseInput
   ClearKeys
Return
Huomaa framelimit 3.
Tämä ei hidasta peliä yhtään, vaan tekee siitä yksinkertaisemmin käsiteltävän. Jos sitä ei olisi, kahden näppäimen lähes samanaikainen painallus (ilman oikeaa törmäystä) aiheuttaisi "törmäys" - ilmoituksen.
Nyt koko juttu on siistitty ja näppäimien joustavuutta paranneltu.
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Contact:

Re: Pikku pelit

Post by Herra Siili »

Kiitos paljon! Taisi vain laiskuus iskeä, kun en jaksanut ruveta selvittämään tuota.
a.k.a. Gehock
Average
Newcomer
Posts: 6
Joined: Sat Jun 28, 2008 3:40 pm
Location: Kuopio

Re: Pikku pelit

Post by Average »

MrMonday wrote:Dodiin, terve vain kaikille tasapuolisesti, ja asiaan: Olen siis aloittelija, ollut jo varmaan vuoden, mutta vihdoin sain jotain myös aikaiseksi, ja ajattelinkin, josko se olisi jo tarpeeksi ihmeellistä minulta, jotta sen tänne kehtaa laittaa.. Eli kyseessä on pari kuukautta työstämäni (ihan oikeasti..) peli nimeltä Elämä. Elämässä on siis tarkoituksena ei mikään ja sisältöä ei juurikaan ole, mutta lyhyesti sanoen hiirellä liikutaan eri paikkoihin, joissa voi tehdä erilaisia asioita, kuten opiskella, tehdä töitä, sun muuta, kaikki todella tökerösti tehtynä. Mutta nyt, hyvät Cb:läiset, toivoisinkin saavani rakentavaa palautetta/kritiikkiä ensimmäisestä "kunnon" projektistani. Kestän kaiken, joten piiskatkaa minua kunnolla ja antakaa rehellisiä arvosteluja, muistaen kuitenkin, että en ole vielä mikään ammattilainen.

Kiitos kaunis kaikille, ja ihmeteltävää kaupan päälle.
Paranneltu versio, eli jos olet ladannut ensimmäisen version,
niin suosittelen lataamaan nyt tämän, hieman parempi :)
The attachment Elämä.rar is no longer available
Todellakin oli tylsää niin tein tämmöisen trainerin Elämä peliin. Ohjeet löytyvät ReadMe:sta. Tuskin sitä tarvitsee kun peli on muutenkin helppo mutta voitte kuitenkin kokeilla. Tätä ei ole tehty CoolBasicilla. Elämä pelin saat tästä.
Attachments
Elämä trainer.rar
Elämä trainer. Saat paketin auki mm. WinRARilla.
(293.45 KiB) Downloaded 308 times
Cannabis made my life better.
User avatar
Knoy
Active Member
Posts: 187
Joined: Fri Feb 12, 2010 10:50 pm

Re: Pikku pelit

Post by Knoy »

Kauppapeli:

E: Vaikeampi...

Code: Select all

SCREEN 600,400

Raha=5000 //Rahat
Velka=4500
Päivä=0
Ketjunnimi$="Kaupan Nimi" //Kaupan nimi...
Toim=4

Const VaihtoEhdot = 6

Dim VE(VaihtoEhdot) As String
VE(0)="Osta lisää myytävää tavaraa. - 250$"
VE(1)="Palkkaa lisää työntekijöitä."
VE(2)="Mainosta kauppaa! 500$."
VE(3)="Mainosta kauppaketjua! - "
VE(4)="Laajenna ketjua. - 2000$"
VE(5)="Lopeta päivä "
Ve(6)="Maksa 100$ velkaa!"

Dim KauppaIlmoitus(2500) As String

Type Shopit
    Field kaupanN
    Field Työntekijät
    Field Valikoima
    Field Kaupannimi As String
    Field Asiakkaita
    Field Mainostus
EndType 

Locate 0,15

Repeat
    Text 0,0,"Paina returnia antaaksesi ketjullesi nimi!"
    Ketjunnimi$=Input("")
    Text 0,45,"Tavoitteena on saada 365 päivän aikana miljoona$"
    Text 0,60,"Alkuun sinulla on 10000$ laina joka sinun on maksettava! Lainassa o"+"n"
    Text 0,75,"1% päivä korko!"
    Text 0,90,"Joka 30 päivä on verotus päivä!"
    Text 0,105,"Häviät pelin jos rahasi ovat 5 päivää miinuksella tai sinulla ei ole"
    Text 0,120,"kymmentämiljoonaa 365. päivänä."
    Text 0,135,"365 päivän päästä kymmenenmiljoonaa $"
    Text 0,150,"Voit tehdä 4 toimintoa jokapäivä!"
    
    Text 0,180,"Knoy: En ole sitten ollenkaan varma onko peli mahdollinen..."
    DrawScreen
Until KeyHit(CbKeyReturn)

CloseInput: ClearKeys

K.Shopit=New(Shopit)
    K\KaupanN=kauppaN
    K\Valikoima=1
    K\Työntekijät=1
    K\Asiakkaita=5
    K\Mainostus=0
    
Repeat
    Text 0,0,"Paina returnia kaupallesi nimi!"
    K\Kaupannimi=Input("")
    DrawScreen
Until KeyHit(CbKeyReturn)

CloseInput: ClearKeys

Repeat
    If Toim=<0 Then OP=6
    If Op=0 Then 
        Color CbWhite
        Text 0,0,Msg$
        For i = 0 To Cres
            Text 0,105+15*i,KauppaIlmoitus(i)
        Next i
        SetWindow Ketjunnimi$+" - Rahat:"+Raha+"$ - Päivä:"+Päivä+" - Toiminnot:"+Toim+ " - Velka:"+Velka
        For i = 0 To Vaihtoehdot
            If MouseX()>0 And MouseX()<TextWidth(VE(i)) And MouseY()>15+15*i And MouseY()<15+15*i+TextHeight(VE(i)) Then
                Color CbRed
                If MouseHit(1) And Vait=0 And Toim>0 Then
                    Toim-1
                    Op=i+1
                    Vait=2
                    If I=3=0 And i=5=0 And i=4=0 And I=6=0 Then Gosub kauppa
                EndIf
            Else
                Color CbWhite
            EndIf 
            Text 0,15+15*i,VE(i)
            If i=VaihtoEhdot-1 Then
                Gosub Hintaa
                Text TextWidth(VE(i)),i*15+15,"- "+Hinta+"$"
                Velkaaja=0
                Hinta=0
            EndIf
            If KauppaN=0=0 Then
                If i = 3 Then Text TextWidth(VE(i)),i*15+15,(KauppaN+1)*300+"$"
            Else
                If i = 3 Then Text TextWidth(VE(i)),i*15+15,"500$"
            EndIf 
        Next i
    ElseIf Op=1 Then
        Op=0
        If Raha>=250 Then 
            Raha-250
            Msg$="Kaupan "+KN$+" valikoimaa on laajennettu"
        For k.shopit=Each shopit
            If k\Kaupannimi=KN$ Then k\valikoima+1
        Next k
        Else 
            Msg$="Sinulla ei ole tarpeeksi rahaa!"
        EndIf 
    ElseIf Op=2 Then
        Op=0
        Msg$="Palkkasit yhdentyöntekijän lisää kauppaan "+KN$
        For k.shopit=Each shopit
            If k\Kaupannimi=KN$ Then k\Työntekijät+1
        Next k
    ElseIf Op=3 Then
        Op=0
        If Raha>=500 Then
            Raha-500
            Msg$="Mainostit kauppaa "+KN$
            For k.shopit=Each shopit
                If k\Kaupannimi=KN$ Then k\Mainostus+1
            Next k
        Else
            Msg$="Sinulla ei ole tarpeeksi rahaa!"
        EndIf
    ElseIf Op=4 Then
        Op=0
        If KauppaN=0 Then
            If Raha>=500 Then
                Raha-500
                Msg$="Mainostit kauppaketjua!"
                For k.shopit=Each shopit
                    k\Mainostus+1
                Next k
            Else
                Msg$="Sinulla ei ole tarpeeksi rahaa!"
            EndIf
        Else
            If Raha>=(300*(KauppaN+1)) Then
                Raha=Raha-(300*(KauppaN+1))
                Msg$="Mainostit kauppaketjua!"
                For k.shopit=Each shopit
                    k\Mainostus+1
                Next k
            Else
                Msg$="Sinulla ei ole tarpeeksi rahaa!"
            EndIf
        EndIf
    ElseIf Op=5 Then
        Op=0
        If Raha>=2000 Then
            Raha-2000
            KauppaN+1
            Gosub uusikauppa
        Else
            Msg$="Sinulla ei ole tarpeeksi rahaa!"
        EndIf
    ElseIf Op=6 Then
        Op=0
        Gosub Hintaa
        Raha-Hinta
        Gosub Voitto
        Raha+Voitto
        Gosub Asiakaslisä
        If Raha<0 Then Miinuksella+1 Else Miinuksella=0
        If Miinuksella=5 Or (Raha<10000000 And Päivä>=365) Then MakeError "Hävisit pelin!"
        If Raha>10000000 And päivä>=365 Then MakeError "Voitit pelin!"
        Päivä+1
        Msg$="Tuotit tänään "+(Voitto-Hinta)+"$"
        Hinta=0
        Voitto=0
        Velka-Velkaaja
        Velkaaja=0
        Gosub VelkaPlus
        If (Päivä Mod 30) = 0 Then Gosub Verot
        Toim=4
    ElseIf Op=7 Then
        Op=0
        If Raha>=100 Then
                If Velka>0 Then
                    Msg$="Maksoit velkaa "+Min(100,Velka)+"$"
                    Raha=Raha-Min(100,Velka)
                    Velka=Velka-Min(100,Velka)
                Else
                    Msg$="Sinulla ei ole velkaa!"
                EndIf 
        Else
            Msg$="Sinulla ei ole tarpeeksi rahaa!"
        EndIf
    EndIf
    If Vait>0 Then Vait-1
    DrawScreen
Forever 

Kauppa:
    Repeat
        Color CbWhite
        Text 0,0,"Valitse kauppa!"
        For k.Shopit=Each Shopit
            Ktext+1
            If MouseX()>0 And MouseX()<TextWidth(K\Kaupannimi) And MouseY()>15*KText And MouseY()<15*KText+TextHeight(K\Kaupannimi) Then
                Color CbRed
                If MouseHit(1) And Vait=0 Then
                    Shoppit=1
                    KN$=k\Kaupannimi
                EndIf
            Else
                Color CbWhite
            EndIf 
            Text 0,KText*15,K\Kaupannimi
        Next k
            If MouseX()>0 And MouseX()<TextWidth("Takaisin") And MouseY()>15+15*Ktext And MouseY()<15+15*KText+TextHeight("Takaisin") Then
                Color CbRed
                If MouseHit(1) And Vait=0  Then
                    OP=0
                    Vait=1
                    Return
                EndIf
            Else
                Color CbWhite
            EndIf 
        Text 0,KText*15+15,"Takaisin"
        KText=0
        DrawScreen
        If Vait>0 Then Vait-1
        Loppu:
    Until Shoppit=1
    Shoppit=0
Return 

Hintaa:
    For k.Shopit=Each shopit
        hinta=hinta+(25*k\työntekijät)
    Next k
    Velkaaja=Min(250+50*Päivä,Velka)
    hinta+Velkaaja
Return 

Voitto:
    For k.Shopit=Each Shopit
        For i = 1 To k\asiakkaita
            Voitto=Voitto+Rand(2,5)*(Rand(2,5)*K\Valikoima)
        Next i
    Next k
Return 

Asiakaslisä:
    Cres=0
    For k.Shopit=Each shopit
        If Max(0,K\asiakkaita)<K\mainostus*5 Then K\asiakkaita=K\asiakkaita+Rand(1,3)
        K\asiakkaita=K\asiakkaita+Rand(-1,1)
        If K\asiakkaita>K\Työntekijät*9 Then Cres+1: KauppaIlmoitus(Cres)="Kauppassa "+k\kaupannimi+" o"+"n liika vähän työntekijöitä!": K\asiakkaita-4
    Next k
Return 

Uusikauppa:
    Msg$="Laajensit ketjua!"
    K.Shopit=New(Shopit)
        K\KaupanN=KauppaN
        K\Valikoima=1
        K\Työntekijät=1
        K\Asiakkaita=5
        K\Mainostus=0
    
    Back:
    Repeat
        Text 0,0,"Paina returnia kaupallesi nimi!"
        Text 0,30,Msg2$
        K\Kaupannimi=Input("")
        DrawScreen
    Until KeyHit(CbKeyReturn)
    
    CloseInput: ClearKeys
    
    For kk.shopit=Each shopit
        If k\kaupanN=kk\KaupanN=0 Then 
            If k\Kaupannimi=kk\KaupanNimi Then msg2$="Tuon niminen kauppa on jo olemassa!": Goto Back
        EndIf
    Next kk
Return 

Verot:
    For k.shopit=Each shopit
        Veroa+100
    Next k
    Veroa=Veroa+Raha/25
    Raha-Veroa
    Msg$="Verotus päivä - Maksoit veroa "+ veroa+"$"
    Veroa=0
Return 

Velkaplus:
    If Velka>0 Then
        Velk#=Velka
        Velka=Velka+RoundUp(Velk#/100)
    EndIf
Return 
Hanki kymmenenmiljoonaa $... En ole itse testannut vielä peliä.
Koodi on ERITTÄIN sekava. Tein tämän ihan läpällä... (Halusin ruveta Morshuksi...)
Pelissä saattaa olla bugeja ja muute pientä...
Jos peli on liika vaikea muut velkaa pienemmäksi tai alkurahoja suuremmaksi...
Last edited by Knoy on Sat May 08, 2010 1:00 pm, edited 1 time in total.
ezbe
Tech Developer
Tech Developer
Posts: 93
Joined: Fri May 08, 2009 6:53 pm

Re: Pikku pelit

Post by ezbe »

Knoy wrote:Kauppapeli:
Hanki kymmenenmiljoonaa $... En ole itse testannut vielä peliä.
Koodi on ERITTÄIN sekava. Tein tämän ihan läpällä... (Halusin ruveta Morshuksi...)
Pelissä saattaa olla bugeja ja muute pientä...
Jos peli on liika vaikea muut velkaa pienemmäksi tai alkurahoja suuremmaksi...
Hieman liian helppo ehkä, en muuttanut koodista mitään ja rahaa oli pelin päättyessä reilu 110 miljoonaa... ;)
Someday coder
Active Member
Posts: 106
Joined: Wed Jul 30, 2008 5:04 pm

Re: Pikku pelit

Post by Someday coder »

Aikamoista klikkailua ja tosiaan liian helppo
User avatar
85 spider
Newcomer
Posts: 35
Joined: Thu Dec 10, 2009 7:01 pm
Location: Vihanti, Alpua

Re: Pikku pelit

Post by 85 spider »

Tein tämmösen pikku pelin jossa pitää väistellä hiirellä laatikoita.
väistä laatikko.zip
Lataa!
(587.43 KiB) Downloaded 378 times
MrMonday
Advanced Member
Posts: 378
Joined: Fri Oct 10, 2008 2:35 pm

Re: Pikku pelit

Post by MrMonday »

85 spider wrote:Tein tämmösen pikku pelin jossa pitää väistellä hiirellä laatikoita.
Ei paha, ei paha, oma ennätys oli 9,2 sekuntia, mitä muutaman kerran kokeilin..
Ehkä hitusen isompi alue olisi jees ja että peliä ei tarvitsisi joka kerta käynnistää uudelleen, vaan voisi suoraan aloittaa uuden kierroksen kun "kuolee"
Myöskin ennätyksen voisi laittaa johonkin ylänurkkaan.. Olen melkein varma, että olen nähnyt samanlaisen, siis melkein tismalleen samanlaisen pelin joskus aiemminkin..
Mutta anyway, vallan pätevä pikkupeli ;)
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Pikku pelit

Post by Awaclus »

Tein ruotsin kokeisiin harjoittelemista varten suunnilleen tällaisen ohjelman, ja ajattelin jakaa siltä varalta, ettei joku sitä jaksa itse tehdä ja tarvitsee.

Code: Select all

Type SANAT
    Field vieras As String
    Field suomi As String
EndType

SCREEN 800, 600

filu = OpenToRead ("kyselijä_wordlist.txt")

While Not EOF (filu)

    iSana.SANAT = New (SANAT)
    iSana\vieras = ReadLine(filu)
    iSana\suomi = ReadLine(filu)

Wend
CloseFile filu


Repeat

    For aSana.SANAT = Each SANAT
        randu = Rand (0, 1)        
        paikka:        
        Repeat
            Locate 1, 1
            If randu = 0 Then veikkaus$ = Input (""+aSana\suomi+" =? ")
            If randu = 1 Then veikkaus$ = Input (""+aSana\vieras+" =? ")
            Text 0, 300, "Oikein: "+oikein
            Text 0, 320, "Väärin: "+väärin
            DrawScreen
        Until KeyHit (cbkeyreturn)
        CloseInput
        
        If randu = 0 Then
            If Lower(veikkaus$) = Lower(aSana\vieras) Then oikein +1 Else väärin +1: Goto paikka
        End If
        If randu = 1 Then
            If Lower(veikkaus$) = Lower(aSana\suomi) Then oikein +1 Else väärin +1: Goto paikka
        EndIf
     Next aSana
     
Forever
Ohjelman testaamista varten pistän vielä oman kyselijä_wordlist.txt:ni sisällönkin tähän, eli siis Klick 8 -kirjan kappaleiden 9 ja 10 sanat.

Code: Select all

samtal på stan
keskusteluja kaupungilla
ett samtal, samtalet, samtal, samtalen
keskustelu
hos lasses livs
lassen elintarvikeliikkeessä
sälja, säljer, sålde, har sålt
myydä
ett frimärke, frimärket, frimärken, frimärkena
postimerkki
tyvärr
valitettavasti
men
mutta
gå till
mene johonkin
på andra sidan gatan
kadun toisella puolella
där borta?
tuonneko?
tack ska du ha.
kiitos.
för all del.
eipä kestä.
ha en trevlig dag!
hauskaa päivänjatkoa!
trevlig, trevligt, trevliga
mukava
tack detsamma.
kiitos samoin.
på Sveavägen
sveavägenillä
ursäkta!
anteeksi!
var ligger?
missä sijaitsee?
kulturhuset
kulttuuritalo
det finns
se on
vid Sergels torg
sergelin torilla
gå först
mene ensin
ett torg, torget, torg, torgen
tori
ta sedan rulltrappan ner
mene sitten rullaportaita alas
ta, tar, tog, har tagit
ottaa
sedan
sitten
ingången är där nere
sisäänkäynti on alhaalla
nere
alhaalla
till vänster
vasemmalla
tusen tack.
tuhannet kiitokset.
ingen orsak.
ei kiittämistä.
i gallerian
galleriassa
hur kommer vi till
miten pääsemme
ta till höger
käänny oikealle
när
kun
ut ur affären
ulos kaupasta
en affär, affären, affärer, affärerna
kauppa
rakt fram
suoraan eteenpäin
längs
pitkin
snart
pian
till vattnet
veden äärelle
vatten, vattnet
vesi
en färja, färjan, färjor, färjorna
lautta
som heter
jonka nimi on
kunna, kan, kunde, har kunnat
voida
använda, använder, använde, har använt
käyttää
ett stockholmskort, stockholmskortet
tukholma-kortti
på båten
laivalla
en båt, båten, båtar, båtarna
laivalla
jag tror det.
luulen niin.
tro, tror, trodde, har trott
luulla
då
silloin
en resa, resan, resor, resorna
matka
gratis, gratis, gratis
ilmainen
vad bra!
sepä hyvä!
tack för hjälpen!
kiitos avusta!
ha en kul kväll!
hauskaa iltaa!
på tivoli
tivolissa
ett år, året, år, åren
vuosi
komma, kommer, kom, har kommit från
olla kotoisin
men
mutta
bo, bor, bodde, har bott
asua
hans
hänen
en lärare, läraren, lärare, lärarna
opettaja
på universitetet
yliopistossa
hennes nya man
hänen uusi miehensä
hennes
hänen
en man, mannen, män, männen
mies
en journalist, journalisten, journalister, journalisterna
toimittaja
finlandssvensk, finlandssvenskt, finlandssvenska
suomenruotsalainen
en tidning, tidningen, tidningar, tidningarna
lehti
ganska
melko
en stad, staden , städer, städerna
kaupunki
inte så storn som
ei niin suuri kuin
stor, stort, stora
suuuri
lagom stor
sopivan suuri
trivas, trivs, trivdes, har trivts
viihtyä
det finns
on
mycket att göra
paljon tekemistä
närä till allt
lähellä kaikkea
fredrik gillar att åka skateboard.
fredrik pitää rullalautailusta.
ofta
usein
vid kiasma
kiasman luona
vid järnvägsstationen
rautatieaseman luona
på sommaren
kesällä
havshamnen
merisatama
deras
heidän
ett ställe, stället, ställen, ställena
paikka
besök från sverige
vierailu ruotsista
nästa vecka
ensi viikolla
en kusin, kusinen, kusiner, kusinerna
serkku
till stan
kaupunkiin
då
silloin
visa för henne
näyttää hänelle
visa, visar, visade, har visat
näyttää
aldrig
ei koskaan
vara, är var, har varit
olla
förut
aikaisemmin
redan
jo
planera, planerar, planerade, har planerat
suunnitella
ett program, programmet, program, programmen
vi ska på picknick
menemme piknikille
sveaborg
suomenlinna
väder, vädret
sää
på kvällen
illalla
gå på borgbacken
mennä linnanmäelle
jag hoppas
toivon
vilja, vill, ville, har velat
åka berg-och-dalbana
ajaa vuoristoradalla
åka, åker, åkte, har åkt
mennä
nästa dag
seuraavana päiväna
cykla, cyklar, cyklade, har cyklat
pyöräillä
runt på stan
ympäri kaupunkia
kanske
ehkä
högholmen
korkeasaari
Jos joku siis ei vielä koodin ja tekstitiedoston perusteella tajunnut, niin tiedostoon pitää laittaa vuoron perään vieraskielinen sana ja sen suomenkielinen vastine (tai jos keksii jotain muuta käyttötarkoitusta ohjelmalle, niin samaan tapaan), eli näin:

sana1-vieraalla-kielellä
sana1-suomeksi
sana2-vieraalla-kielellä
sana2-suomeksi
sana3-vieraalla-kielellä
sana3-suomeksi

jne.
Average
Newcomer
Posts: 6
Joined: Sat Jun 28, 2008 3:40 pm
Location: Kuopio

Re: Pikku pelit

Post by Average »

MrMonday wrote:
85 spider wrote:Tein tämmösen pikku pelin jossa pitää väistellä hiirellä laatikoita.
Ei paha, ei paha, oma ennätys oli 9,2 sekuntia, mitä muutaman kerran kokeilin..
Ehkä hitusen isompi alue olisi jees ja että peliä ei tarvitsisi joka kerta käynnistää uudelleen, vaan voisi suoraan aloittaa uuden kierroksen kun "kuolee"
Myöskin ennätyksen voisi laittaa johonkin ylänurkkaan.. Olen melkein varma, että olen nähnyt samanlaisen, siis melkein tismalleen samanlaisen pelin joskus aiemminkin..
Mutta anyway, vallan pätevä pikkupeli ;)
24.1 sekuntia kun osaa kattoo minne ne laatikot menee.
Cannabis made my life better.
User avatar
Ilkka
Active Member
Posts: 201
Joined: Mon Oct 08, 2007 8:01 am

Re: Pikku pelit

Post by Ilkka »

Teinpäs huvikseni pongin. (191 riviä) :lol:

Code: Select all

SCREEN 200,200
valikko:
p1pisteet = 0
p2pisteet = 0
vali=1

Repeat

    If KeyHit(200) Then vali-1
    If KeyHit(208) Then vali+1
  
    Color 255,255,255
    Text 10,20,"Aloita yksinpeli"
    Text 10,50,"Aloita kaksinpeli"    
    Text 10,80,"Lopeta"
    
    If vali=1 Then 
        Color 255,0,0
        Text 10,20,"Aloita yksinpeli"
    EndIf    
    If vali=2 Then 
        Color 255,0,0
        Text 10,50,"Aloita kaksinpeli"
    EndIf 
        If vali=3 Then 
        Color 255,0,0
        Text 10,80,"Lopeta"
    EndIf 

    If vali=0 Then vali=1
    If vali=4 Then vali=3
    
    If vali=1 And KeyHit(28) Then Goto alku2
    If vali=2 And KeyHit(28) Then Goto alku
    If vali=3 And KeyHit(28) Then End
    
    Color 255,255,255
    Box 10,100,180,90,0
    Text 12,110,"Pelaaja 1 ohjaus sivu-"
    Text 12,130,"nuolista."
    Text 12,150,"Pelaaja 2 ohjaus A:sta"
    Text 12,170,"ja D:stä."
    
    SetWindow "Pong"
    
  DrawScreen 
Forever 



alku:

phalkaisija = 5
pvauhtix = Rand(-2,2)
pvauhtiy = Rand(-2,2)
px = 100 - phalkaisija / 2
py = 100 - phalkaisija / 2

If pvauhtix = 0 Then pvauhtix = 1
If pvauhtiy = 0 Then pvauhtiy = -1 

p1leveys = 45
p1korkeus = 5
p1x = 100 - p1leveys / 2
p1y = 190

p2leveys = 45
p2korkeus = 5
p2x = 100 - p1leveys / 2
p2y = 10

Repeat

    Color 255,0,0
    Box p1x, p1y, p1leveys, p1korkeus
    
    Color 0,255,0
    Box p2x, p2y, p2leveys, p2korkeus   
    
    Color 255,255,255
    Circle px, py, phalkaisija 
               
    If LeftKey() Then p1x - 2
    If RightKey() Then p1x + 2
    If KeyDown(30) Then p2x - 2
    If KeyDown(32) Then p2x + 2
                
    If BoxOverlap(p1x, p1y, p1leveys, p1korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = -pvauhtiy - 1 : If LeftKey() And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If RightKey() And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf 
    If BoxOverlap(p2x, p2y, p2leveys, p2korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = +pvauhtiy + 1: If KeyDown(30) And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If KeyDown(32) And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf 
               
    px + pvauhtix
    py + pvauhtiy
    
    If p1x < 0 Then p1x = 0
    If p1x > 200 - p1leveys Then p1x = 200 - p1leveys

    If p2x < 0 Then p2x = 0
    If p2x > 200 - p2leveys Then p2x = 200 - p2leveys
 
               
    If px > 200 - phalkaisija Then pvauhtix = -pvauhtix
    If px < 0 Then pvauhtix = +pvauhtix
                   
    If py > 200 - phalkaisija Then pvauhtiy = -pvauhtiy : p2pisteet + 1 : Goto alku
    If py < 0 Then pvauhtiy = +pvauhtiy  : p1pisteet + 1 : Goto alku

    If p1pisteet = 5 Then 
        Text 20,90,"Pelaaja 1 voitti"
    EndIf    
    If p2pisteet = 5 Then 
        Text 20,90,"Pelaaja 2 voitti"
    EndIf    
     
    SetWindow ""+p1pisteet+":"+p2pisteet 

  DrawScreen 
Forever 

alku2:

phalkaisija = 5
pvauhtix = Rand(-2,2)
pvauhtiy = Rand(-2,2)
px = 100 - phalkaisija / 2
py = 100 - phalkaisija / 2

If pvauhtix = 0 Then pvauhtix = 1
If pvauhtiy = 0 Then pvauhtiy = -1 

p1leveys = 45
p1korkeus = 5
p1x = 100 - p1leveys / 2
p1y = 190

p2leveys = 45
p2korkeus = 5
p2x = 100 - p1leveys / 2
p2y = 10

Repeat

    Color 255,0,0
    Box p1x, p1y, p1leveys, p1korkeus
    
    Color 0,255,0
    Box p2x, p2y, p2leveys, p2korkeus   
    
    Color 255,255,255
    Circle px, py, phalkaisija 
               
    If LeftKey() Then p1x - 2
    If RightKey() Then p1x + 2
    
    If px > p2x + p2leveys / 2 Then p2x + 2
    If px < p2x + p2leveys / 2 Then p2x - 2
                
    If BoxOverlap(p1x, p1y, p1leveys, p1korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = -pvauhtiy - 1: If LeftKey() And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If RightKey() And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf 
    If BoxOverlap(p2x, p2y, p2leveys, p2korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = +pvauhtiy + 1
               
    px + pvauhtix
    py + pvauhtiy
    
    If p1x < 0 Then p1x = 0
    If p1x > 200 - p1leveys Then p1x = 200 - p1leveys

    If p2x < 0 Then p2x = 0
    If p2x > 200 - p2leveys Then p2x = 200 - p2leveys
 
               
    If px > 200 - phalkaisija Then pvauhtix = -pvauhtix
    If px < 0 Then pvauhtix = +pvauhtix
                   
    If py > 200 - phalkaisija Then pvauhtiy = -pvauhtiy : p2pisteet + 1 : Goto alku2
    If py < 0 Then pvauhtiy = +pvauhtiy  : p1pisteet + 1 : Goto alku2

    If p1pisteet = 5 Then 
        Text 20,90,"Pelaaja 1 voitti"
        Goto valikko
    EndIf    
    If p2pisteet = 5 Then 
        Text 20,90,"Pelaaja 2 voitti"
        Goto valikko
    EndIf    
    
    If pvauhtix > 8 Then pvauhtix = 8
    If pvauhtiy > 8 Then pvauhtiy = 8
    
    SetWindow ""+p1pisteet+":"+p2pisteet 

  DrawScreen 
Forever 
Image
Wingman
Devoted Member
Posts: 594
Joined: Tue Sep 30, 2008 4:30 pm
Location: Ruudun toisella puolella

Re: Pikku pelit

Post by Wingman »

Ilkka wrote:Teinpäs huvikseni pongin. (191 riviä) :lol:

Code: Select all

SCREEN 200,200
valikko:
p1pisteet = 0
p2pisteet = 0
vali=1

Repeat

    If KeyHit(200) Then vali-1
    If KeyHit(208) Then vali+1
  
    Color 255,255,255
    Text 10,20,"Aloita yksinpeli"
    Text 10,50,"Aloita kaksinpeli"    
    Text 10,80,"Lopeta"
    
    If vali=1 Then 
        Color 255,0,0
        Text 10,20,"Aloita yksinpeli"
    EndIf    
    If vali=2 Then 
        Color 255,0,0
        Text 10,50,"Aloita kaksinpeli"
    EndIf 
        If vali=3 Then 
        Color 255,0,0
        Text 10,80,"Lopeta"
    EndIf 

    If vali=0 Then vali=1
    If vali=4 Then vali=3
    
    If vali=1 And KeyHit(28) Then Goto alku2
    If vali=2 And KeyHit(28) Then Goto alku
    If vali=3 And KeyHit(28) Then End
    
    Color 255,255,255
    Box 10,100,180,90,0
    Text 12,110,"Pelaaja 1 ohjaus sivu-"
    Text 12,130,"nuolista."
    Text 12,150,"Pelaaja 2 ohjaus A:sta"
    Text 12,170,"ja D:stä."
    
    SetWindow "Pong"
    
  DrawScreen 
Forever 



alku:

phalkaisija = 5
pvauhtix = Rand(-2,2)
pvauhtiy = Rand(-2,2)
px = 100 - phalkaisija / 2
py = 100 - phalkaisija / 2

If pvauhtix = 0 Then pvauhtix = 1
If pvauhtiy = 0 Then pvauhtiy = -1 

p1leveys = 45
p1korkeus = 5
p1x = 100 - p1leveys / 2
p1y = 190

p2leveys = 45
p2korkeus = 5
p2x = 100 - p1leveys / 2
p2y = 10

Repeat

    Color 255,0,0
    Box p1x, p1y, p1leveys, p1korkeus
    
    Color 0,255,0
    Box p2x, p2y, p2leveys, p2korkeus   
    
    Color 255,255,255
    Circle px, py, phalkaisija 
               
    If LeftKey() Then p1x - 2
    If RightKey() Then p1x + 2
    If KeyDown(30) Then p2x - 2
    If KeyDown(32) Then p2x + 2
                
    If BoxOverlap(p1x, p1y, p1leveys, p1korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = -pvauhtiy - 1 : If LeftKey() And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If RightKey() And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf 
    If BoxOverlap(p2x, p2y, p2leveys, p2korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = +pvauhtiy + 1: If KeyDown(30) And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If KeyDown(32) And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf 
               
    px + pvauhtix
    py + pvauhtiy
    
    If p1x < 0 Then p1x = 0
    If p1x > 200 - p1leveys Then p1x = 200 - p1leveys

    If p2x < 0 Then p2x = 0
    If p2x > 200 - p2leveys Then p2x = 200 - p2leveys
 
               
    If px > 200 - phalkaisija Then pvauhtix = -pvauhtix
    If px < 0 Then pvauhtix = +pvauhtix
                   
    If py > 200 - phalkaisija Then pvauhtiy = -pvauhtiy : p2pisteet + 1 : Goto alku
    If py < 0 Then pvauhtiy = +pvauhtiy  : p1pisteet + 1 : Goto alku

    If p1pisteet = 5 Then 
        Text 20,90,"Pelaaja 1 voitti"
    EndIf    
    If p2pisteet = 5 Then 
        Text 20,90,"Pelaaja 2 voitti"
    EndIf    
     
    SetWindow ""+p1pisteet+":"+p2pisteet 

  DrawScreen 
Forever 

alku2:

phalkaisija = 5
pvauhtix = Rand(-2,2)
pvauhtiy = Rand(-2,2)
px = 100 - phalkaisija / 2
py = 100 - phalkaisija / 2

If pvauhtix = 0 Then pvauhtix = 1
If pvauhtiy = 0 Then pvauhtiy = -1 

p1leveys = 45
p1korkeus = 5
p1x = 100 - p1leveys / 2
p1y = 190

p2leveys = 45
p2korkeus = 5
p2x = 100 - p1leveys / 2
p2y = 10

Repeat

    Color 255,0,0
    Box p1x, p1y, p1leveys, p1korkeus
    
    Color 0,255,0
    Box p2x, p2y, p2leveys, p2korkeus   
    
    Color 255,255,255
    Circle px, py, phalkaisija 
               
    If LeftKey() Then p1x - 2
    If RightKey() Then p1x + 2
    
    If px > p2x + p2leveys / 2 Then p2x + 2
    If px < p2x + p2leveys / 2 Then p2x - 2
                
    If BoxOverlap(p1x, p1y, p1leveys, p1korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = -pvauhtiy - 1: If LeftKey() And pvauhtix = -pvauhtix Then pvauhtix - 1: EndIf: If RightKey() And pvauhtix = +pvauhtix Then pvauhtix + 1: EndIf 
    If BoxOverlap(p2x, p2y, p2leveys, p2korkeus, px, py, phalkaisija, phalkaisija) Then pvauhtiy = +pvauhtiy + 1
               
    px + pvauhtix
    py + pvauhtiy
    
    If p1x < 0 Then p1x = 0
    If p1x > 200 - p1leveys Then p1x = 200 - p1leveys

    If p2x < 0 Then p2x = 0
    If p2x > 200 - p2leveys Then p2x = 200 - p2leveys
 
               
    If px > 200 - phalkaisija Then pvauhtix = -pvauhtix
    If px < 0 Then pvauhtix = +pvauhtix
                   
    If py > 200 - phalkaisija Then pvauhtiy = -pvauhtiy : p2pisteet + 1 : Goto alku2
    If py < 0 Then pvauhtiy = +pvauhtiy  : p1pisteet + 1 : Goto alku2

    If p1pisteet = 5 Then 
        Text 20,90,"Pelaaja 1 voitti"
        Goto valikko
    EndIf    
    If p2pisteet = 5 Then 
        Text 20,90,"Pelaaja 2 voitti"
        Goto valikko
    EndIf    
    
    If pvauhtix > 8 Then pvauhtix = 8
    If pvauhtiy > 8 Then pvauhtiy = 8
    
    SetWindow ""+p1pisteet+":"+p2pisteet 

  DrawScreen 
Forever 
ihan hieno pong, pallo nopeutuu ehkä vähän liian nopeasti... eikä lopussa näkynyt tekstejä voittajasta (puuttuu drawscreen ennen gotoa). Mutta hieno pong on.
- - - -
Peto
Newcomer
Posts: 3
Joined: Sat Jun 05, 2010 10:34 pm

Re: Pikku pelit

Post by Peto »

85 spider wrote:Tein tämmösen pikku pelin jossa pitää väistellä hiirellä laatikoita.
väistä laatikko.zip
Joo eli putkiaivotesteri on kyseessä.
Post Reply