Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

E.T. wrote:Sen voi tehdä esimerkiksi näin

Code: Select all

...koodia...
Kiitos.. Mutta miten sen saa takaisin samalla tavalla?
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset

Post by TheFish »

käännät tuon logiikan toisinpäin.
CoolBasic henkilökuntaa
Kehittäjä
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

TheFish wrote:käännät tuon logiikan toisinpäin.
ai siis...

Code: Select all

väri2=0

Repeat
    If väri2>0 Then väri2=väri2+1
    Color väri2,väri2,väri2
    Text 0,0,"tuleva teksti"
    DrawScreen
    
    i=i+1
    If i>5000 Then Exit
    
Forever
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset

Post by TheFish »

Jani wrote:
TheFish wrote:käännät tuon logiikan toisinpäin.
ai siis...

Code: Select all

väri2=0

Repeat
    If väri2>0 Then väri2=väri2+1
    Color väri2,väri2,väri2
    Text 0,0,"tuleva teksti"
    DrawScreen
    
    i=i+1
    If i>5000 Then Exit
    
Forever
Melkein. Vielä vaihdat tuon ehdon täksi:

Code: Select all

if väri2<255...
CoolBasic henkilökuntaa
Kehittäjä
=Joku=
Active Member
Posts: 184
Joined: Mon Aug 04, 2008 2:26 am

Re: Tyhmät kysymykset

Post by =Joku= »

Tässä tyhmin kysymys:
Miyä kaikkea Cb pyörittää?
Esim:
Kuva-formaatit
3D formaatit
ja äänet.
Ja toinen kysymys:
Super mario Kart Snes

Siinä on ripaus 3d ja miten olisi..
Voiko CB:ssä vetäää saman tapaisia hahmoja?

http://www.youtube.com/watch?v=oQEZao0i ... re=related

selvennyksiksi
*Poistunut foorumilta*
MAVmaggot
Advanced Member
Posts: 468
Joined: Fri Aug 31, 2007 10:18 pm
Location: bitspace

Re: Tyhmät kysymykset

Post by MAVmaggot »

Voihan cb:llä tehdä 3D:tä, ihan mitä vain, mutta on ainakin 2 ongelmaa; cb:ssä ei ole omia komentoja 3D:n luomiseen(vaatii paljon taitoa jos tekee itse) + hitaus joka tekee 3D:n cb:llä käytänössä mahdottomaksi. Eli en suosittele edes yrittämään.
rami123
Advanced Member
Posts: 354
Joined: Mon Jun 23, 2008 8:20 pm
Location: Kittilä

Re: Tyhmät kysymykset

Post by rami123 »

nevssons wrote:
rami123 wrote:eli miten noi sijoitetaan ?
Poistat Thenin jälkeen olevat jutut ja lisäät nuo siihen alle.
ei toiminutvaikka tein noin?
kokeilkaa

Code: Select all

SCREEN 800,800
FrameLimit 40
SetWindow "Viikatemies1",0,"oletko varma?"

Type VIHOLLISET
    Field obj'objecti
    Field hp'energiat
    Field dmg'vahinko
    Field speed'nopeus
    Field score'pisteet
    Field id'minkälainen zombie on
    Field reload
    Field shooting 
End Type
       
Type BULLETS
    Field obj
    Field hp
    Field dmg
    Field speed
    Field id
End Type

Type ENEMY_BULLETS
    Field obj
    Field hp
    Field dmg
    Field speed
    Field id
End Type
       
Type upgs'asepäivitykset
    Field obj
    Field hp
    Field id
EndType

/////////////////////////////////////////////////////////////////

valikko:

ClearText

kuva = LoadImage ("media\map.bmp")
uusi = LoadObject("media\buttoni.bmp")
PositionObject uusi,150,30
poistu = LoadObject("media\buttoni.bmp")
PositionObject poistu,-150,-30
ohjeet = LoadObject("media\buttoni.bmp")
PositionObject ohjeet,-200,200   
hiiri = LoadObject("media\cursor.bmp")
     
