Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset (I/2010)

Post by TheFish » Tue Dec 21, 2010 11:04 pm

DJ-Filbe wrote:Tekstin tulostus tulostimesta Coolbasicilla? Tiedoston kirjoittaminen HTML-muodossa ja javascriptit, ja auki selaimeen helpoin tapa?
Oletko testannut windowsin print:iä?
CoolBasic henkilökuntaa
Kehittäjä

User avatar
Ilkka
Active Member
Posts: 201
Joined: Mon Oct 08, 2007 8:01 am

Re: Tyhmät kysymykset (I/2010)

Post by Ilkka » Thu Dec 23, 2010 5:50 pm

Onko mahdollista on lukea tekstitiedostosta taulukoiden arvoja? Esim. Jos siellä on näin:

Code: Select all

123
123
123
on TAULUKKO(1,1) = 1, TAULUKKO(3,2) = 2 ja TAULUKKO(2,3) = 3.

Jos tää on mahollista ni miten vaikeeta tämmöne on toteuttaa?

EDIT:
Kiitoksia Jonezille. Just tuota tarkotin.
Last edited by Ilkka on Fri Dec 24, 2010 4:15 pm, edited 1 time in total.
Image

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Awaclus » Thu Dec 23, 2010 6:05 pm

Ilkka wrote:Onko mahdollista on lukea tekstitiedostosta taulukoiden arvoja? Esim. Jos siellä on näin:

Code: Select all

123
123
123
on TAULUKKO(1,1) = 1, TAULUKKO(3,2) = 2 ja TAULUKKO(2,3) = 3.

Jos tää on mahollista ni miten vaikeeta tämmöne on toteuttaa?
Tuohonhan ei tarvita kuin For-looppi.

EDIT: oho, puhe olikin kaksiulotteisista taulukoista. My bad.

Onneksi Jonez selittikin jo aika hyvin, miten nuo onnistuu.
Last edited by Awaclus on Thu Dec 23, 2010 8:58 pm, edited 1 time in total.

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

Re: Tyhmät kysymykset (I/2010)

Post by Jonez » Thu Dec 23, 2010 8:40 pm

Ilkka wrote:Onko mahdollista on lukea tekstitiedostosta taulukoiden arvoja?
Jos tarkoitat, että onko mahdollista lukea tekstitiedostosta taulukkoon arvoja, niin kyllä on. Käy luettava tekstitiedosto läpi while - wend-silmukassa, sekä jokainen luettu merkkijonon merkki läpi for-next-silmukassa. While-wend-silmukka pitää lukua 2-ulotteisen taulukon y-arvosta, kun taas for-next-silmukka huolehtii x-akselista. Kannattaa pitää huolta ettet kirjoita yli taulukon.

Tässä esimerkki:

Code: Select all

Const TAULU_KOKO_X = 4
Const TAULU_KOKO_Y = 4
Dim taulu( TAULU_KOKO_X, TAULU_KOKO_Y ) As String

//Avataan haluttu tiedosto lukemista varten.
f = OpenToRead( "filu.txt" )
    
    //Käydään koko tekstitiedosto läpi While ... Wend-silmukassa
    While Not EOF( f )  
        
        //luetaan seuraava rivi tiedostosta.
        lue$ = ReadLine( f )

        //Käydään luetun merkkijonon kaikki merkit erikseen läpi.
        For solu_x = 0 To Len( lue )
        
            //Kirjoitetaan merkki taulukkoon omalle paikalleen.
            //Kirjoitus tapahtuu vain jos ollaan vielä taulukon rajojen sisäpuolella.
            If solu_x <= TAULU_KOKO_X And solu_y <= TAULU_KOKO_Y Then taulu( solu_x, solu_y ) = Mid( lue, solu_x + 1, 1 )
        Next solu_x
        
        //solu_y kasvaa aina kun ollaan luettu yksi rivi.
        solu_y + 1
    Wend
CloseFile f

//Tulostetaan taulukon tiedot näytölle
For y = 0 To 4
    tulosta$ = ""
    For x = 0 To 4
        tulosta$ = tulosta$ + " " + taulu( x, y )
    Next x
    Print tulosta
Next y

WaitKey
Koodissa ei oteta huomioon, että jos taulukko täyttyy, kannattaa tekstitiedoston lukeminen lopettaa etukäteen. Jos luet todella pitkää tiedostoa, kaikki luetaan vaikka taulukko olisi täyttynyt aikoja sitten. Testasin seuraavanlaisella tekstiedostolla:
12345bss
12345wag
12345aeg
12345hra
12345gas
jvailoejsg
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War

