Öh, ei näin... Miksi oletat että luvuissa on yhtä paljon numeroita? Lisäsin toisen taulukon lukumäärää ja heti meni systeemisi sekaisin...DJ-Nerd wrote:Tarkoitatko jotain tämäntyyppistä? (tein tässä rajattomien kokonaislukujen yhteenlaskuhomman)Latexi95 wrote:Voisi tuosta jossain vaiheessa väsätä cb:lle rajattoman kokoisten kokonaislukujen hallinta kirjaston...Code: Select all
SCREEN 1300,100 lukujenmäärä=100 vastaus$="" Dim luku1(lukujenmäärä) For i=1 To lukujenmäärä luku1(i)=Rand(0,9) Text 1100-(8*i),0, ""+luku1(i) Next i Text 0,20,"+" Dim luku2(lukujenmäärä) For i=1 To lukujenmäärä luku2(i)=Rand(0,9) Text 1100-(8*i),20,""+luku2(i) Next i Text 0,40,"=" o=0 lisää=0 For i=1 To lukujenmäärä If lisää > 0 Then luku1(i) = luku1(i) +lisää : lisää=0 : o +1 If luku1(i)+luku2(i) >9 Then lisää=RoundDown((luku1(i)+luku2(i))/10) vastaus=""+(luku1(i)+luku2(i)-(lisää*10))+""+vastaus Else vastaus=""+(luku1(i)+luku2(i))+""+vastaus EndIf o +1 Next i hd=1100-16-Len(vastaus)*8 Text hd,40, "= "+vastaus DrawScreen WaitKey
Tyhmät kysymykset (I/2010)
- TheDuck
- Devoted Member
- Posts: 632
- Joined: Sun Aug 26, 2007 3:51 pm
- Location: C:\Program Files\Tuusula\
Re: Tyhmät kysymykset (I/2010)
^^
Re: Tyhmät kysymykset (I/2010)
Öh, ei näin... Sinun tulee muuttaa vain "lukujenmäärä" - muuttujaa numeromäärältään korkeampaa lukua vastaavaksi ja se on siinä. Äsken sinun olisi myös pitänyt muuttaa muutaman silmukan systeemeitä jos et kerran lukumäärä - muuttujaakäyttänyt. Kokeileppa uudestaanTheDuck wrote:Öh, ei näin... Miksi oletat että luvuissa on yhtä paljon numeroita? Lisäsin toisen taulukon lukumäärää ja heti meni systeemisi sekaisin...DJ-Nerd wrote:Tarkoitatko jotain tämäntyyppistä? (tein tässä rajattomien kokonaislukujen yhteenlaskuhomman)Latexi95 wrote:Voisi tuosta jossain vaiheessa väsätä cb:lle rajattoman kokoisten kokonaislukujen hallinta kirjaston...Code: Select all
SCREEN 1300,100 lukujenmäärä=100 vastaus$="" Dim luku1(lukujenmäärä) For i=1 To lukujenmäärä luku1(i)=Rand(0,9) Text 1100-(8*i),0, ""+luku1(i) Next i Text 0,20,"+" Dim luku2(lukujenmäärä) For i=1 To lukujenmäärä luku2(i)=Rand(0,9) Text 1100-(8*i),20,""+luku2(i) Next i Text 0,40,"=" o=0 lisää=0 For i=1 To lukujenmäärä If lisää > 0 Then luku1(i) = luku1(i) +lisää : lisää=0 : o +1 If luku1(i)+luku2(i) >9 Then lisää=RoundDown((luku1(i)+luku2(i))/10) vastaus=""+(luku1(i)+luku2(i)-(lisää*10))+""+vastaus Else vastaus=""+(luku1(i)+luku2(i))+""+vastaus EndIf o +1 Next i hd=1100-16-Len(vastaus)*8 Text hd,40, "= "+vastaus DrawScreen WaitKey
EDIT:
Ehdit vissiin koittaa koodia, jonka ehdin juuri korjata siinä välissä ennen kuin lähetit viestisi, mutta liitit viestiin kuitenkin korjatun koodin
Last edited by DJ-Filbe on Thu May 27, 2010 8:39 pm, edited 3 times in total.
Re: Tyhmät kysymykset (I/2010)
Tässä oikea äärettömän kapasiteetin omaava integer laskuri, joka ei hukkaa bittejä. Yksi "luku" voi olla niin pitkä kuin koneessa on vain muistia tarjolla. Jättiluvun kasvatus ja vähentäminen yhdellä ovat helppoja tehdä, mutta mm. summa menee jo hankalaksi toteuttaa. Summassa taitaa olla muuten ajatus virhe.. miettikääpä asiaa. mrgreen:
Code: Select all
SCREEN 400,480
Dim hugevalue(32) As Byte 'quadruple-quadruple-word aka. 256bit integer :D
Dim hugevalue2(32) As Byte
// limitation: 32bit integer works as "carry-flag" in arithmetic functions (sum and minus)
// so maximum huge value is log2(255*x) < 32 ~ 16843009 bytes long. pretty huge still eh?
Repeat
hugevalue2(0) = 254
For i = 0 To 31
Text 0,i*12,Right(Bin(hugevalue(i)),8)+" "+hugevalue(i)
Next i
For i = 0 To 31
Text 150,i*12,Right(Bin(hugevalue2(i)),8)+" "+hugevalue2(i)
Next i
DrawScreen
If Not KeyDown(cbkeyspace) Then WaitKey
'dechuge()
addhuge()
Forever
Function inchuge()
hugevalue(0) = hugevalue(0) + 1
While hugevalue(i) = 0
i=i+1
hugevalue(i) = hugevalue(i) + 1
Wend
EndFunction
Function dechuge()
hugevalue(0) = hugevalue(0) - 1
While hugevalue(i) = 255
i=i+1
hugevalue(i) = hugevalue(i) - 1
Wend
EndFunction
Function addhuge()
Dim carry As integer
Repeat
carry = (carry + hugevalue2(i)) 'set carry
If (255 - hugevalue(i)) >= carry 'check If carry fits into current Byte
hugevalue(i) = hugevalue(i) + carry 'add carry
carry = 0
Else
carry = carry - (255 - hugevalue(i)) 'no, it did Not: substract empty
hugevalue(i) = (255 - hugevalue(i)) 'set inverse
EndIf
i=i+1
Until i > 31
EndFunction
-On selkeästi impulsiivinen koodaaja joka...
Re: Tyhmät kysymykset (I/2010)
JATothrim: Etkö olisi vain voinut käyttää muistipalaa ja big-endian -lukuja?
Re: Tyhmät kysymykset (I/2010)
Nyt kyllä bugaa pahasti! DrawScreen tuottaa MAV:in! En viitsisi lähetää projektin koodia yleiseen jakeluun, mutta onko mitään ehdotuksia syyksi?
Olen kyllä kokeillut waittejä sen etenn mutta ei se auta... Olen tosin huomannut tämän ennenkin, mutta vain tällä konella joten se sattaa olla konekohtaista...
Olen kyllä kokeillut waittejä sen etenn mutta ei se auta... Olen tosin huomannut tämän ennenkin, mutta vain tällä konella joten se sattaa olla konekohtaista...
Last edited by phons on Thu May 27, 2010 9:32 pm, edited 1 time in total.
Re: Tyhmät kysymykset (I/2010)
Jos cb tuottaa esim. ylimääräisen rivin takia täysin epäloogisen mavin, saattaa uusi rivi korjata asia. Esim. Wait 1 ennen mavin "aiheuttavaa" riviä saattaa korjata vian. Myöhemmin, kun koodi kasvaa, voi Wait 1:n poistaa ilman että mysteerimavi uusiutuu.
Näitä cb:n hienouksia
Näitä cb:n hienouksia
Re: Tyhmät kysymykset (I/2010)
Kohtasin vanhan Battlejeep - sharewaren ja jäin koukkuun jälleen. Mietin että voisi maksaakin siitä sen rekisteröintihinnan, mutta pelin toimivuus oli nollaluokkaa Vistalla ja 7:lla. Jalostin ajatusta ja nyt olen tehnyt pelistä kloonin CB:llä. Ongelma on siinä että kun tuolla autolla ammuskelee (ylänuoli) niin jollain todennäköisyydellä tulee MAV. Näkisikö joku viisaampi tuosta koodista mikä sen aiheuttaa?
- Attachments
-
- battlejeepklooni.zip
- (6.54 KiB) Downloaded 246 times
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Blogi - Peräpohjola - MERPG
Re: Tyhmät kysymykset (I/2010)
Pelissä voi tulla tapaus, jossa helikopteri tuhotaan, mutta sen jälkeen tarkastetaan onko ko. (tuhottu) objekti jonkin ammuksen päällä -> Mav.
Pientä huomautettavaa:
Ammusten käyttäytyminen on koodattu aika oudosti. Ammukset käydään läpi yhden framen aikana yhtä monta kertaa kuin helikoptereita on olemassa. Eli jos ammuksia liikutetaan normaalisti nopeudella ammusnopeus, ammukset liikkuvatkin nopeudella ammusnopeus * helikopterimäärä. Sen takia ammusten nopeus pelissä kiihtyy.
Objektit kannattaa tuhota vasta silmukan lopussa. Eli keskellä silmukkaa tehdään tarkastukset tuleeko objekti tuhota, ja jos näin on, annetaan jollekin muuttujalle arvo. Jos ko. muuttujan arvo = True silmukan lopussa, tuhotaan objekti. Mutta ei ennemmin. Näin saadaan väistettyä ainakin pari mavia.
Pientä huomautettavaa:
Ammusten käyttäytyminen on koodattu aika oudosti. Ammukset käydään läpi yhden framen aikana yhtä monta kertaa kuin helikoptereita on olemassa. Eli jos ammuksia liikutetaan normaalisti nopeudella ammusnopeus, ammukset liikkuvatkin nopeudella ammusnopeus * helikopterimäärä. Sen takia ammusten nopeus pelissä kiihtyy.
Objektit kannattaa tuhota vasta silmukan lopussa. Eli keskellä silmukkaa tehdään tarkastukset tuleeko objekti tuhota, ja jos näin on, annetaan jollekin muuttujalle arvo. Jos ko. muuttujan arvo = True silmukan lopussa, tuhotaan objekti. Mutta ei ennemmin. Näin saadaan väistettyä ainakin pari mavia.
Re: Tyhmät kysymykset (I/2010)
Sitten vielä rivillä 50 on pieni typo. "reunevaireuna":n pitäisi olla "reunavaireuna", tai sitten se oli aikaisemmin kirjoitettu väärin. Ajattelin vain mainita ennenkuin ehdit kysyä miksi helikopterit liikkuvat aina vain toiseen suuntaan.
Re: Tyhmät kysymykset (I/2010)
Enpä ajatellut kysyä, mutta olin pistänyt tuon käyttäytymisen merkille. Kiitän teitä molempia!Latexi95 wrote:Ajattelin vain mainita ennenkuin ehdit kysyä miksi helikopterit liikkuvat aina vain toiseen suuntaan.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Blogi - Peräpohjola - MERPG
-
- Newcomer
- Posts: 7
- Joined: Sat Apr 17, 2010 6:22 pm
Re: Tyhmät kysymykset (I/2010)
Onko laatikkopoiminta ympyräpoimintaa nopeampi?
Re: Tyhmät kysymykset (I/2010)
Empä ole kokeillut... Siinäpä sinulle oiva harjoitus. Tee molemmilla tavoilla esim. 10000TheLostWayfarer wrote:Onko laatikkopoiminta ympyräpoimintaa nopeampi?
poimintaa ja vertaa aikoja, niin saat sen selville. Määrän täytyy olla kohtuu suuri, että ero
näkyy, sillä ero on todennäköisesti hyvin pieni. Käytännössä sillä tuskin on kovin suurta
merkitystä, joten kannattaa käyttää sitä mikä parhaiten sopii poimittavan kappaleen muotoon.
Pikselintarkka tarkistus on taas sitten omaa luokkaansa, eli reilusti hitaampi.
Re: Tyhmät kysymykset (I/2010)
Ei. Ympyräpoiminnassa pitää tarkistaa ainoastaan etäisyys, joten se on nopeampi.TheLostWayfarer wrote:Onko laatikkopoiminta ympyräpoimintaa nopeampi?
-
- Advanced Member
- Posts: 281
- Joined: Sat Jun 28, 2008 5:19 pm
- Location: Hämeessä miä
Re: Tyhmät kysymykset (I/2010)
Minua kiinnostaisi kuinka LoadImage ja -object oikein toimivat, siis minkälainen rakenne on median lataus funkkarilla?
Re: Tyhmät kysymykset (I/2010)
Toisaalta etäisyyden laskeminen on monimutkaisempi operaatio kuin pienempi/suurempi kuin vertailut.esa94 wrote:Ei. Ympyräpoiminnassa pitää tarkistaa ainoastaan etäisyys, joten se on nopeampi.TheLostWayfarer wrote:Onko laatikkopoiminta ympyräpoimintaa nopeampi?
Re: Tyhmät kysymykset (I/2010)
viewtopic.php?f=12&t=21444 Siinä ois melko pitkälle hyvää median käsittelyä.Nassi_Setä wrote:Minua kiinnostaisi kuinka LoadImage ja -object oikein toimivat, siis minkälainen rakenne on median lataus funkkarilla?
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Tyhmät kysymykset (I/2010)
Minä veikkaan, että Nassi Setä ei hakenut tuollaista. Itse ymmärsin, että hänMaGetzUb wrote:viewtopic.php?f=12&t=21444 Siinä ois melko pitkälle hyvää median käsittelyä.Nassi_Setä wrote:Minua kiinnostaisi kuinka LoadImage ja -object oikein toimivat, siis minkälainen rakenne on median lataus funkkarilla?
haluaisi tietää miten nuo funktiot käytännössä toimisivat, eli miten ne on tehty.
Minä en osaa tähän kovin tarkasti vastata, koska en ole perehtynyt cb:n rakenteeseen,
mutta luulisin, että ne luovat jäsenen luokkaan johon tallennetaan ladattu kuva ja muut tiedot.
Sitten vain palautetaan viittaus jäseneen.
Zero, joku muu kehittäjä tai muuten asiasta tietävä voi sitten korjata ja tarkentaa käsitystäni.
Re: Tyhmät kysymykset (I/2010)
Veikkaisinpa, että ladataan tiedosto muistiin, konvertoidaan haluttuun formaattiin, lähetetään DirectX:lle ja sidotaan uniikkiin tekstuuri-id:hen.Latexi95 wrote:Minä veikkaan, että Nassi Setä ei hakenut tuollaista. Itse ymmärsin, että hänMaGetzUb wrote:viewtopic.php?f=12&t=21444 ;) Siinä ois melko pitkälle hyvää median käsittelyä.Nassi_Setä wrote:Minua kiinnostaisi kuinka LoadImage ja -object oikein toimivat, siis minkälainen rakenne on median lataus funkkarilla?
haluaisi tietää miten nuo funktiot käytännössä toimisivat, eli miten ne on tehty.
Minä en osaa tähän kovin tarkasti vastata, koska en ole perehtynyt cb:n rakenteeseen,
mutta luulisin, että ne luovat jäsenen luokkaan johon tallennetaan ladattu kuva ja muut tiedot.
Sitten vain palautetaan viittaus jäseneen.
Zero, joku muu kehittäjä tai muuten asiasta tietävä voi sitten korjata ja tarkentaa käsitystäni.
Re: Tyhmät kysymykset (I/2010)
Miksi screenshot-komento ei tallenna lattiaobjektia eikä pelin objekteja? Eikö sen pidäkkään tehdä sitä?
EDIT:
E2: olisiko mitään keinoa ottaa screenshot peistä niin että ihan kaikki näkyisi siinä?Ei sit vissiin
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset (I/2010)
Kokeile DrawGamea ennen screenshotin ottamista.DJ-Nerd wrote:Miksi screenshot-komento ei tallenna lattiaobjektia eikä pelin objekteja? Eikö sen pidäkkään tehdä sitä?EDIT:E2: olisiko mitään keinoa ottaa screenshot peistä niin että ihan kaikki näkyisi siinä?Ei sit vissiin