Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: Tyhmät kysymykset

Post by Jonhu »

rami123 wrote:mav tulee heti kun aloittaa..
Joo no käytä vanhaa versiota sitten, jonka sait toimimaan..

Tuossa ei ollut juuri muuta eroa kuin
1. If reload = 0 And ammukset>0 And ase<>0 Then
2.

Code: Select all

    
If ase=0  Then     
        CloneObjectPosition miekkaase,pelaaja //tämä rivi oli unohtunut
        miekkaangle = WrapAngle(miekkaangle + (KeyDown(cbkeyA)-KeyDown(cbkeyD)) * 10 )
        RotateObject miekkaase, miekkaangle + ObjectAngle(pelaaja)
EndIf
Tekeillä pikkupelejä ja ohjelmia :)
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 »

mavi on nyt pois otin alieni kohdan vanhasta koodista.
miksi aseet on hitaita? ampuminen on todella hidasta , aseenvaihto hidasta , miekka ei pysy pelaajassa kiinni?
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: Tyhmät kysymykset

Post by Jonhu »

rami123 wrote:mavi on nyt pois otin alieni kohdan vanhasta koodista.
miksi aseet on hitaita? ampuminen on todella hidasta , aseenvaihto hidasta , miekka ei pysy pelaajassa kiinni?
Hitaus johtuu Objektien jatkuvasta luomisesta. Sinun tulisi luoda objecteja vain näyttöruudun lähettyville eikä koko kartalle. Alla olevan koodipätkän muutoksen lisäksi sinun tulisi muuttaa luomisnopeutta hitaammaksi (huomaat sen varmasti pelissä).

Code: Select all

PositionObject newAlien\obj,Rand(-1600,1000),Rand(1600,-1000)
-->
ScreenPositionObject newAlien\obj,Rand(0,screenwidth()),Rand(0,screenheight())
Aseiden hidas vaihtaminen johtuu edellisestä asiasta sekä paintobject-komennosta. Paintobject-komentoa kannattaa käyttää vain pienillä kuvilla.. Tämän komennon voi kiertää lataamalla objectit heti alussa muistiin eri variaatioilla..

Voit muuttaa miekan sijainia, että se olisi sopiva vaikkapa komennolla:

Code: Select all

PositionObject miekkaase, ObjectX(pelaaja)+lisäysX_suunnassa, ObjectY(pelaaja)+lisäys_Y_suunnassa
Tekeillä pikkupelejä ja ohjelmia :)
Emphii
Newcomer
Posts: 3
Joined: Sat Jan 03, 2009 7:27 pm
Location: Kyrsklätt, eli Kirkkis

Re: Tyhmät kysymykset

Post by Emphii »

Sepi wrote:

Code: Select all

riveja=2

Dim kentta(riveja,riveja,3)
'kuva
'x
'y
'vapaako

ClsColor 56,30,30

kentta(0,0,1)=50
kentta(1,0,1)=80
kentta(2,0,1)=110

kentta(0,1,1)=50
kentta(1,1,1)=80
kentta(2,1,1)=110

kentta(0,2,1)=50
kentta(1,2,1)=80
kentta(2,2,1)=110

kentta(0,0,2)=50
kentta(1,0,2)=50
kentta(2,0,2)=50

kentta(0,1,2)=80
kentta(1,1,2)=80
kentta(2,1,2)=80

kentta(0,2,2)=110
kentta(1,2,2)=110
kentta(2,2,2)=110


DefaultMask ON,cbmagenta
tyhja=LoadImage("media\tyhja.png")
risti=LoadImage("media\risti.png")
nolla=LoadImage("media\nolla.png")



For s=0 To riveja
For g=0 To riveja

kentta(s,g,0)=tyhja

Next g
Next s


vuoro=1

hiiri=MakeImage(1,1)

Repeat
For s=0 To 2
For g=0 To 2

If kentta(s,g,3)=1 Then kentta(s,g,0)=risti
If kentta(s,g,3)=2 Then kentta(s,g,0)=nolla
DrawImage kentta(s,g,0),kentta(s,g,1),kentta(s,g,2)


If  ImagesOverlap(hiiri,MouseX(),MouseY(),kentta(s,g,0),kentta(s,g,1),kentta(s,g,2)) And MouseHit(1) Then

kentta(s,g,3)=vuoro

If vuoro=1 Then
 vuoro=2