User avatar
Akuji
Member
Posts: 60
Joined: Fri Oct 08, 2010 5:59 pm
Location: Turku
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Akuji » Thu Dec 23, 2010 10:10 pm

Miten saisin laitettua viholliset ampumaan, kun ne näkevät pelaajan?

Code: Select all

If ObjectSight(enem\obj,player) Then
                PointObject enem\obj, player
                MoveObject enem\obj, 3.4
                ObjectOrder enem\obj,1
Endif

MrMonday
Advanced Member
Posts: 378
Joined: Fri Oct 10, 2008 2:35 pm

Re: Tyhmät kysymykset (I/2010)

Post by MrMonday » Thu Dec 23, 2010 10:46 pm

Akuji wrote:Miten saisin laitettua viholliset ampumaan, kun ne näkevät pelaajan?

Code: Select all

If ObjectSight(enem\obj,player) Then
                PointObject enem\obj, player
                MoveObject enem\obj, 3.4
                ObjectOrder enem\obj,1
Endif

Code: Select all

If Vihollinen näkee pelaajan then
                PointObject enem\obj, player
                MoveObject enem\obj, 3.4
                ObjectOrder enem\obj,1
                Ammu pelaajaa
EndIf
Eli tarkistat näkeekö vihollinen pelaajan, ja jos näkee, niin pistät vihollisen ampumaan pelaajaa kohti..
en ole varma ymmärsinkö kysymystäsi oikein, mutta haulla löydät miten toteutat ampumisen, ja editorista löydät ammuskelu esimerkin myös..

uurttu

Re: Tyhmät kysymykset (I/2010)

Post by uurttu » Fri Dec 24, 2010 12:56 am

koitin saada esimerkki 18,toimimaan funktiolla,mut heti tuli ongelmii
tulee mav tossa: luoti\obj=cloneobject(pati)

Code: Select all

Function  tee_ase()

    'Ammu-systeemi. Vain, jos ase on ladattu
     
        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        
    
    '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 ObjectX(luoti\obj)<-180 Or ObjectX(luoti\obj)>180 Or ObjectY(luoti\obj)<-130 Or ObjectY(luoti\obj)>130 Then
            'ammus ylittää rajan -> tuhoa se                
            DeleteObject luoti\obj 'poista objekti
            Delete luoti 'poista luoti kokonaan
        EndIf        
    Next luoti
    
    End Function 

User avatar
valscion
Moderator
Moderator
Posts: 1587
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by valscion » Fri Dec 24, 2010 1:26 am

uurttu wrote:koitin saada esimerkki 18,toimimaan funktiolla,mut heti tuli ongelmii
tulee mav tossa: luoti\obj=cloneobject(pati)
Sinulla on koodisi funktiossa, jolloin funktion ulkopuolella olevat, ei-globaalit muuttujat (kuten tuo pati-objektimuuttuja), eivät ole olemassa funktion sisällä. Tällöin kun yritetään käyttää ei-ladattua objektia, heittää CB Maailman Arvaamattomimman Virheilmoituksen.

Suosittelen katsomaan manuaalista avainsanan Function ohjeet. Ne löytyvät myös täältä CB:n sivuilta.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com

User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: Tyhmät kysymykset (I/2010)

Post by Peltsi » Sat Dec 25, 2010 12:47 am

Morjens! Osaattekos sanoa tämmöseen ongelmaan mitään kun pelini ei toimi joillakin koneilla. Omalla (XP) ja vanhempien (XP) koneilla toimii, mutta kaverin miniläppärillä (XP) ja pöytäkoneella (7) ei toimi... Ilmoitus "Can't load map..." ponnahtaa esiin ajettaessa... Pelissä jokin vika?? Kiitoksia jo etukäteen!

PS. Hyvää joulua kaikille! :D

User avatar
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Viltzu » Sat Dec 25, 2010 12:55 am

Peltsi wrote:Morjens! Osaattekos sanoa tämmöseen ongelmaan mitään kun pelini ei toimi joillakin koneilla. Omalla (XP) ja vanhempien (XP) koneilla toimii, mutta kaverin miniläppärillä (XP) ja pöytäkoneella (7) ei toimi... Ilmoitus "Can't load map..." ponnahtaa esiin ajettaessa... Pelissä jokin vika?? Kiitoksia jo etukäteen!