ClearText   


Repeat

    DrawImage kuva,0,0

    PositionObject hiiri,MouseWX(),MouseWY()
    ShowMouse OFF

    If ObjectsOverlap(hiiri,uusi) And MouseHit(1) Then Goto alkutekstit
    If ObjectsOverlap (hiiri,poistu) And MouseHit(1) Then End
    If ObjectsOverlap (hiiri,ohjeet) And MouseHit(1) Then Goto ohjeet

    ClearText

    DrawScreen
Forever

/////////////////////////////////////////////////////////////////

ohjeet:

arial=LoadFont("arial",20)

Repeat
   
    DrawImage kuva,0,0
    ClearObjects

    Color cbred
    SetFont arial
    Text 1,1,"OHJEET PELAAMISEEN"
    Text 1,50,"W kävellään eteenpäin"
    Text 1,100,"S kävellään taaksepäin"
    Text 1,150,"A liikutetaan viikatetta"
    Text 1,200,"D liikutetaan viikatetta"
    Text 1,250,"Hiiren oikealla ammutaan"
    Text 1,300,"Hiirellä käännetään ukkoa"
    Text 1,350,"I avataan inventory"
    Text 1,400,"Punaiset Pullot parantavat"
    Text 1,450,"Siniset Pullot lisäävät voimaa"
    Text 1,500,"Vihreät Pullot lisäävät nopeutta"
    Text 1,550,"Peli pysäytetään P:llä"
    Color cbblack
    Text 1,600,"Paina Enteriä niin pääset valikkoon takaisin"

    If KeyDown (28) Then Goto valikko Then ClearText ' 28 = enter

    DrawScreen
Forever

/////////////////////////////////////////////////////////////////

alkutekstit:

ClearObjects 'poistaa valikon kuvat
     
plusx = 1
arial=LoadFont("arial",20)
kuva2= LoadImage ("media\map.bmp")

Repeat

    DrawImage kuva2,0,0

    Color cbWhite
    Text x,150,"Tämä teksti pitää kirjoittaa joka kerta"
       
    SetFont arial
    Color cbRed
    Text 100,750,"Enteristä pääset peliin"
       
    If KeyHit(28) Then
        DeleteFont arial
        Goto peli '28 = enter
    EndIf

    DrawScreen
Forever
             
/////////////peli alkaa tästä////////////////////////////////////       
'->       
peli:

ClearText

kartta = LoadMap("Media\testmap.til","Media\tileset.bmp")
kartta2 = LoadMap("Media\cdm2.til","Media\tileset.bmp")

ukko = LoadObject ("media\guy.bmp",72)
SetupCollision ukko, kartta, 1, 4, 2
PositionObject ukko,150,200
RotateObject ukko,270
bullet=LoadObject("media\bigbullet.bmp",72)
ShowObject bullet,OFF

vihu1 = LoadObject ("media\ukkeli.bmp",72)     : ShowObject vihu1,OFF
vihu2 = LoadObject ("media\ukkeli2.bmp",72)     : ShowObject vihu2,OFF
cow = LoadObject   ("media\ukkeli3.bmp",32) : ShowObject cow,OFF
upg=LoadObject     ("media\tatti.bmp")    : ShowObject upg,OFF
topower=LoadObject ("media\tatti.bmp")         : ShowObject topower,OFF
tospeed=LoadObject ("media\tatti.bmp")            : ShowObject tospeed,OFF
medikit=LoadObject ("media\tatti.bmp")            : ShowObject medikit,OFF

viikate = LoadObject("media\cannon.bmp",18)
hiiri = LoadObject("media\cursor.bmp")

CloneObjectPosition viikate,ukko
RotateObject viikate, viikateangle + ObjectAngle(ukko)

box1 = LoadImage ("media\buttoni.bmp")
box2 = LoadImage ("media\buttoni.bmp")