Else
vuoro=1
EndIf
ClearMouse
EndIf


For d=1 To 2
If kentta(s,g,3)=d And kentta(s+1,g,3)=d And kentta(s+2,g,3)=d Then voittaja=d 'vaaka
If kentta(s,g,3)=d And kentta(s,g+1,3)=d And kentta(s,g+2,3)=d Then voittaja=d 'pysty

If g>1 then 
If kentta(s,g,3)=d And kentta(s+1,g-1,3)=d And kentta(s+2,g-2,3)=d Then voittaja=d 'vino1
EndIf


If kentta(s,g,3)=d And kentta(s+1,g+1,3)=d And kentta(s+2,g+2,3)=d Then voittaja=d 'vino2


Next d


Next g
Next s

If voittaja<>0 Then 
Text 0,0,"Voittaja pelaaja "+voittaja

EndIf

DrawScreen

Forever

Elikkäs tuossa koodissa jonka olisi tarkoitus olla ristinollapeli, on semmonen ropleema että tuo pystyrivi hommeli kusee sen verran että tietyssä tapauksessa se antaa voittajan, vaikka ei pitäisi:

#X#
#X#
X##

Elikkä tuolla lailla kun on merkit asetettu (X:t siis merkkejä) niin koodi luulee tuon olevan pystyrivi, vaikka niin ei tietystikään ole. Osaisiko joku auttaa?

Njoo.. Postasin tämän vain nopeasti tänne jos joku vaikka nopealla vilkaisulla sattuisi löytämään virheen. Mediaa en jaksanut lähteä muuttamaan sillä tuon koodin ajamisesta ei oikeastaan hyötyisi mitään eikä kukaan varmaan saisi siltikään siitä selvää jos ruudukon tilalla olisi vaikkapa tatti ja nollan tilalla vaikkapa car2.bmp. Mutta ei tämä niin elintärkeä koodinpätkä ole.
Kokeiles tällä. En jaksa kokeilla kaikkia variaatioita, mutta pitäisi toimia.
Erona: Laitoin voittorivin ettimisen omaan funktioon ja voittaja tutkitaan jo klikkauksen jälkeen.

Code: Select all

riveja=2

Dim kentta(riveja,riveja,3)
'kuva
'x
'y
'vapaako

ClsColor 56,30,30

kentta(0,0,1)=50
kentta(1,0,1)=80
kentta(2,0,1)=110

kentta(0,1,1)=50
kentta(1,1,1)=80
kentta(2,1,1)=110

kentta(0,2,1)=50
kentta(1,2,1)=80
kentta(2,2,1)=110

kentta(0,0,2)=50
kentta(1,0,2)=50
kentta(2,0,2)=50

kentta(0,1,2)=80
kentta(1,1,2)=80
kentta(2,1,2)=80

kentta(0,2,2)=110
kentta(1,2,2)=110
kentta(2,2,2)=110

DefaultMask ON,cbmagenta
'tyhja=LoadImage("media\tyhja.png")
'risti=LoadImage("media\risti.png")
'nolla=LoadImage("media\nolla.png")
tyhja=MakeImage(10,10)
risti=MakeImage(10,10)
nolla=MakeImage(10,10)
DrawToImage risti
Text 0,0,"X"
DrawToImage nolla
Text 0,0,"0"
DrawToScreen

For s=0 To riveja
    For g=0 To riveja
        kentta(s,g,0)=tyhja
    Next g
Next s

vuoro=1
hiiri=MakeImage(1,1)

Repeat
    For s=0 To 2
        For g=0 To 2
            If kentta(s,g,3)=1 Then kentta(s,g,0)=risti
            If kentta(s,g,3)=2 Then kentta(s,g,0)=nolla
            DrawImage kentta(s,g,0),kentta(s,g,1),kentta(s,g,2)
            If ImagesOverlap(hiiri,MouseX(),MouseY(),kentta(s,g,0),kentta(s,g,1),kentta(s,g,2)) And MouseHit(1) Then
            kentta(s,g,3)=vuoro
            voittaja=voittorivi(vuoro)
            siirrot+1
            If vuoro=1 Then
                vuoro=2
            Else
                vuoro=1
            EndIf
            ClearMouse
            EndIf
        Next g
    Next s
    Text 0,0,siirrot
    DrawScreen
    If voittaja>0 Or siirrot=9 Then Exit
