Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
koodari1321

Re: Tyhmät kysymykset (I/2010)

Post by koodari1321 »

Kertokaapas millanen ois Cpu Test2? oon nyt tehny test 1,millanen ois 2?ideoita?mitä lasketaan?ajastus?kuvia?
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Tyhmät kysymykset (I/2010)

Post by Pate5 »

koodari1321 wrote:Kertokaapas millanen ois Cpu Test2? oon nyt tehny test 1,millanen ois 2?ideoita?mitä lasketaan?ajastus?kuvia?
Pisteiden laskeminen, eli nopeuden laskeminen kannattaa tehdä tietokoneen ajastinta käyttäen. Yhdessä testissä voit vaikka laittaa koneen laskemaan erittäin vaikeita laskulausekkeita, toisessa taas laskemaan about 10 000 helpompaa lauseketta. Yksi testi voisi olla myös erilaisten kuvien(esim. fraktaalikuvioiden, gradienttien yms.) luominen.

Reaaliaikaista piirtotestiä ei ikävä kyllä kannata tehdä, koska esimerkiksi windows XP:ssä cb-ohjelmien fps on rajoitettu kuuteenkymmeneen, kun taas seiskassa rajaa ei ole. Toisaalta tällaisen testin voisi tehdä niin raskaaksi, että maksimi-fps:ää ei saavuteta, ja kokonaisaika laskettaisiin ajastimella.
CoolBasic henkilökuntaa
Graafikko
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Feuer »

Näytön hertsithän sitä ruudunpäivitystä rajoittavat eikä OS, ellen väärässä ole. CB-softillahan vsync on automaattisesti käytössä, vai?
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
tuhoojabotti
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 3:53 pm
Location: Suomi, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by tuhoojabotti »

Feuer wrote:Näytön hertsithän sitä ruudunpäivitystä rajoittavat eikä OS, ellen väärässä ole. CB-softillahan vsync on automaattisesti käytössä, vai?
Drawscreen on, on, niin käyttää näyttiksen vsynciä.
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
koodari312231

Re: Tyhmät kysymykset (I/2010)

Post by koodari312231 »

Siis aattelin,että kun tein jo tollasen lasku jutun jossa käytetää ajastinta^^siinä ekassa on 10looppia että tulisi mahdollisimman tasaisia pisteitä joka kerta ja pisteet otetaan ajastuksen avulla.Mut aattelin et jos ois joku toine tapa mite sais sitä cputa rasitettuu?Ku ei viittis laittaa 2 samanlaista plussataa miinustetaa kerrotaa laskuu.noissahan ei oo drawscreenii,nii ei pitäs vaikuttaa se screenin hertsi määrä.Ja laskee paljon nopeemmin ilman drawscreenii.Sitte oon tehny ne grafiikka testit nii,että se kestää vaikka 30sek ja sitte siinä on joku vaikee piirtokomennoilla tehty kuva joka(aaltoilee,pyörii tai jtn),ja pisteet lasketaa,että kuinka monta framee kerkee näyttää sen 30sek aikana.Ja sen verran raskaita ,että tällä mun uuber koneella fps on joku 20 kokoajan,että vaikuttaako näytön hertsit paljoo ku on fps noin matalalla?
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by temu92 »

Tekstin ulkoasua vois vähän yrittää siistiä. Pisteiden, pilkkujen ja numeroiden jälkeen tulee väli. Tuosta ei saa tällä hetkellä mitään selvää :/
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Tyhmät kysymykset (I/2010)

Post by Pate5 »

Useimmissa näytöissä maksimaalinen virkistystaajuus on 80Hz, tai 60Hz. Tämä tarkoittaa sitä, että näytössä näkyvä kuva vaihtuu 80(tai 60) kertaa sekunnissa.

Fps ei periaatteessa vaikuta virkisystaajuuteen, eikä virkistystaajuus fps:ään. Vaikka fps nousisi yli kahdeksaankymppiin, näytöllä näkyvä kuva päivittyy silti 80 kertaa sekunnissa. Fps kertoo, kuinka monta framea cb tuottaa(ja piirtää) sekunnissa. Ongelmana on, että joissakin tietokoneissa cb rajoittaa fps:än automaattisesti kuuteenkymmeneen, ja joissakin ei.
EDIT:

Edit: Omalla koneella ainakin jos laittaa Drawscreen ON,ON(eli näytönohjaimen VSync), fps-raja katoaa. Mutta kuten itse sanoit, hyvässä(?) testissä voitaisiin pyörittää jotakin efektiä esim. puolen minuutin ajan(tietokoneen ajastimella mitattuna) ja laskea piirrettyjen framejen määrä. Tämä kannattaisi käytännäössä tehdä niin raskaaksi, että fps ei voi ylittää kuuttakymmentä, koska muuten jotkut koneet saisivat 'etua'.

CoolBasic henkilökuntaa
Graafikko
koodari312

Re: Tyhmät kysymykset (I/2010)

Post by koodari312 »

