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 »

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 »

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 3: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 »

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 7: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 »

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

Re: Tyhmät kysymykset (I/2010)

Post by Akuji »

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 »

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 »

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: 1599
Joined: Thu Dec 06, 2007 7:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by valscion »

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 »

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
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Viltzu »

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 3: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 »

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 »

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 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

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 »

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

Re: Tyhmät kysymykset (I/2010)

Post by Frozen »

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
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: Tyhmät kysymykset (I/2010)

Post by naputtelija »

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 »

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

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

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 4:05 pm

Re: Tyhmät kysymykset (I/2010)

Post by Nameless_One »

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