Forever
Repeat
    If voittaja>0
        Text 0,0,"Voittaja pelaaja "+voittaja
    Else
        Text 0,0,"Tasapeli"
    EndIf
    DrawScreen
Until EscapeKey()

Function voittorivi(vuoro)
    voittaja=0
    For p=0 To 2
        If kentta(0,p,3)=vuoro And kentta(1,p,3)=vuoro And kentta(2,p,3)=vuoro Then voittaja=vuoro 'vaaka
        If kentta(p,0,3)=vuoro And kentta(p,1,3)=vuoro And kentta(p,2,3)=vuoro Then voittaja=vuoro 'pysty
    Next p
    If kentta(0,0,3)=vuoro And kentta(1,1,3)=vuoro And kentta(2,2,3)=vuoro Then voittaja=vuoro 'vino1
    If kentta(0,2,3)=vuoro And kentta(1,1,3)=vuoro And kentta(2,0,3)=vuoro Then voittaja=vuoro 'vino2
    Return voittaja
End Function
EDT: Niinno.. Toi suoraviivasesti tohon 3-riviseen. Jos teet useampi rivisen, sun on improvisoitava.. =)
--
/tmp.
Boxi
Newcomer
Posts: 15
Joined: Wed Aug 06, 2008 9:51 pm

Re: Tyhmät kysymykset

Post by Boxi »

Jos minulla on kloonattuja vihollisia ja kloonattuja ammuksia niin miten saan tehtyä niin että jos yksi kloonattu ammus kohtaa yhden kloonatun vihollisen, niin molemmat tuhoutuisivat ilman kuitenkaan että se vaikuttaisi muihin kloonattuihin vihollisiin / ammuksiin?

Tai ylipäätänsä miten voin tuhota kloonatun objektin? Koitin deleteobject komentoa mutten saanut toimimaan.
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: Tyhmät kysymykset

Post by Jonhu »

Boxi wrote:Jos minulla on kloonattuja vihollisia ja kloonattuja ammuksia niin miten saan tehtyä niin että jos yksi kloonattu ammus kohtaa yhden kloonatun vihollisen, niin molemmat tuhoutuisivat ilman kuitenkaan että se vaikuttaisi muihin kloonattuihin vihollisiin / ammuksiin?

Tai ylipäätänsä miten voin tuhota kloonatun objektin? Koitin deleteobject komentoa mutten saanut toimimaan.

esimerkistä muokattuna:

Code: Select all

Type AMMUS 'luo kokoelma, jonka nimi on AMMUS
    Field obj 'yksi kenttä nimeltään 'obj'
End Type 

Type VIHU
    Field obj 'yksi kenttä nimeltään 'obj'
End Type 

FrameLimit 40 'rajoita nopeutta

kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1

ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
vih=LoadObject ("Media\guy.bmp",72)

ShowObject vih, OFF
ShowObject pati,OFF

SetupCollision ukko, kartta, 1, 4, 2
AddText "Nuolista ohjaa, CTRL=ampuu"

//tehdään vihuja
For a=1 To 20
    //luodaan uusi objecti
    aa.VIHU = New(VIHU)
    
    // kopioidaan objecti
    aa\obj = CloneObject(vih)
    
    //asetetaan törmäys karttaan
    SetupCollision vih, kartta, 1, 4, 2
    
    PositionObject aa\obj, Rand(-200,200), Rand(-300,300)
Next a

Repeat

    'Ohjaa ukkoa NUOLILLA
    If LeftKey() Then TurnObject ukko,5
    If RightKey() Then TurnObject ukko,-5
    If UpKey() Then MoveObject ukko,2
    If DownKey() Then MoveObject ukko,-2    

    'Ammu-systeemi. Vain, jos ase on ladattu
    If KeyDown(cbKeyRControl) And reload=0 Then    
        luoti.AMMUS = New(AMMUS) 'luo uusi ammus
        luoti\obj=CloneObject(pati) 'tee klooni
        'asetetaan pati samaan paikkaan
        CloneObjectPosition luoti\obj,ukko                
        'käännetään pati samaan suuntaan
        CloneObjectOrientation luoti\obj,ukko            
        reload=5 'aseen lataus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1

    'Päivitä kaikki ammukset
    For luoti.AMMUS = Each AMMUS
        //liikutetaan ammusta
        MoveObject luoti\obj,6
        
        // Jos luoti osuu  kartan törmäskerrokseen
        If GetMap(2,ObjectX(luoti\obj),ObjectY(luoti\obj)) Then delet=ON
        
        // jos luoti osuu toiseen ukkoon
        For aa.VIHU = Each VIHU
            If ObjectsOverlap(aa\obj, luoti\obj) Then 
            
                DeleteObject aa\obj //poistetaan vihu
                Delete aa // poistetaan vihun muuttuja
                //asetetaan luoti poistettavaksi
                delet=ON 
            EndIf
        Next aa
        
        If delet=ON
            DeleteObject luoti\obj 'poista objekti
            Delete luoti 'poista luoti kokonaan
            delet= OFF
        EndIf        
    Next luoti
    
    UpdateGame
    
    CloneCameraPosition ukko
    
    'tämä ennen muuta grafiikkaa (box)
    DrawGame
 
    
    DrawScreen