PS. Hyvää joulua kaikille! :D
Osaatko suomentaa "Can't Load Map"? Missähän siis voisi olla vika? Oisko suomeksi "Karttaa ei voi ladata"? Jep. Oletko varma että kartta on siellä mistä peli yrittää ladata sen? Esim "pelin suorituskansio/media/mappi.jotai". Pelin suorituskansio on siis se missä se exe on. Jos koodissasi on vain "LoadMap("Media/mappi.jotai")" niin mapin pitää olla noin miten sanoin. Mutta jos siellä on jotain C:\porkkana\ nii sitten sen pitää olla tuolla. blaa. Tästäki asiaa ois varmasti löytyny haulla. Ja siel yhdes topikis mitä en muista ja vatuttaa ja näin ku tälläsii vastailen. Haluun kouluun. Puhun tänne ny niinku irkkiin hihi. Pettis ootko tääl?
EDIT:

Onneks olin viel hereil kunnol tuoho aikaa ku kirjotin ton viestin.

Last edited by Viltzu on Sat Dec 25, 2010 4:10 pm, edited 1 time in total.

TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset (I/2010)

Post by TheFish » Sat Dec 25, 2010 2:17 pm

Peltsi wrote:Morjens! Osaattekos sanoa tämmöseen ongelmaan mitään kun pelini ei toimi joillakin koneilla. Omalla (XP) ja vanhempien (XP) koneilla toimii, mutta kaverin miniläppärillä (XP) ja pöytäkoneella (7) ei toimi... Ilmoitus "Can't load map..." ponnahtaa esiin ajettaessa... Pelissä jokin vika??
Viltzu wrote: harvinaisen epäselvä viesti...
Elikkä vielä selkeytyksenä katso usein ihmeteltyjen ongelmien neljäs kohta.
CoolBasic henkilökuntaa
Kehittäjä

User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: Tyhmät kysymykset (I/2010)

Post by Peltsi » Sat Dec 25, 2010 3:39 pm

Viltzu wrote:
Peltsi wrote:Morjens! Osaattekos sanoa tämmöseen ongelmaan mitään kun pelini ei toimi joillakin koneilla. Omalla (XP) ja vanhempien (XP) koneilla toimii, mutta kaverin miniläppärillä (XP) ja pöytäkoneella (7) ei toimi... Ilmoitus "Can't load map..." ponnahtaa esiin ajettaessa... Pelissä jokin vika?? Kiitoksia jo etukäteen!

