Tyhmät kysymykset (I/2012)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
Hene
Active Member
Posts: 122
Joined: Wed Apr 22, 2009 8:13 pm

Tyhmät kysymykset (I/2012)

Post by Hene »

EDIT:

Uusi ketju aloitettu: Tyhmät kysymykset (I/2015). Keskustelu jatkuu siellä.

VesQ wrote:Jatketaan perinteikästä linjaa ja pilkotaan jättiketju pienempiin osiin. Sarjan edelliset viestiketjut ovat:
Tyhmät kysymykset (I/2009)
Tyhmät kysymykset (II/2009)
Tyhmät kysymykset (I/2010)
Tyhmät kysymykset (I/2011)

Ylläpito pilkkoo kaikki yli 100-sivuiset aiheet jatkoketjuiksi. Lisäksi aloitetaan uusi ketju vuosittain.

Tyhmät kysymykset - tarkoitus

Törmäsitkö ongelmaan, jonka tiedät olevan oikeasti ihan helppo, mutta ratkaisu ei vain osu silmään? Onko ongelmasi niin vähäpätöinen, ettei sitä varten kannata tehdä uutta ketjua?

Alkuperäisen ketjun johdanto meni näin:
iTKEVAnAKKI wrote:Eli tänne kaikki yksinkertaiset kysymykset johin et ole keksinyt ratkaisua. Mutta muistakaa, että käytätte ensin hakua!

Saakos addtext -komennolla kirjoitettua tekstiä automaattisesti rivitettyä mitenkään (lue: kohtuullisen helposti)? Ärsyttää kun pitäisi joku pitkä teksti saada helposti ruutuun (ja ilman ylimääräisiä tekstitiedostoja), muttei jaksaisi jakaa jokaista lausetta aina erikseen omalle rivilleen.
Last edited by valscion on Mon Apr 20, 2015 10:29 am, edited 3 times in total.
Reason: Linkki seuraavaan topikkiin.
"Baby," I said. "I'm a genius but nobody knows it but me."
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset (I/2011)

Post by Sly_Jack0 »

Ei ole AddTextillä, mutta on kuitenkin. http://www.cbrepository.com/codes/code/27/
User avatar
seancarrion
Active Member
Posts: 128
Joined: Sun Jan 01, 2012 11:37 am
Location: ---

Re: Tyhmät kysymykset (I/2011)

Post by seancarrion »

Miten saisi tehtyä peliin taustakuvan tilejen taakse ILMAN että se liikkuu hahmon mukana? :D
---
User avatar
Frozen
Advanced Member
Posts: 282
Joined: Fri Jan 01, 2010 4:46 pm
Location: Suomi

Re: Tyhmät kysymykset (I/2011)

Post by Frozen »

seancarrion wrote:Miten saisi tehtyä peliin taustakuvan tilejen taakse ILMAN että se liikkuu hahmon mukana? :D
no yksinkertaisinta olisi piirtää drawimagella kuva. Kuva jää silloin objektien ja tilemapin alle, kun komento on ennen drawgamea
Image
Työn alla:
Jotakin epäjulkaistua
User avatar
seancarrion
Active Member
Posts: 128
Joined: Sun Jan 01, 2012 11:37 am
Location: ---

Re: Tyhmät kysymykset (I/2011)

Post by seancarrion »

Frozen wrote:
seancarrion wrote:Miten saisi tehtyä peliin taustakuvan tilejen taakse ILMAN että se liikkuu hahmon mukana? :D
no yksinkertaisinta olisi piirtää drawimagella kuva. Kuva jää silloin objektien ja tilemapin alle, kun komento on ennen drawgamea
Öö siis minulla on jo taustakuva joka on kaiken alla, mutta se liikkuu kun minä liikun. Haluan että kuva pysyy paikoillaan kun hahmo ja kamera liikkuu.
---
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (I/2011)

Post by phons »

No tuo johtuu siitä että kuva piirretään ruutuun ei pelimaailmaan. Piirrä kuva vaikka pelimailmaan DrawToWorld komennolla. Sieltä Helpistä löytyy kyllä.
Image
User avatar
seancarrion
Active Member
Posts: 128
Joined: Sun Jan 01, 2012 11:37 am
Location: ---