Until EscapeKey()
Tekeillä pikkupelejä ja ohjelmia :)
kemp250
Newcomer
Posts: 24
Joined: Fri Nov 14, 2008 5:39 pm
Location: En voi kertoa. He voivat kuunnella meitä.

Re: Tyhmät kysymykset

Post by kemp250 »

onko mahdollista kääntää objekti osoittamaan imageen? Pointobjectillä ei tunnu toimivan, enkä keksi ratkaisua :oops:
"Working" for GameTailors.

Projektit:
Tower Climber, 23%
Avaruusjalkkisjuttu jossa ei ole jalkoja eikä palloja, 19%

I have been using coolbasic many years. I just fail a lot.
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Code: Select all


Global angle#

DrawToWorld ON,ON

img=LoadImage("media\guy.bmp")
obj=LoadObject("media\guy.bmp",72)

imgx=30
imgy=30

Repeat

If LeftKey() Then imgx-1
If RightKey() Then imgx+1
If UpKey() Then imgy-1
If DownKey() Then imgy+1

DrawImage img,imgx,imgy

PointObjectToImg(obj,img,imgx,imgy)

DrawScreen
Forever

Function PointObjectToImg(obj,img,imgx,imgy)

angle#=GetAngle(ObjectX(obj),ObjectY(obj),imgx+ImageWidth(img)/2,-(imgy+ImageHeight(img)/2))
'Katso manuaalista tuon funcktion käyttö ohjeet

RotateObject obj,-angle#
'käännetään objektia

EndFunction

Tuo toimii.
Image
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: Tyhmät kysymykset

Post by Jonhu »

Tässä vielä toinen.. Sisäänkirjautuminen Kesti 5min, niin Phons ehti ensin :roll:

EDIT: Tämä functio toimii siis näytön koordinaateissa, eikä se tee tästä mielestäni parempaa kuin Phonsin.
Näin saa maailmakoordinaatit näytön koordinaateiksi:

Code: Select all

paikkax = ObjectX(obj) + ScreenWidth()/2
paikkay = ScreenHeight()/2 - ObjectY(obj)

Code: Select all

'lataa pelihahmo
ukko_obj = LoadObject("Media\guy.bmp", 72)
ukko_img = LoadImage("Media\guy.bmp")

ukkoX=100
ukkoY=100

Repeat 'pääsilmukan alku

    UkkoX=MouseX()
    UkkoY=MouseY()

    Pointobject2(Ukko_obj,Ukko_img,UkkoX,ukkoY)

    DrawImage Ukko_img,UkkoX,ukkoY
    
    DrawScreen

Forever

Function Pointobject2(obj,img,imgX,imgY)
    RotateObject obj, GetAngle( ObjectX(obj) + ScreenWidth()/2,ScreenHeight()/2 - ObjectY(obj),imgX + ImageWidth(img)/2,imgY + ImageHeight(img)/2 )
EndFunction

Last edited by Jonhu on Tue Feb 17, 2009 7:08 pm, edited 1 time in total.
Tekeillä pikkupelejä ja ohjelmia :)
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Njoo tuo on siksees parempi että ei tarvii pistää DrawToWorld OFF,ON.

Itse kun en tiennyt miten tekisin sen ilman sitä... Tällä kertaa avasin editorin ja tein sen ensin siihen mitä en tee kovin usein...
Image
Tuxu
Member
Posts: 81
Joined: Tue Oct 14, 2008 5:54 pm
Location: Jyväskylä
Contact:

Re: Tyhmät kysymykset

Post by Tuxu »

Nyt muuten tuli mielenkiintoinen "bugi". Tiedä sitten mistä johtuu.

Pelini on sivulta kuvatta räiskintä(tyyliin liero). Siinä voi hyppiä ylänuolesta, liikkua sivuille sivunuolista ja ampua spacesta. Peli toimii erittäin hyvin. Siinä ei ilmene bugeja.

Noh, sitten huomasin jotain perin kummaa. Jos painat VASENTA sivunuolta, ylöspäin nuolta ja spacea samaan aikaa(eli hyppäät, liikut sivulle ja ammut) niin ammunta EI toimi! MUTTA jos painat OIKEAA sivunuolta, ylöspäin nuolta ja spacea samaan aikaan niin silloin ammunta toimii!

Outoa? En edes odota tälle vastausta, koska niin kumma juttu on kyseessä. Sama juttu käy muunlaisissakin testikoodeissa. Eli VASEN+YLÖS+SPACE = SPACE ei toimi. OIKEA+YLÖS+SPACE = kaikki toimii. Koodissa siis vika ei ilmeisesti pitäisi olla, vaan onkohan tämä joku näppäimistö bugi? Pitänee testata vielä toisella koneella....

Edit. Niin ja jos vaihdan tuon Spacen tilalle vaikka ctrl:n, niin silloinkin toimii koko homma. Että sillee.
aivot pohtii ja raksuttaa
TuxuGames | Projektiblogi
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Tyhmät kysymykset

Post by Koodiapina »

Olethan varma, ettei koodissasi ole seuraavanlaista:

Code: Select all

if <näppäin alhaalla>
  tee sitä sun tätä
elseif <näppäin alhaalla>
  tee sitä sun tätä
Silloinhan jos tuo ensimmäinen toteutuu, toista ei edes tarkisteta.
Tuxu
Member
Posts: 81
Joined: Tue Oct 14, 2008 5:54 pm
Location: Jyväskylä
Contact:

Re: Tyhmät kysymykset

Post by Tuxu »

Ei ole. Koska siis Oikea+ylös+space, niin space toimii. Ja Vasen+ylös+space= ei toimi space. Lisäksi kuten jo sanoin, jos tuon vaihtaa vaikka Space --> J-kirjaimeksi, niin silloin toimii moitteetta sekä vasemman, että oikean kanssa.

Ja mikä mystisintä, testasin ohjelmaa toisella koneella ja sama tulos!(toisessa koneessa XP, toisessa Vista, toinen pöytäkone, toinen kannettava) Vasen+ylös+space ei toimi, mutta oikealla sitte toimii :--P

Tässä sitten vähän selvittämistä. :P

Ei tuo nyt mikään paha bugi ole, mutta satuin vaan huomaamaan...
aivot pohtii ja raksuttaa
TuxuGames | Projektiblogi
m1c
Member
Posts: 65
Joined: Tue Aug 28, 2007 5:10 pm
Location: \o

Re: Tyhmät kysymykset

Post by m1c »

Johtuu todennäköisesti näppäimistöstä. Etenkin halvemmat näppikset eivät pysty vastaanottamaan kovin monia painalluksia samanaikaisesti. Yksittäisiltä näppäimiltä ei mene piuhoja ojainpiirille vaan useampi näppäin on samojen piuhojen takana, ja johdotuksesta riippuen joitakin näppäimiä voi painaa samanaikaisesti kun toisia taas ei. Varsinaista ratkaisua ei ole, kuin kokeilla todiaan muita näppäimiä, mutta tämä on tietysti aivan mallikohtaista. Usein kauempana toisistaan olevat näppäimet kuitenkin toimivat samanaikaisesti.
EDIT:

Jaahas, tämä näyttää olevankin itseasiassa windows-ongelma: http://www.kirupa.com/forum/showthread.php?t=313350

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

Re: Tyhmät kysymykset

Post by Tuxu »

m1c wrote:
EDIT:

Jaahas, tämä näyttää olevankin itseasiassa windows-ongelma: http://www.kirupa.com/forum/showthread.php?t=313350

No niin, tällähän tämä selvisi. Kiitos. :--)
Vaihdan tuon spacen sitten joksikin muuksi näppäimeksi...
aivot pohtii ja raksuttaa
TuxuGames | Projektiblogi
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 »

