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 » Sun Jan 01, 2012 6:12 pm

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."

User avatar
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 9:25 am

Re: Tyhmät kysymykset (I/2011)

Post by Sly_Jack0 » Sun Jan 01, 2012 7:58 pm

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 12:37 pm
Location: ---

Re: Tyhmät kysymykset (I/2011)

Post by seancarrion » Sun Jan 01, 2012 9:55 pm

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 5:46 pm
Location: Suomi

Re: Tyhmät kysymykset (I/2011)

Post by Frozen » Sun Jan 01, 2012 10:00 pm

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 12:37 pm
Location: ---

Re: Tyhmät kysymykset (I/2011)

Post by seancarrion » Sun Jan 01, 2012 10:09 pm

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.
---

User avatar
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (I/2011)

Post by phons » Sun Jan 01, 2012 10:11 pm

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 12:37 pm
Location: ---

Re: Tyhmät kysymykset (I/2011)

Post by seancarrion » Sun Jan 01, 2012 10:14 pm

saisiko esimerkkikoodin? :D
---

User avatar
Frozen
Advanced Member
Posts: 282
Joined: Fri Jan 01, 2010 5:46 pm
Location: Suomi

Re: Tyhmät kysymykset (I/2011)

Post by Frozen » Sun Jan 01, 2012 10:16 pm

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 12:37 pm
Location: ---

Re: Tyhmät kysymykset (I/2011)

Post by seancarrion » Sun Jan 01, 2012 10:19 pm

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

Ei toimi :(

Last edited by seancarrion on Mon Jan 02, 2012 12:53 pm, edited 1 time in total.
---

User avatar
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (I/2011)

Post by phons » Sun Jan 01, 2012 10:24 pm

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 1:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM » Mon Jan 02, 2012 11:00 pm

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!

User avatar
Latexi95
Guru
Posts: 1163
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 » Tue Jan 03, 2012 12:47 am

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 » Tue Jan 03, 2012 5:47 pm

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."

User avatar
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 9:25 am

Re: Tyhmät kysymykset (I/2011)

Post by Sly_Jack0 » Tue Jan 03, 2012 6:01 pm

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 1:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM » Tue Jan 03, 2012 11:24 pm

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!

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb » Wed Jan 04, 2012 12:18 pm

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)
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

User avatar
BIG_BOMM
Newcomer
Posts: 7
Joined: Fri Dec 30, 2011 1:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM » Wed Jan 04, 2012 8:55 pm

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 8:58 pm, edited 1 time in total.
Mans got to do what mans got to do...

FACEPLANT!

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb » Wed Jan 04, 2012 8:56 pm

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.
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2011)

Post by Jonez » Wed Jan 04, 2012 9:28 pm

@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 1:08 pm

Re: Tyhmät kysymykset (I/2011)

Post by BIG_BOMM » Wed Jan 04, 2012 9:51 pm

@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

Who is online

Users browsing this forum: No registered users and 9 guests