hp=2000'sinun energiat
powupg=12'Aseen aloitus teho
speedupg=5'aseen aloitus nopeus
tapot=0

Repeat
   
    PositionObject hiiri,MouseWX(),MouseWY()'sijoitetaan tähtäin hiiten koordinaatteihin
   
    If pause Then
        PointObject ukko,hiiri'käännetään ukko tähtäimeen

        If hp>0 Then 'jos on energiaa niin suritetaan kaikki
            CloneCameraPosition ukko

            If KeyDown(17) Then MoveObject ukko,2' 17 = W
            If KeyDown(31) Then MoveObject ukko,-2' 31 =S

            If KeyDown(cbkeyA) Then viikateangle = wrapangle(viikateangle + 10)
            If KeyDown(cbkeyD) Then viikateangle = wrapangle(viikateangle - 10)

            CloneObjectPosition viikate,ukko
            RotateObject viikate, viikateangle + ObjectAngle(ukko)

            UpdateGame
            CloneCameraPosition ukko   

           

           
         



           
           
            'Ammu-systeemi. Vain, jos ase on ladattu
            If MouseHit (1) And reload<0
                newBullet.BULLETS= New(BULLETS)
                newBullet\obj=CloneObject(bullet)
                newbullet\dmg=powupg
                newbullet\speed=speedupg
                CloneObjectPosition newBullet\obj,ukko
                CloneObjectOrientation newbullet\obj,ukko
                MoveObject newBullet\obj,24
                reload=15
                SetupCollision newbullet\obj,kartta,1,4,2
            EndIf
            reload-1
            'Asepäivitykset''''''''''''''''''''''''''''''''
            If uusi>220
                newupg.upgS= New(upgS)'thdään uusi
                newupg\obj=CloneObject(upg)
                newupg\hp=100
                newupg\id=Rand(1,3)
                If Newupg\id=1 Then PaintObject newupg\obj,topower
                If Newupg\id=2 Then PaintObject Newupg\obj,tospeed
                If Newupg\id=3 Then PaintObject Newupg\obj,medikit
                'Asetetaan tavara kohtaan missä ei ole törmäystä
                For y=1 To MapWidth()
                    For x=1 To MapWidth()
                        If GetMap2(2,x,y)=0 Then PositionObject newupg\obj,Rand(-600,500),Rand(-600,600)
                    Next x
                Next y
           
                uusi=0
            EndIf
            uusi+1
            'zombit''''''''''''''''''''''''''''''''''''''''
            If luo>130'jos luonti on suurempi kuin 130, niin tehdään zombie
                newzombi.VIHOLLISET= New(VIHOLLISET)
                newzombi\obj=CloneObject(vihu1)
           
                'Asetetaan vihollinen kohtaan missä ei ole törmäystä
                For y=1 To MapWidth()
                    For x=1 To MapWidth()
                        If GetMap2(2,x,y)=0 Then PositionObject newzombi\obj,Rand(-600,500),Rand(-600,600)
                    Next x
                Next y
           
                newzombi\id=Rand(1,2)
                If newzombi\id = 1 Then 'Ykkös zombi
                    newzombi\hp=Rand(90,110):newzombi\dmg=Rand(1,3):newzombi\speed=Rand(2,3):newzombi\score=Rand(10,20)'Asetetaan zombielle kentät
                EndIf
                If newzombi\id = 2 Then 'kakkos zombi
                    PaintObject newzombi\obj,cow
                    newzombi\hp=Rand(110,130):newzombi\dmg=Rand(2,4):newzombi\speed=Rand(1,2):newzombi\score=Rand(15,25)'toiselle myös
                EndIf
                SetupCollision newzombi\obj,kartta,1,4,2
                luo=0          
            EndIf
            luo+1
            For izombi.VIHOLLISET= Each VIHOLLISET'Aloitetaan zombien läpikäynti
               
               
               'Typerä tekoäly
                If ObjectSight (izombi\obj,ukko) And izombi\reload<0 Then
                    MoveObject izombi\obj,0
                    PointObject izombi\obj,ukko       
                    newBullet2.ENEMY_BULLETS= New(ENEMY_BULLETS)
                    newBullet2\obj=CloneObject(bullet)
                    newbullet2\dmg=powupg
                    newbullet2\speed=speedupg
                    CloneObjectPosition newBullet2\obj,izombi\obj
                    CloneObjectOrientation newbullet2\obj,izombi\obj
                    MoveObject newBullet2\obj,24
                    izombi\reload=50
                    SetupCollision newbullet2\obj,kartta,1,4,2 
                EndIf
               
                sidle=Rand(-20,20)
                If CountCollisions(izombi\obj) Then MoveObject izombi\obj,0,sidle'jos kosketaan deinään, niin stepataan

                PointObject izombi\obj,ukko'zombi tähtää pelaajaan
                If ObjectsOverlap(izombi\obj,ukko) Then hp-izombi\dmg

                For ibullet.bullets=Each bullets
                    If ObjectsOverlap(ibullet\obj,izombi\obj) Then
                        izombi\hp-ibullet\dmg
                        ibullet\hp=-1
                    EndIf
                Next ibullet
       
                MoveObject izombi\obj,izombi\speed'liikutetaan zombia nopeutensa verran
                If ObjectsOverlap (viikate,izombi\obj) Then izombi\hp-1
                If izombi\hp<0 Then 'jos zombin energiat loppuu, niin tapetaan se ja annetaan pisteet
                    score+izombi\score
                    tapot=tapot+1
                    DeleteObject izombi\obj
                    Delete izombi
                EndIf
               
                izombi\reload-1
            Next izombi
           
            For iupg.upgS= Each upgS'aloitetaan kaikkien päivitysten käsittely
                If ObjectsOverlap(iupg\obj,ukko) Then iupg\hp=-1'jos törmätään niin tuhotaan tavara
                If iupg\hp<0 Then'jos tuhotaan tavara
                    If iupg\id=1 Then powupg+1'lisätään aseen tehoa
                    If iupg\id=1 Then speedupg+1'nopeutta
                    If iupg\id=3 Then hp+50'lisää energiaa
                    DeleteObject iupg\obj'poistetaan tavara
                    Delete iupg'ja sen jasen
                EndIf
            Next iupg
           
            For iBullet.BULLETS= Each BULLETS
                If CountCollisions(ibullet\obj) Then ibullet\hp-32
                MoveObject iBullet\obj,6'llikutetaan luotia
                If Distance2(iBullet\obj,ukko)>600 Or ibullet\hp<0 Then 'jos...niin tuhotaan ammus
                    DeleteObject iBullet\obj
                    Delete iBullet
                EndIf
            Next iBullet
           
            For eBullet.ENEMY_BULLETS = Each ENEMY_BULLETS
                If CountCollisions(ebullet\obj) Then ebullet\hp-32
                MoveObject eBullet\obj,6'llikutetaan luotia
                If Distance2(eBullet\obj,ukko)>600 Or ebullet\hp<0 Then 'jos...niin tuhotaan ammus                   
                   DeleteObject eBullet\obj
                   Delete eBullet                                   
                EndIf
            Next eBullet
           
        EndIf

        DrawGame
        
         DrawImage box1,300,0
If MouseX()>300 And MouseX()<300+ImageWidth(box1) And MouseY()>0 And MouseY()<ImageHeight(box1) And MouseHit(1) Then End 

       DrawImage box2,300,40
If MouseX()>300 And MouseX()<300+ImageWidth(box2) And MouseY()>40 And MouseY()<40+ImageHeight(box2) And MouseHit(1) Then 
 hp+50
  score-50
  if not score=50 Then
    hp-0
    score-0
  EndIf
EndIf
         Text 0,0,"FPS"
         Text 30,0, FPS() 

          Color cbred
          Text 45,13,Date()
          Text 45,25,Time()  'kello
         
        Text 150,15,"HP "+hp
        Text 150,30,"Pisteet "+score
        Text 150,0,"tappojen määrä "+tapot

        If hp<0 Then MakeError ("KUOLIT!")   
       
    Else
        DrawGame
        Text 0,0,"Paina P:tä niin pause pois"
    EndIf
   
    If KeyUp(cbkeyP) Then pause = Not pause
     
    DrawScreen
Forever   
nevssons
Devoted Member
Posts: 503
Joined: Sun Jan 13, 2008 5:02 pm

Re: Tyhmät kysymykset

Post by nevssons »

rami123 wrote:
nevssons wrote:
rami123 wrote:eli miten noi sijoitetaan ?
Poistat Thenin jälkeen olevat jutut ja lisäät nuo siihen alle.
ei toiminutvaikka tein noin?
teitkö näin:

Code: Select all

If MouseX()>300 And MouseX()<300+ImageWidth(box2) And MouseY()>40 And MouseY()<40+ImageHeight(box2) And MouseHit(1) Then
 hp+50
  score-50 
  if not score=50 then
    hp-0
    score-0
  endif
endif
Koodarina kohtalainen, henkilönä vittumainen
Image
Nassi_Setä
Advanced Member
Posts: 281
Joined: Sat Jun 28, 2008 5:19 pm
Location: Hämeessä miä

Re: Tyhmät kysymykset

Post by Nassi_Setä »

miten\onks ees mahollista laittaa CB:ssä 3D malleille texturet?
\../(-_-)\../ <---klick MyBrute Image
Jotain evilii on tekeillä....
Aaponator

Re: Tyhmät kysymykset

Post by Aaponator »

Code: Select all

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

FrameLimit 40 'rajoita nopeutta
DrawToWorld ON 

kartta=LoadMap("media\cdm2.til","media\tileset.bmp")
ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
keltport=LoadObject("media\kelt.png")
sinport=LoadObject("media\sin.png")
pihu=LoadObject("media\soldier.bmp")
ShowObject pati,OFF
ShowObject keltport,OFF 
ShowObject sinport,OFF 
kuva=1
eventtimer=0
PositionObject sinport,-400,760
PositionObject keltport,-400,760
PositionObject vihu,-300,760
AddText "Nuolista ohjaa, CTRL=ampuu"
  


SetupCollision ukko, kartta, 1, 4, 2
record=TIMER()
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    
    
    
    If CanSee(ukko, vihu, 60) Then ShowObject vihu,ON Else ShowObject vihu,OFF 
    If CanSee(vihu, ukko, 60) Then PointObject vihu,ukko

    
        If ObjectsOverlap(ukko,sinport,3) And Timer() > eventtimer + 1000 Then 
            CloneObjectPosition ukko,keltport            
            eventtimer=Timer()
        EndIf
        If ObjectsOverlap(ukko,keltport,3) And Timer() > eventtimer + 1000 Then 
            CloneObjectPosition ukko,sinport
            ShowObject keltport,ON 
            eventtimer=Timer()
        EndIf
        
        
        
    '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=20 'aseen lataus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1

    'Päivitä kaikki ammukset
    For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,6
         If GetMap(2,ObjectX(luoti\obj),ObjectY(luoti\obj))= 1 Then
               kuva=kuva*(-1)        'vaihdetaan keltport sinportin, tai toisinpäin
                                If kuva=1 Then CloneObjectPosition sinport,luoti\obj
                                 If kuva=1 Then ShowObject sinport,ON 
                                 If kuva=-1 Then ShowObject keltport,ON
                                If kuva=-1 Then CloneObjectPosition keltport,luoti\obj : ShowObject keltport,ON 
                                   
                               
                DeleteObject luoti\obj 'poista objekti
                Delete luoti 'poista luoti kokonaan
          EndIf

Function ObjectDirection(_obj1, _obj2)                          'näkyykö vihu
    a# = GetAngle2(_obj1, _obj2) - ObjectAngle(_obj1)
    If a > 180 Then a = a - 360
    If a < -180 Then a = a + 360
    Return a
EndFunction


Function CanSee(_obj1, _obj2, _fov)
    // Ensin tarkistetaan että kakkonen on ykkösen näkökentässä
    If Abs(ObjectDirection(_obj1, _obj2)) > _fov Then Return False
    // Tarkistetaan ettei ole seinää välissä
    Return ObjectSight(_obj1, _obj2)
EndFunction



     Next luoti
        CloneCameraPosition ukko
    DrawGame

    DrawScreen

Until EscapeKey()
Kysymys kuuluu: Miksei vihu tottele mitään komentoja?!
Aaponator

Re: Tyhmät kysymykset

Post by Aaponator »

KORJAUS EDELLISEEN!

Code: Select all

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

FrameLimit 40 'rajoita nopeutta
DrawToWorld ON 

kartta=LoadMap("media\cdm2.til","media\tileset.bmp")
ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
keltport=LoadObject("media\kelt.png")
sinport=LoadObject("media\sin.png")
vihu=LoadObject("media\soldier.bmp")
ShowObject pati,OFF
ShowObject keltport,OFF 
ShowObject sinport,OFF 
kuva=1
eventtimer=0
hälytys=0
idle=1
PositionObject sinport,-400,760
PositionObject keltport,-400,760
PositionObject vihu,-300,760
AddText "Nuolista ohjaa, CTRL=ampuu"
  


SetupCollision ukko, kartta, 1, 4, 2
record=TIMER()
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    
    
    
    If CanSee(ukko, vihu, 60) Then ShowObject vihu,ON Else ShowObject vihu,OFF 
    If CanSee(vihu, ukko, 60) Then PointObject vihu,ukko

    
        If ObjectsOverlap(ukko,sinport,3) And Timer() > eventtimer + 1000 Then 
            CloneObjectPosition ukko,keltport            
            eventtimer=Timer()
        EndIf
        If ObjectsOverlap(ukko,keltport,3) And Timer() > eventtimer + 1000 Then 
            CloneObjectPosition ukko,sinport
            ShowObject keltport,ON 
            eventtimer=Timer()
        EndIf
        
        
        
    '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=20 'aseen lataus        
    EndIf
    'päivitä aseen lataaminen
    If reload>0 Then reload=reload-1

    'Päivitä kaikki ammukset
    For luoti.AMMUS = Each AMMUS
        MoveObject luoti\obj,6
         If GetMap(2,ObjectX(luoti\obj),ObjectY(luoti\obj))= 1 Then
               kuva=kuva*(-1)        'vaihdetaan keltport sinportin, tai toisinpäin
                                If kuva=1 Then CloneObjectPosition sinport,luoti\obj
                                 If kuva=1 Then ShowObject sinport,ON 
                                 If kuva=-1 Then ShowObject keltport,ON
                                If kuva=-1 Then CloneObjectPosition keltport,luoti\obj : ShowObject keltport,ON 
                                   
                               
                DeleteObject luoti\obj 'poista objekti
                Delete luoti 'poista luoti kokonaan
          EndIf

Function ObjectDirection(_obj1, _obj2)                          'näkyykö vihu
    a# = GetAngle2(_obj1, _obj2) - ObjectAngle(_obj1)
    If a > 180 Then a = a - 360
    If a < -180 Then a = a + 360
    Return a
EndFunction


Function CanSee(_obj1, _obj2, _fov)
    // Ensin tarkistetaan että kakkonen on ykkösen näkökentässä
    If Abs(ObjectDirection(_obj1, _obj2)) > _fov Then Return False
    // Tarkistetaan ettei ole seinää välissä
    Return ObjectSight(_obj1, _obj2)
EndFunction



     Next luoti
        CloneCameraPosition ukko
    DrawGame

    DrawScreen

Until EscapeKey()
Aaponator

Re: Tyhmät kysymykset

Post by Aaponator »

Äh, ja tuossa alussa on pari turhaa muuttujaa
Aaponator

Re: Tyhmät kysymykset

Post by Aaponator »

Ja taas: Ratkaistu
Mr_Noob
Newcomer
Posts: 30
Joined: Tue Aug 28, 2007 1:05 pm
Location: koti
Contact:

Re: Tyhmät kysymykset

Post by Mr_Noob »

Miten voin tehdä puoliympyrän cb:n piirtokomennoilla? Sen tiedän että siihen tarvitaan Sin:iä ja Cos:ia.
programmer of DSG wrote:
EDIT:

aika hauska peli, vähän tylsä

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

Re: Tyhmät kysymykset

Post by Koodiapina »

Melko huono (ja hidas) ratkaisu, mutta parempaa en äkkiseltään keksinyt:

Code: Select all

  Repeat 
    foo(200,160,(Timer()/10) Mod 360,50)
    DrawScreen 
  Forever 
  
  Function foo(x,y,a,s)
    For i=0 To 90
      For o=0 To s
        Circle x+Cos(a+(i*2))*o,y+Sin(a+(i*2))*o,2
      Next o
    Next i
  EndFunction 
Monissa tapauksissa kuvat olisivat paras ratkaisu.
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset

Post by Sly_Jack0 »

Code: Select all

If ObjectX(ball\obj) => 400 - ObjectSizeX(ball\obj)/2 Then
			
				ball\speed_x * -1 //TÄMÄ RIVI!!!!!!!
				
			ElseIf ObjectX(ball\obj) <= 400 + ObjectSizeX(ball\obj)/2 Then
			
				ball\speed_x * -1//TÄMÄ RIVI!!!!!!!
				
			ElseIf ObjectY(ball\obj) => 300 - ObjectSizeY(ball\obj)/2 Then
			
				ball\speed_y * -1//TÄMÄ RIVI!!!!!!!
				
			ElseIf ObjectsOverlap(ball\obj,laatta) Then
			
		        ball\speed_y * -1//TÄMÄ RIVI!!!!!!!

			EndIf
Mikähän on vikana kun heittää erroris noista riveistä. Ainakaisemmin kun kokeilin niin toimi mutta nyt ei. On aika tyhmä olo...
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset

Post by esa94 »

Ihan pilkunnussintamielessä, laita ne sulkuihin? En ole tosin varma, välittääkö cb siitä.
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset

Post by Sly_Jack0 »

Ei toimi. Tulee syntax error.
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset

Post by phons »

Minulla on semmonen ongelma kun mulla on juna-peli jossa on junarata eli mappi ja juna ja sen junan pitäisi liikkua sitä rataa pitkin. Tähän mennessä koodissa on tehty näin:

Code: Select all


tile=GetMap(3,ObjectX(juna),ObjectY(juna))
If tile=10 Then MoveObject juna,2
If tile=11 Then TurnObject juna,7

Ja tuo sama suorissa pätkissä ja muissa käännöksissä. 11 meinaa vasuriin kääntymistä ja 12 oikealle, 10 suoraan. Pistin siihen mappiin nuo datat.
Silti se on huono, kun juna menee koko ajan radan yli.
Image
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

siis... Tämä teksti tulee aivan oikein ruudulle. Mutta lähteminen ei toimi

Code: Select all


väri=0

Repeat
    If väri<255 Then väri=väri+2
    Color väri,väri,väri
    Text 170,190,"jotain"
    DrawScreen
    
    If KeyHit(cbKeyX) Then Gosub x
    
    If väri=255 Then Exit
    
Forever

Repeat
    If väri>0 Then väri=väri-2
    Color väri,väri,väri
    Text 170,190,"jotain"
    DrawScreen
    
    If KeyHit(cbKeyX) Then Gosub x
    
    If väri=0 Then Exit

Forever
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Locked