mitenkä tekisi koodit peliin?

esim:

kirjoittaa lol

niin

+100hp

esimerkkiä?

ja mitenkä saan nää napit toimimaan videon kanssa?
pysäytysnapin kanssa tulee mavi
ja toi jatkamis nappiki ei toimi

Code: Select all

juoni:
ClearObjects
ClearText
ClearKeys

video = PlayAnimation ("intro.wmv")
lopeta = LoadObject ("lopeta.png")
jatka = LoadObject ("jatka.png")
hiiri = LoadObject ("tähtäin.png")
klikkaus = LoadSound("sword.ogg")
Repeat

    DrawAnimation video
    
    
    PositionObject hiiri,MouseWX(),MouseWY()
ShowMouse OFF
    
   
    
    PositionObject lopeta ,200,100
    PositionObject jatka ,200,250


     
  If KeyHit (cbkeyspace) Then Goto valikko
  If ObjectsOverlap (hiiri,lopeta) And MouseHit(1) Then StopAnimation video  //tämän tarkoitus on pysäyttää video?
  If ObjectsOverlap (hiiri,jatka) And MouseHit (1) Then DrawAnimation video //tämän tarkoitus on soittaa video

DrawScreen
Forever
EDIT:

Kiitos jonhu! :P

Last edited by rami123 on Sat Feb 21, 2009 2:56 pm, edited 1 time in total.
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: Tyhmät kysymykset

Post by Jonhu »

Tässä esimerkki koodeista:

Code: Select all

FrameLimit 40 'rajoita nopeutta

kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,1

ukko = LoadObject ("Media\guy.bmp",72)

SetupCollision ukko, kartta, 1, 4, 2
AddText "Paina entter ja kirjota lol"

Repeat

    'Ukon ohjaus
    If LeftKey() Then TurnObject ukko,5
    If RightKey() Then TurnObject ukko,-5
    If UpKey() Then MoveObject ukko,2
    If DownKey() Then MoveObject ukko,-2
    
    UpdateGame

    CloneCameraPosition ukko
    
    DrawGame
    
    If KeyHit(28) Then  ' entter
    
        If kirjotus = 1 Then 
            CloseInput
            If msg$="lol" Then hp+100
        Else
            ClearKeys 
        EndIf
        
        kirjotus = Not kirjotus
        
    EndIf
    
    If kirjotus=1 Then
        Locate 0,20
        msg$ = Input(">>")
    EndIf
      
        
    Text 300,1,"HP: "+hp
    DrawScreen

Forever
Tekeillä pikkupelejä ja ohjelmia :)
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Nyt on iso ongelma edessä... Haluan tehdä typeillä vihuija ja niille ammuksia, miten? Olen yrttänyt että kaikkia olsii samassa vihu tyypissä, mutta ongelmana on ette ammusta voi silloin liikuttaa eteenpäin, tai voi mutta ei niin että se liikkuisi kokoajan. Jos taasa teen ammuksille että vihuilla omat tyypit niin sitten ammukset menee sekaisin vihujn kanssa, esim. jos haluan laskea että jos ammus menee 500 pikselin päähän vihusta niin sitten tuhotaan niin tottakai se laskee sen joksisesta vihusta ja ammus tuhoutuu heti. Understand?
Image
DatsuniG
Advanced Member
Posts: 367
Joined: Fri Aug 15, 2008 9:57 pm

Re: Tyhmät kysymykset

Post by DatsuniG »

Lisäät tyyppi kokoelmaan paikan mistä ammuttiin ja sen jälkeen tarkistelet onko panos liian kaukana siitä pisteestä.

Code: Select all

Type BULLETS
Field Obj
Field StartX
Field StartY
Endtype
Hengität nyt manuaalisesti.
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Tyhmät kysymykset

Post by tuhoojabotti »

DatsuniG wrote:Lisäät tyyppi kokoelmaan paikan mistä ammuttiin ja sen jälkeen tarkistelet onko panos liian kaukana siitä pisteestä.

Code: Select all

Type BULLETS
Field Obj
Field StartX
Field StartY
Endtype
tai jos vihu liikku. niin ehkäpä

Code: Select all

Type BULLETS
Field Obj
Field Owner // ampumis koodissa sitten b\Owner=enemy\Obj ja tarkistat läpikäydessä että if b\owner=e\obj then...
Endtype
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
Locked