Siis niissä grafiikka testeissä on ~20fps,mut millasen siitä cpu test2 teen?Kertokaa,että mitä siinä laskettais ja mihin se sitten loppuis,kunnes aika on kulunu tai numero on tarpeeks pieni/suuri...?
Nassi_Setä
Advanced Member
Posts: 281
Joined: Sat Jun 28, 2008 5:19 pm
Location: Hämeessä miä

Re: Tyhmät kysymykset (I/2010)

Post by Nassi_Setä »

Jos koodissa lataa vaikka 50 kuvaa, niin vieköse enemmän tehoja kuin koodi jossa ei lataa kuvia?
Lataus aikaa ei lasketa mukaan vaan vaikuttaako kuvien määrä pelin "pyörimis" nopeuteen?
\../(-_-)\../ <---klick MyBrute Image
Jotain evilii on tekeillä....
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Tyhmät kysymykset (I/2010)

Post by Pate5 »

Nassi_Setä wrote:Jos koodissa lataa vaikka 50 kuvaa, niin vieköse enemmän tehoja kuin koodi jossa ei lataa kuvia?
Lataus aikaa ei lasketa mukaan vaan vaikuttaako kuvien määrä pelin "pyörimis" nopeuteen?
Ei tietääkseni pitäisi vaikuttaa, ellei sitten muisti lopu, joka ei kyllä käytännössä ole mahdollista.
CoolBasic henkilökuntaa
Graafikko
mikkois
Newcomer
Posts: 43
Joined: Wed Sep 02, 2009 1:16 am
Location: Kokkola

Re: Tyhmät kysymykset (I/2010)

Post by mikkois »

Jonez wrote:
Tämä on ihan pässi kysymys mutta miten saan objektin liikkumaan ruudussa puolelta toiselle eli "kimpoaa" seinästä ja jatkaa matkaa kunnes taas tulee seinä vastaan ja kimpoaa takaisin.
Oletan että tarkoitat objektia jota ei itse ohjailla.

Käytä ukon (objektin) x- ja y-suuntaiseen liikuttamiseen jotain muuttujaa, joka säilöö tiedon nopeudesta.

Tässä koodissa esimerkiksi kyseiset muutujat olisivat liikeX ja liikeY. Kun liikeX > 0, ukko liikkuu oikealle. Kun liikeX < 0, vasemmalle. Kun liikeY > 0, ukko liikkuu ylöspäin.

Code: Select all

Translateobject ukko, liikeX, liikeY
Kun ukko osuu seinään, haluamme että se kimpoaa. Tämän saa yksinkertaisesti vaihtamalla liikesuunnan vastakkaiseksi (kohtisuorilla pinnoilla. Muulloin homma menee mutkikkaammaksi). Eli kun ukko osuu ylä- tai alareunaan, vaihdamme liikeY-muuttujan vastakkaiseksi vaikka näin:

Code: Select all

liikeY = liikeY * -1
Sama juttu liikeX-muuttujalle, jos ukko osuu ruudun sivuihin.

Mistä sitten tiedämme, että ukko osuu seinään? Normaalin ikkunan koko on 400x300, ja ruudun keskusta on 0, 0 (ellei kameraa siirrellä). näin ollen vasen reuna on -200, oikea 200, yläreuna 150 ja alareuna -150. Mutta jos muutamme resoluutiota (SCREEN-komento), nämä mitat muuttuvat ja joudumme tekemään uudet laskutoimitukset. Tämän voi kiertää helposti käyttämällä cb:n funktioita ScreenWidth() ja Screenheight(), jotka palauttavat käytössä olevan resoluution. Tämä resoluutio jaettuna kahdella kertoo kätevästi ruudun reunojen etäisyyden keskustasta.

Seuraava koodinpätkä tarkastaa onko objektin x-koordinaatti ylittänyt ruudun oikean reunan. Jos on, liikeX muutetaan vastakkaiseksi, eli objekti lähtee vastakkaiseen suuntaan (kimpoaa).

Code: Select all

If ObjectX( ukko ) > ScreenWidth() / 2 Then
    liikeX = liikeX - 1
EndIf
Kiitos hyvistä neuvoista Jonez. Eilen yritin parhaani mukaan sijoittaa neuvosi tuohon omaan ohjelmaani mutta en vaan onnistunut siinä. Olen aika noob tässä coolbasicin käytössä vielä. Tässä on meikäläisen ohjelmapätkä tällä hetkellä. Pystyisitkö Jonez(tai joku muu fiksu coolbasic -puuhailija) soveltamaan nuo neuvomasi koodit tähän. Ilmeisesti laitoin itse vääriä koodeja repeat silmukkaan ja vääriä ennen silmukkaa joten homma ei toiminut. Olisin erittäin kiitollinen jos joku osaisi auttaa tässä jutussa niin pääsisin puuhailussa eteenpäin :oops: Eli ukkeli (isomies) pitäisi saada kimpoilemaan ruudun reunasta toiseen vaakatasossa.



SCREEN 800,500
FrameLimit 60 'rajoita nopeutta


alku:
pikkumies = LoadObject ("c:\pikkumies.jpg",72)
isomies = LoadObject ("c:\isomies.jpg",72)