PS. Hyvää joulua kaikille! :D
Osaatko suomentaa "Can't Load Map"? Missähän siis voisi olla vika? Oisko suomeksi "Karttaa ei voi ladata"? Jep. Oletko varma että kartta on siellä mistä peli yrittää ladata sen? Esim "pelin suorituskansio/media/mappi.jotai". Pelin suorituskansio on siis se missä se exe on. Jos koodissasi on vain "LoadMap("Media/mappi.jotai")" niin mapin pitää olla noin miten sanoin. Mutta jos siellä on jotain C:\porkkana\ nii sitten sen pitää olla tuolla. blaa. Tästäki asiaa ois varmasti löytyny haulla. Ja siel yhdes topikis mitä en muista ja vatuttaa ja näin ku tälläsii vastailen. Haluun kouluun. Puhun tänne ny niinku irkkiin hihi. Pettis ootko tääl?
Miten selität tämän: Koodissa lukee: LoadMap("kartta.til") ja kartta on Tiedostot kansiossa (eli: Pelin suorituskansio\Tiedostot) ja peli toimii hyvin (ainakin omalla ja vanhempien koneella. Mutta kun laitat LoadMap("Tiedostot\kartta.til") niin ei toimi edes omalla koneella... Varmasti ei kirjoitusvirheitä (Tarkastettu muutamasti, ja vielä kerran päälle).

DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 3:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe » Sat Dec 25, 2010 4:09 pm

CB-ohjelma käyntiin windowsin käynnistyessä???

Code: Select all

Include "cbAPI.cb"
SetRegistryString(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Run", "CB-ohjelma", path$)
?

MAV

Re: Tyhmät kysymykset (I/2010)

Post by MAV » Sun Dec 26, 2010 5:30 pm

miks tästä koodista tulee mav

Code: Select all

SCREEN 800,600

Include "SDK\include\cbMap.cb"

Type zombiet
Field obj
End Type

kartta=LoadMap("media\testmap.til","media\tileset.bmp")
zombi_kuva=LoadObject("Media\soldier.bmp",72)

For  i=0 To 10
zombi.zombiet= New(zombiet)

zombi\obj=CloneObject(zombi_kuva)

spawnobject(zombi\obj)

Next i


Repeat

DrawScreen
Forever 

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

Re: Tyhmät kysymykset (I/2010)

Post by Frozen » Sun Dec 26, 2010 5:45 pm

MAV wrote:miks tästä koodista tulee mav

Code: Select all

SCREEN 800,600

Include "SDK\include\cbMap.cb"

Type zombiet
Field obj
End Type

kartta=LoadMap("media\testmap.til","media\tileset.bmp")
zombi_kuva=LoadObject("Media\soldier.bmp",72)

For  i=0 To 10
zombi.zombiet= New(zombiet)

zombi\obj=CloneObject(zombi_kuva)

spawnobject(zombi\obj)

Next i


Repeat

DrawScreen
Forever 
tuota.. spawnobject? Jos tuo on se spawnobject-functio minkä minä tiedän, niin siinä pitää laittaa myös tilenumero ja objectin kulma
Image
Työn alla:
Jotakin epäjulkaistua

User avatar
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 8:56 pm
Location: Joku piste pohjoisessa.

Re: Tyhmät kysymykset (I/2010)

Post by naputtelija » Mon Dec 27, 2010 1:14 am

DJ-Filbe wrote:CB-ohjelma käyntiin windowsin käynnistyessä???

Code: Select all

Include "cbAPI.cb"
SetRegistryString(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Run", "CB-ohjelma", path$)
?
Kyllä tuo varmaan kävisi.

Ja nyt kun offia en viitsi tänne laittaa niin katsokaapa offtopicin viimeisin viesti by naputtelija.
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...

lagaaja

Re: Tyhmät kysymykset (I/2010)

Post by lagaaja » Tue Dec 28, 2010 1:20 am

miks fps aina romahtelee välillä =D.Jos ajan tollasta ohjelmaa joka ei tee muutakun näyttää fps,niin fps on jotai 400-500.sitte jos siinä näytöllä on yksi objekti jota liikuttelen fps on jotain ~300.Ja jos ohjelmassa on vähänkin enemmän koodi rivejä ja muuta niin fps on aina tasan 76 o.0.

User avatar
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset (I/2010)

Post by koodaaja » Tue Dec 28, 2010 4:38 am

FPS:n epätasainen tippuminen on jokin kummallinen CB:n pelimoottorin ominaisuus. Muita kieliä käytettäessä FPS tippuu ensin kovin nopeasti ja sitten hitaammin, mutta ilman hyppyjä.

User avatar
JATothrim
Tech Developer
Tech Developer
Posts: 606
Joined: Tue Aug 28, 2007 6:46 pm
Location: Kuopio

Re: Tyhmät kysymykset (I/2010)

Post by JATothrim » Tue Dec 28, 2010 4:26 pm

lagaaja wrote:miks fps aina romahtelee välillä =D.Jos ajan tollasta ohjelmaa joka ei tee muutakun näyttää fps,niin fps on jotai 400-500.sitte jos siinä näytöllä on yksi objekti jota liikuttelen fps on jotain ~300.Ja jos ohjelmassa on vähänkin enemmän koodi rivejä ja muuta niin fps on aina tasan 76 o.0.
Ole iloinen, että fps on ylipäätään suurempi kuin 60, joka on tunnettu "raja-arvo" CB-peleissä. ko. raja oli yleensä näytön Hz lukema. CB ei käytä alunperin laitteisto kiihdytystä millään tavoin, vaan piirtää kaiken 'Blittaamalla' kuvia framebufferiin CPU:lla. Windows Vistan ja seiskan tullen CB-pelit ovat tulleet 'epäsuorasti laitteistokiihdytetyiksi', jolloin riippuu näytönohjaimen ajureista miten kyseinen blittaus operaatio tapahtuu.
-On selkeästi impulsiivinen koodaaja joka...
ohjelmoi C++:lla rekursiivisesti instantioidun templaten, jonka jokainen instantiaatio instantioi sekundäärisen singleton-template-luokan, jonka jokainen instanssi käynistää säikeen tulostakseen 'jea'.

User avatar
Nameless_One
Member
Posts: 63
Joined: Fri Mar 26, 2010 5:05 pm

Re: Tyhmät kysymykset (I/2010)

Post by Nameless_One » Tue Dec 28, 2010 9:19 pm

Haluaisin tehdä ohjelman, joka skannaa koko tilekartan läpi etsien datatilen(jonka arvo on yksi) ja sijoittaa objektin tilen paikalle. Ongelma on, etten tiedä hyvää tapaa muuntaa tilekartan koordinaatit maailman tai ruudun koordinaateiksi, varsinkaan jos kartan koko ei ole vakio. Mikä neuvoksi?
Projektit:
Semmonen jännä tasoloikka

Youtube-kanavani
Uusin video: Pelataas LoZ Oracle of Seasons - Osa 14 - Tarm Rauniot

Locked