Re: Tyhmät kysymykset (I/2011)

Post by seancarrion »

saisiko esimerkkikoodin? :D
---
User avatar
Frozen
Advanced Member
Posts: 282
Joined: Fri Jan 01, 2010 4:46 pm
Location: Suomi

Re: Tyhmät kysymykset (I/2011)

Post by Frozen »

Tätäkö siis halusit?

Code: Select all

DrawToWorld ON
Kenttä = LoadMap("Media\cdm2.til","Media\tileset.bmp")
tausta= LoadImage("Media\Map.bmp")
ukkeli = LoadObject ("Media\guy.bmp",72)
SetupCollision ukkeli, Kenttä, 1, 4, 2

Repeat


    TurnObject ukkeli,(LeftKey()- RightKey())*5
    MoveObject ukkeli,(UpKey()-DownKey())*2



    CloneCameraPosition ukkeli


DrawImage tausta,0,0

    DrawScreen

Forever
Image
Työn alla:
Jotakin epäjulkaistua
User avatar
seancarrion
Active Member
Posts: 128
Joined: Sun Jan 01, 2012 11:37 am
Location: ---

Re: Tyhmät kysymykset (I/2011)

Post by seancarrion »

Kiitos! Tämä auttoi TOSI paljon! Olet herrasmies :)
EDIT:

Ei toimi :(

Last edited by seancarrion on Mon Jan 02, 2012 11:53 am, edited 1 time in total.
---
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (I/2011)

Post by phons »

Code: Select all

kuva = LoadImage(tiedostopolku_$) 'kuva


Repeat 'loopin alku
    
    DrawToWorld OFF, ON, OFF ' nyt kaikki kuvat piirretään maailmaan, näytölle
        DrawImage kuva, 0, 0
    DrawToWorld OFF, OFF, OFF 'ja säädetään kuvien piirto takaisin näyttöön
    DrawImage kuva, 100, 100
    
    TranslateCamera RightKey() - LeftKey(), Upkey() - DownKey() 'liikutetaan kameraa nuolilla
    
    DrawScreen 'piirretään
Until EscapeKey() 'lopetetaan loopi kun Esc painettu

Siinä, huomaa että se on sitten kirjoitettu suoraan foorumiin, että saattaa bugata. korvaa tuo tiedostopolku kuvasi tiedostopolulla, media\guy.bmp tai joku.

Edit: Ja näin saimme hyvä esimerkin hitaudesta. Kiitos Frozen
Image
User avatar
BIG_BOMM
Newcomer
Posts: 7
Joined: Fri Dec 30, 2011 12:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM »

Oon kämminy jotain (yllättävää? ei tod.. :mrgreen: ) mut en hoksaa missä on vika kun antaa mavin kun pati osuu vihuun... :x
Merkkasin MAVin koodiin

Code: Select all

Type Padit
    Field obj
    End Type

FrameLimit 40

SCREEN 320,240,0,cbsizable
SetWindow "...",3

lattia = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject lattia, nurmikko
charater = LoadObject ("Media\guy.bmp",360)
vihu1 = LoadObject ("Media\particle.bmp",360)
luoti = LoadObject ("Media\bullet.bmp")
ShowObject luoti,OFF
hiiri = LoadObject("Media\crosshair.bmp")
laaseri = LoadSound ("Media\lazer 2.wav")
ShowMouse OFF
Repeat
'---------------------------------------------------------------------------------------------------
'saan kokoaika ilmotuksen ShowMouse failed jos käytän omaa hiirtä, näin esitettynä toimii...
A =MouseWX()
B =MouseWY()
  PositionObject hiiri,A-9,B
  CloneObjectOrientation hiiri,charater

'---------------------------------------------------------------------------------------------------
'ukkoa ohjataan WASDilla.
      
        Kääntö=GetAngle(ObjectX(charater),-ObjectY(charater),MouseWX(),-MouseWY())
        RotateObject charater, Kääntö

        If KeyDown(32) Then TranslateObject charater,2,0,0
        If KeyDown(30) Then TranslateObject charater,-2,0,0
        If KeyDown(17) Then TranslateObject charater,0,2,0
        If KeyDown(31) Then TranslateObject charater,0,-2,0                       
'---------------------------------------------------------------------------------------------------
'vähän tulivoimaa...

                If MouseDown(1) And reload =0 Then
                laser.padit = New(Padit)
                    laser\obj = CloneObject(luoti)
                        CloneObjectPosition laser\obj,charater
                        PlaySound laaseri, 100
                        reload =15
                        MoveObject laser\obj,-9,-12
                        PointObject laser\obj,hiiri
                        TurnObject laser\obj,-90
               EndIf                           
                    If reload>0 Then reload=reload-1
                    For laser.Padit = Each Padit
                    MoveObject laser\obj,0,-6
                        SetupCollision vihu1,laser\obj,2,2,2
                        SetupCollision laser\obj,vihu1,2,2,2                        
                           'TÄSSÄ TULEE MAV!!!
                        If Distance2(laser\obj,vihu1)<10 Then DeleteObject(laser\obj)
              Next laser
'----------------------------------------------------------------------------------------------------

PositionObject vihu1,30,30
SetupCollision vihu1,charater,2,2,2
SetupCollision charater,vihu1,2,2,2




'----------------------------------------------------------------------------------------------------

    CloneCameraPosition charater
DrawScreen
Forever
Mans got to do what mans got to do...

FACEPLANT!
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

BIG_BOMM wrote:Oon kämminy jotain (yllättävää? ei tod.. :mrgreen: ) mut en hoksaa missä on vika kun antaa mavin kun pati osuu vihuun... :x
Merkkasin MAVin koodiin

Code: Select all

Type Padit
    Field obj
    End Type

FrameLimit 40

SCREEN 320,240,0,cbsizable
SetWindow "...",3

lattia = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject lattia, nurmikko
charater = LoadObject ("Media\guy.bmp",360)
vihu1 = LoadObject ("Media\particle.bmp",360)
luoti = LoadObject ("Media\bullet.bmp")
ShowObject luoti,OFF
hiiri = LoadObject("Media\crosshair.bmp")
laaseri = LoadSound ("Media\lazer 2.wav")
ShowMouse OFF
Repeat
'---------------------------------------------------------------------------------------------------
'saan kokoaika ilmotuksen ShowMouse failed jos käytän omaa hiirtä, näin esitettynä toimii...
A =MouseWX()
B =MouseWY()
  PositionObject hiiri,A-9,B
  CloneObjectOrientation hiiri,charater

'---------------------------------------------------------------------------------------------------
'ukkoa ohjataan WASDilla.
      
        Kääntö=GetAngle(ObjectX(charater),-ObjectY(charater),MouseWX(),-MouseWY())
        RotateObject charater, Kääntö

        If KeyDown(32) Then TranslateObject charater,2,0,0
        If KeyDown(30) Then TranslateObject charater,-2,0,0
        If KeyDown(17) Then TranslateObject charater,0,2,0
        If KeyDown(31) Then TranslateObject charater,0,-2,0                       
'---------------------------------------------------------------------------------------------------
'vähän tulivoimaa...

                If MouseDown(1) And reload =0 Then
                laser.padit = New(Padit)
                    laser\obj = CloneObject(luoti)
                        CloneObjectPosition laser\obj,charater
                        PlaySound laaseri, 100
                        reload =15
                        MoveObject laser\obj,-9,-12
                        PointObject laser\obj,hiiri
                        TurnObject laser\obj,-90
               EndIf                           
                    If reload>0 Then reload=reload-1
                    For laser.Padit = Each Padit
                    MoveObject laser\obj,0,-6
                        SetupCollision vihu1,laser\obj,2,2,2
                        SetupCollision laser\obj,vihu1,2,2,2                        
                           'TÄSSÄ TULEE MAV!!!
                        If Distance2(laser\obj,vihu1)<10 Then DeleteObject(laser\obj)
              Next laser
'----------------------------------------------------------------------------------------------------

PositionObject vihu1,30,30
SetupCollision vihu1,charater,2,2,2
SetupCollision charater,vihu1,2,2,2




'----------------------------------------------------------------------------------------------------

    CloneCameraPosition charater
DrawScreen
Forever
'
Poistat vain laserin objectin etkä varsinaista tyypin jäsentä. Jonka takia seuraavan padin kohdalla tulee mavi.

Code: Select all

If Distance2(laser\obj,vihu1)<10 Then
    DeleteObject(laser\obj)
    Delete laser
EndIf
Hene
Active Member
Posts: 122
Joined: Wed Apr 22, 2009 8:13 pm

Re: Tyhmät kysymykset (I/2011)

Post by Hene »

Sly_Jack0 wrote:Ei ole AddTextillä, mutta on kuitenkin. http://www.cbrepository.com/codes/code/27/
Ja mitenkös tuota funktiota pystyy käyttämään käytännössä? :D En ole funktioista CB:ssä koskaan paljoakaan oppinut, hyvä kun manuaalin esimerkissä mainitun funktiosysteemin ymmärrän :D
"Baby," I said. "I'm a genius but nobody knows it but me."
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Tyhmät kysymykset (I/2011)

Post by Sly_Jack0 »

Code: Select all

teksti$ = "Tähän teksti"
reuna = 300 //Minkä rajan yli teksti ei saa mennä
x = 0
y = 0

Repeat
    RowText(teksti$,x,y,reuna)

    DrawScreen
Forever
User avatar
BIG_BOMM
Newcomer
Posts: 7
Joined: Fri Dec 30, 2011 12:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM »

Poistat vain laserin objectin etkä varsinaista tyypin jäsentä. Jonka takia seuraavan padin kohdalla tulee mavi.


KIITOS! johan toimii!
Mans got to do what mans got to do...

FACEPLANT!
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

En halua olla trolli/offtopiccari, mutta eikös tässä pitäisi olla uusi Tyhmät kysymykset(R)-ketju

Vaikka on tää pieni ja tyhmä kysymys, (ei liity CB yhtään)
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
BIG_BOMM
Newcomer
Posts: 7
Joined: Fri Dec 30, 2011 12:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM »

Luovutan.. miks tää antaa code 88 Can't find missing Next:in rivillä 100?? :x

Code: Select all

Type Padit
    Field obj
    End Type

Type ykkösvihu
    Field obj
    End Type

FrameLimit 40

SCREEN 640,480,0,cbsizable
SetWindow "...",3

ruoho = MakeObjectFloor ()
nurmikko = LoadImage ("Media\grass.bmp")
PaintObject ruoho, nurmikko


player = LoadObject ("Media\guy.bmp",360)
vihu1 = LoadObject ("Media\particle.bmp",360)
ShowObject vihu1,OFF
perusluoti = LoadObject ("Media\bullet.bmp")
ShowObject perusluoti,OFF
hiiri = LoadObject("Media\crosshair.bmp")
peruslaaseri = LoadSound ("Media\lazer 2.wav")
ShowMouse OFF
Repeat
'---------------------------------------------------------------------------------------------------
'ohjelma ei suostunut millään toistamaan Showmouse hiiri komentoa joten piti kikkailla...
'saipahan samalla tarkan tähtäyksen...
A =MouseWX()
B =MouseWY()
  PositionObject hiiri,A-9,B
  CloneObjectOrientation hiiri,player

'---------------------------------------------------------------------------------------------------
'ukkoa ohjataan seuraavista.
'sivuttaisliikkeet ja kääntyminen ovat eri napeissa pelattavuuden parantamiseksi
'WASD ohjaus, hahmo kääntyy num4 ja num5:stä      
        Kääntö=GetAngle(ObjectX(player),-ObjectY(player),MouseWX(),-MouseWY())
        RotateObject Robotron, Kääntö-90

        If KeyDown(32) Then TranslateObject player,2,0,0
        If KeyDown(30) Then TranslateObject player,-2,0,0
        If KeyDown(17) Then TranslateObject player,0,2,0
        If KeyDown(31) Then TranslateObject player,0,-2,0                       
'---------------------------------------------------------------------------------------------------
'ensimmäinen laserase pelissä. loputtomasti pateja.

                If MouseDown(1) And reload =0 Then
                laser.padit = New (Padit)
                    laser\obj = CloneObject(perusluoti)
                        CloneObjectPosition laser\obj,player
                        PlaySound peruslaaseri, 100
                        reload =15
                        MoveObject laser\obj,-9,-12
                        PointObject laser\obj,hiiri
                        TurnObject laser\obj,-90
               EndIf                           
                    If reload>0 Then reload=reload-1
                    For laser.Padit = Each Padit
                            MoveObject laser\obj,0,-6
                                SetupCollision vihu1,laser\obj,2,2,2
                                SetupCollision laser\obj,vihu1,2,2,2
                        If Distance2(laser\obj,vihu1)=0 Then
                            DeleteObject(laser\obj)
                            Delete laser
                        EndIf 
                    Next laser
'----------------------------------------------------------------------------------------------------
'vihut


SetupCollision vihu1,player,2,2,2
SetupCollision player,vihu1,2,2,2

C=Rand(-150,150)
D=Rand(-150,150)

EV1=10
If ST=0 Then 
PV.ykkösvihu = New (ykkösvihu)
    PV\obj = CloneObject(vihu1)
        PositionObject PV\obj,C,D
        ST=2000
EndIf
   If ST>0 Then ST=ST-1           
     For PV.ykkösvihu = Each ykkösvihu
            PointObject PV\obj,player
            MoveObject PV\obj,0,-2
                SetupCollision vihu1,laser\obj,2,2,2
                SetupCollision laser\obj,vihu1,2,2,2
        If Distance2 (PV\obj,laser\obj)<1 Then
                EV1=EV1-1
                If EV1=0 Then 
                    DeleteObject(PV\obj)
                    Delete PV
                EndIf             
        EndIf
     Next vihu1
'----------------------------------------------------------------------------------------------------

    CloneCameraPosition player
DrawScreen
Forever
muutin mielestäni bmpt cbn omasta kansiosta löytyviksi mutta joitain on voinu jäädä huomaamatta..
Last edited by BIG_BOMM on Wed Jan 04, 2012 7:58 pm, edited 1 time in total.
Mans got to do what mans got to do...

FACEPLANT!
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

Pyydän nöyrimmin anteeksi etukäteen sitä että tein tämän tuplapostauksen, mutta muuten en saa vastausta tähän ennen Tyhmät kysymykset (1/2012) :oops:

Eli, latasin KW:n tekemän qt-kirjastolla toimivan ja winellä toimivalla compilerillä tehdyn IDE:n, se toimii ja muuta, mulla on vain yksi kysymys:

Mitä fonttia print,write,input,text ja addtext käyttävät oletusarvoisesti?

Koska, kun tein Hello World!-ohjelman, mun ohjelmassa missä piti lukea Hello World!, olikin pelkkiä pystypalkkeja :?

Ja KW:lle kysymys, miksi siinä kun on siellä compile-menussa se compile to EXE, tai jotain (pikanäppäin F7), niin miksi se on disabled, eikö sitä EXE-kirjoititnta aa winellä toimimaan, vai onko sun se editori pelkkää koodikehitystä varten linuxille? Toivon että tällä kertaa onnistun saamaan paljon vähemmän pahaa karmaa kuin viimeksi.
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2011)

Post by Jonez »

@BIG_BOMM: Vaihda rivin 100 "next vihu1" -> "next PV".
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
User avatar
BIG_BOMM
Newcomer
Posts: 7
Joined: Fri Dec 30, 2011 12:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM »

@BIG_BOMM: Vaihda rivin 100 "next vihu1" -> "next PV".

Kiitos! En ettiny vikaa ku kaks päivää... :oops:


hommattava vahvemmat lasit ehkä :?: :P
Mans got to do what mans got to do...

FACEPLANT!
Locked