PositionObject isomies,200,0
PositionObject pikkumies,-300,200


SetupCollision pikkumies,isomies,2,2,2
SetupCollision isomies,pikkumies,2,2,2

Repeat

If LeftKey()Then MoveObject pikkumies, -1
If RightKey()Then MoveObject pikkumies, +1
If UpKey()Then MoveObject pikkumies, 0,-1
If DownKey()Then MoveObject pikkumies, 0,+1

MoveObject isomies,-2

törmäykset=CountCollisions(pikkumies)
If törmäykset=1 Then Goto uudestaan
DrawScreen

Forever
User avatar
KillBurn
Advanced Member
Posts: 339
Joined: Wed Aug 29, 2007 5:02 pm

Re: Tyhmät kysymykset (I/2010)

Post by KillBurn »

Code: Select all

SCREEN 800,600
FrameLimit 40 'rajoita nopeutta

pikkumies = LoadObject ("media\soldier.bmp",72)
isomies = LoadObject ("media\soldier.bmp",72)


PositionObject isomies,200,0
PositionObject pikkumies,-300,200


SetupCollision pikkumies,isomies,2,2,2
SetupCollision isomies,pikkumies,2,2,2
liike=5
Repeat

If LeftKey()Then MoveObject pikkumies, -4
If RightKey()Then MoveObject pikkumies, +4
If UpKey()Then MoveObject pikkumies, 0,-4
If DownKey()Then MoveObject pikkumies, 0,+4

MoveObject isomies,liike
If ObjectX(isomies)<-400 Then liike=5
If ObjectX(isomies)>400 Then liike=-5

DrawScreen

Forever
Vaikka noin. Homma toimii nyt liike muuttujan avulla, eli jos objekti on -400\400 pikselin kohdasssa ruudulla, niin liike muttuja vaihtaa etumerkkiä. Vaihdoin parempaan resoluutioon ja poistin jotain kokeilujasi, että varmasti toimisi.
Sumu Games: Sam, Ur eye!
mikkois
Newcomer
Posts: 43
Joined: Wed Sep 02, 2009 1:16 am
Location: Kokkola

Re: Tyhmät kysymykset (I/2010)

Post by mikkois »

Kiitos Killburn! Nyt pääsen jatkaan tuosta eikä tarvi hakata päätä seinään tuon kanssa enää. Oujee. :P
koodari3123

Re: Tyhmät kysymykset (I/2010)

Post by koodari3123 »

jos teen tohon joskus netti highscoren,nii miten se sitte oikee pitäs tehdä?Teenkö jonku uuden sivun jonne sitte laitan,että se ohjelma lähettää ne pisteet ja sitte,jos siellä on korkeemmat pisteet nii sitte ei lähetä.Ja tein tosta toisesta CPu testistä sellasen,et se lataa 600 imagee,sinne muistii ja katotaa,et kauan meni aikaa..oisko jotai parempii cpu testi ideoita?
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Location: Viitasaari, Keski-Suomi
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Herra Siili »

Palvelinpuolella lista kannattaa toteuttaa PHP:llä.
a.k.a. Hedge
User avatar
Misthema
Advanced Member
Posts: 312
Joined: Mon Aug 27, 2007 8:32 pm
Location: Turku, Finland
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Misthema »

Ei kellään olis tietoa/taitoa/aikaa kääntää pseudo-funktiot täältä CB:llä toimivaksi? =))
Tarviis jonnin näköisen satunnaiskartta-generaattorin ja ajattelin että noilla funktioilla pääsisin melko pitkälle, jos vain saisin ne CB:llä toimivina...
koodari3124

Re: Tyhmät kysymykset (I/2010)

Post by koodari3124 »

Mite saan sellasen netti hi scoren tehtyy?Teenkö niin,että mun kone on se serveri ja kaikki tulokset lähetetää tänne,ja sitte täältä siihe coolbasicille.Vai saanko tehtyy sellasen sivun johon ne lähetettää ja josta se korkein tulos lähetetää siihe coolbasicille?Voiko se sivu olla joku mbnet.koti.... juttu vaa? vai miten?
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by temu92 »

Ohjelmoit PHP:lla pätkän joka ottaa dataa vastaan osoiteriviltä ($_GET) ja sitten vaan käyttämällä jotakin cb:lle tehtyä nettikirjastoa (esim. cbNetwork) yhdistät sinne mihin sen olet ladannut, vaikkapa just mbnet.
jaahas
Advanced Member
Posts: 307
Joined: Fri Feb 05, 2010 11:36 pm
Location: Tornio

Re: Tyhmät kysymykset (I/2010)

Post by jaahas »

miten saan vaihdettua lähdekoodin sijainnin?
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Viltzu »

jaahas wrote:miten saan vaihdettua lähdekoodin sijainnin?
Voi helv... And you was about 5 years old?

Ei pahalla, mutta tiedätkö edes mikä lähdekoodi on? Se on pelisi(/ohjelman) koodi. Ja se on siellä mihin sen olet tallentanut, siirtänyt, kopioinut...
Locked