Aloittelioille varmaan helpompi multimapilla, kun kerran sellainen vaihtoehto on. Itse en tekisi grafiikanvalintaa, se vain monimutkaistaa asioita turhaat. Grafiikan laadulla ei ole kovinkaan paljoa väliä, kun puhutaan suorituskyvvystä cb:llä. (?) Tai sitten voit laittaa resoluution valinnan, jos välttämättä jotain säätöjuttuja haluat.Nasse-setä wrote:Ettei vaan hautautuisi, niin voisisiko joku vastata tähän aimempaan kysymykseeni?Nasse-setä wrote:Hommailen semmoista ruutupohjaista(liikutaan ruuduissa) ylhäältä kuvattua graafista sotapeliä, jonka tilet tulee olemaan kooltaan 32x32, mutta tarve olisi nähdä kartta myös "kauempaa" eli että ruudulle mahtuisi enemmän tilejä tavallaan niinku zoom-out. Ilman tätä ominaisuutta kuva kartasta jää vain paikalliseksi, eikä pelaaja saa kunnon kuvaa koko kartasta. Mutta miten toteuttaa? Lataanko erikokoisia karttoja enemmän MultiMapSystemillä ja sitten vaihtelen niitä jos pelaaja haluaa nähdä kokonaisuuden? Montaks siihen MultiMapSystem:iin menee karttoja niin että pelittää, kun kartoista kuitenkin tulossa suuria ja niitä tulee monta.
Ja toinen juttu; peliin tulee(varmaankin) grafiikkojen laadun valinta. Onko se sillee et mä vaan lataan eri kokoiset/resoluutioiset grafiikat sen mukaan miten pelaaja haluaa ja käytän niitä?
Tyhmät kysymykset (I/2009)
Re: Tyhmät kysymykset
[color=#40BF00][u]koodaaja[/u][/color] wrote:Täyden turvan takaamiseksi avain olisi myös kuljetettava offlinenä suoraan tulevien viestien lähettäjältä niiden vastaanottajalle laitakaupungin hämärissä yöneljältä ja varmistettava, ettei kumpaakaan osapuolta seurata. Popliinitakkia suositellaan.
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset
Code: Select all
FrameLimit 40 'Rajoita suoritus
map=LoadMap("C:\Users\Jani\Desktop\oma\moottori.til","C:\Users\jani\Desktop\oma\Pictures\tileset.bmp") 'Lataa kartta
[b]PlayObject map,0,0,0.5[/b]
guy=LoadObject("C:\Users\jani\Desktop\oma\Pictures\objectini\peli_objecti.bmp",72) 'Lataa "pelaaja"
SetupCollision guy,map,2,4,1
Repeat
If LeftKey() Then
TurnObject guy,5
ElseIf RightKey() Then
TurnObject guy,-5
ElseIf UpKey()
MoveObject guy,2
ElseIf DownKey() Then
MoveObject guy,-2
EndIf
UpdateGame
CloneCameraPosition guy
DrawScreen
Until EscapeKey()
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
-
- Advanced Member
- Posts: 349
- Joined: Mon Aug 27, 2007 9:00 pm
- Location: Lapinjärvi, Finland
- Contact:
Re: Tyhmät kysymykset
Olethan muistanut animoida tilekartan karttaeditorilla?
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
Runoblogi, vuodatusta ja sekoiluja.
Re: Tyhmät kysymykset
Terve. Tuli pikku ongelma Coolbasicin kans. Aivan sama mitä koodia kirjoitan ja laitan F5 tulee ilmoitus:
"Can't save this file. Check the writing permissions." Jonka jälkeen se käynistää viimeisimmän käytetyn esimerkkiohjelman. Käänsin tämän näin.:
"Et voi tallentaa tätä arkistoa. Tarkista kirjoitus oikeudet." Mikä on tähän syy. Voisiko joku auttaa?
"Can't save this file. Check the writing permissions." Jonka jälkeen se käynistää viimeisimmän käytetyn esimerkkiohjelman. Käänsin tämän näin.:
"Et voi tallentaa tätä arkistoa. Tarkista kirjoitus oikeudet." Mikä on tähän syy. Voisiko joku auttaa?
Re: Tyhmät kysymykset
Vista? Aja CBEditor.exe järjestelmänvalvojana.
Koitappa myös vaikka poistaa IDE-kansiosta cbRun.exe tiedosto ja sitten koita kääntää F5:lla uudelleen.
Koitappa myös vaikka poistaa IDE-kansiosta cbRun.exe tiedosto ja sitten koita kääntää F5:lla uudelleen.
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
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com
Re: Tyhmät kysymykset
VesQ: Ei oo vista mut , cbRunin poisto autto
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset
Olen muistanut.otto90x wrote:Olethan muistanut animoida tilekartan karttaeditorilla?
EDIT:
Ratkaisin jo.
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: Tyhmät kysymykset
Ette pysty testata, mutta lähetin kuitenkin, koska en itse osaa tätä ratkaista.
Kertokaa samalla, jos koodissa on jotain outouksia.
Media\ukkeli2-on tarkoituksella viiva perässä, koska olen muokannut sitä.
Kertokaa samalla, jos koodissa on jotain outouksia.
Media\ukkeli2-on tarkoituksella viiva perässä, koska olen muokannut sitä.
EDIT:
Jumalauta! Unohdin tietysti tärkeimmän: eli CB väittää, ettei löydä repeattia, kun testaan ohjelmaa. Yleensä tämä on tarkoittanut minulla, että koodissa on ollut If-komento, muttei Theniä.
Olen kyllä tarkastanut koodin ainakin viisi kertaa.
Code: Select all
Type VIHUT
Field hp
EndType
Type PANOKSET
Field obj
EndType
SCREEN 1024,768,0,0
kartta=LoadMap("C:\Projekti\Media\maze.til","C:\Projekti\Media\tileset2.png")
ukko=LoadObject("Media\soldier.bmp",360)
vihu=LoadObject("Media\ukkeli2-.bmp",360)
pati=LoadObject("Media\bullet.bmp",360)
tähtäin=LoadObject("Media\crosshair.bmp",360)
SetupCollision ukko,kartta,1,4,2
ShowObject pati,OFF
ShowObject vihu,OFF
Repeat
If KeyDown (cbkeyw) Then MoveObject ukko,2
If KeyDown (cbkeys) Then MoveObject ukko,-1
If KeyDown (cbkeya) Then MoveObject ukko,0,-1
If KeyDown (cbkeyd) Then MoveObject ukko,0,1
CloneCameraPosition ukko
PointObject ukko,tähtäin
ScreenPositionObject tähtäin, MouseX(), MouseY()
PointObject vihu,ukko
reload=5
If reload>0 Then reload=reload-1
If MouseHit(1) And reload=0 Then
luoti.PANOKSET= New(PANOKSET)
luoti\obj=CloneObject(pati)
CloneObjectPosition luoti\obj, ukko
CloneObjectOrientation luoti\obj, ukko
EndIf
For luoti.PANOKSET = Each PANOKSET
MoveObject luoti\obj,15
Next luoti
For vih.VIHUT=Each (VIHUT)
vih\hp=100
If ObjectsOverlap(luoti\obj,vihu) Then vih\hp = vih\hp-25
If vih\hp < 1 Then
DeleteObject vihu
Text 0,0,"Voitit botin! Eiks ollukkin vaikeeta?"
EndIf
DrawScreen
Forever
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
Re: Tyhmät kysymykset
Jo löytyi!jesperx96 wrote:Jumalauta! Unohdin tietysti tärkeimmän: eli CB väittää, ettei löydä repeattia, kun testaan ohjelmaa.
Code: Select all
For vih.VIHUT=Each (VIHUT)
vih\hp=100
If ObjectsOverlap(luoti\obj,vihu) Then vih\hp = vih\hp-25
If vih\hp < 1 Then
DeleteObject vihu
Text 0,0,"Voitit botin! Eiks ollukkin vaikeeta?"
EndIf
DrawScreen
Re: Tyhmät kysymykset
On se jännä tämä CoolBasicin ihmeellinen maailma. Kiitos!
We see the lines in chalk
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
The warning signs in where we walk
In the shadows of the cities maze
To try and fight for better days
Re: Tyhmät kysymykset
Olen kohdannut aivan helvetin ärsyttävän ongelman desimaalien kanssa. Kyseessä on kaiketi jonkinlainen CB -bugi.
Tämä koodi demonstroi ongelmaa mainiosti. Ruudulla näkyy numero 0.5, ja kun painat alanuolta, tuosta numerosta vähennetään 0.1. Kun muutaman kerran näppäintä painat, saavutat luvun 0.0. Tai niin ainakin pitäisi käydä. CoolBasic vissiin hämmentyy luvusta 0.0, sillä ruudulla lukeekin jotain älytöntä kuten "1.4008e-008". Joskus myös luku 0.1 menee sekaisin.
Tämä on erityisen kiusallista, sillä työstän ohjelmaa jossa on paljon muuttujia, joita voidaan nappuloilla pienennellä ja suurennella. Voiko tämän kiertää jotenkin järkevästi?
Code: Select all
ARVO# = 0.5
ASKEL# = 0.1
Repeat
// Arvon muuttaminen nuolinäppäimillä
If KeyHit(cbkeyup) Then ARVO = ARVO + ASKEL
If KeyHit(cbkeydown) Then ARVO = ARVO - ASKEL
// Pidetään arvo välillä -1.0 - 1.0
ARVO = Min(Max(ARVO,-1.0),1.0)
Text 20,20,ARVO
Text 10,280,"Muuta arvoa nuolinäppäimillä."
DrawScreen
Forever
Tämä on erityisen kiusallista, sillä työstän ohjelmaa jossa on paljon muuttujia, joita voidaan nappuloilla pienennellä ja suurennella. Voiko tämän kiertää jotenkin järkevästi?
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset
Laita vertailu, Näin:Ruuttu wrote:Olen kohdannut aivan helvetin ärsyttävän ongelman desimaalien kanssa. Kyseessä on kaiketi jonkinlainen CB -bugi.
Tämä koodi demonstroi ongelmaa mainiosti. Ruudulla näkyy numero 0.5, ja kun painat alanuolta, tuosta numerosta vähennetään 0.1. Kun muutaman kerran näppäintä painat, saavutat luvun 0.0. Tai niin ainakin pitäisi käydä. CoolBasic vissiin hämmentyy luvusta 0.0, sillä ruudulla lukeekin jotain älytöntä kuten "1.4008e-008". Joskus myös luku 0.1 menee sekaisin.Code: Select all
ARVO# = 0.5 ASKEL# = 0.1 Repeat // Arvon muuttaminen nuolinäppäimillä If KeyHit(cbkeyup) Then ARVO = ARVO + ASKEL If KeyHit(cbkeydown) Then ARVO = ARVO - ASKEL // Pidetään arvo välillä -1.0 - 1.0 ARVO = Min(Max(ARVO,-1.0),1.0) Text 20,20,ARVO Text 10,280,"Muuta arvoa nuolinäppäimillä." DrawScreen Forever
Tämä on erityisen kiusallista, sillä työstän ohjelmaa jossa on paljon muuttujia, joita voidaan nappuloilla pienennellä ja suurennella. Voiko tämän kiertää jotenkin järkevästi?
Code: Select all
ARVO# = 0.5
ASKEL# = 0.1
Repeat
// Arvon muuttaminen nuolinäppäimillä
If KeyHit(cbkeyup) Then ARVO = ARVO + ASKEL
If KeyHit(cbkeydown) Then ARVO = ARVO - ASKEL
If arvo<=0.0 Then arvo=0.0
// Pidetään arvo välillä -1.0 - 1.0
ARVO = Min(Max(ARVO,-1.0),1.0)
Text 20,20,ARVO
Text 10,280,"Muuta arvoa nuolinäppäimillä."
DrawScreen
Forever
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: Tyhmät kysymykset
Kiitos mutta ei kiitos. Juuri se 1.4008e-008 -juttu tässä häiritsee.skorpioni-cb wrote:En saanut 1.4008e-008-juttua pois, mutta luku ei mene alle nollan.
Re: Tyhmät kysymykset
Mistä Readfloat koodinpätkä on tollanen. Ja olen tarkistanut polun useita kertoja.
virheilmoitus voisi johtua?ReadFloat failed.
Code: Select all
If KeyHit (cbkeyo) Then Floatti=ReadFloat (t)
Re: Tyhmät kysymykset
Itse luulen vian olevan "-1.0"-kohdassa. Kokeile vaihtaa se nollaksi. En tesminyt mutta ehkä näin.Ruuttu wrote:Olen kohdannut aivan helvetin ärsyttävän ongelman desimaalien kanssa. Kyseessä on kaiketi jonkinlainen CB -bugi.
Tämä koodi demonstroi ongelmaa mainiosti. Ruudulla näkyy numero 0.5, ja kun painat alanuolta, tuosta numerosta vähennetään 0.1. Kun muutaman kerran näppäintä painat, saavutat luvun 0.0. Tai niin ainakin pitäisi käydä. CoolBasic vissiin hämmentyy luvusta 0.0, sillä ruudulla lukeekin jotain älytöntä kuten "1.4008e-008". Joskus myös luku 0.1 menee sekaisin.Code: Select all
ARVO# = 0.5 ASKEL# = 0.1 Repeat // Arvon muuttaminen nuolinäppäimillä If KeyHit(cbkeyup) Then ARVO = ARVO + ASKEL If KeyHit(cbkeydown) Then ARVO = ARVO - ASKEL // Pidetään arvo välillä -1.0 - 1.0 ARVO = Min(Max(ARVO,-1.0),1.0) Text 20,20,ARVO Text 10,280,"Muuta arvoa nuolinäppäimillä." DrawScreen Forever
Tämä on erityisen kiusallista, sillä työstän ohjelmaa jossa on paljon muuttujia, joita voidaan nappuloilla pienennellä ja suurennella. Voiko tämän kiertää jotenkin järkevästi?
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Re: Tyhmät kysymykset
Vika on ehkä siinä, että floatit eivät ole kovin tarkkoja. (Vaikka laskutoimitus on noin yksinkertainen)
Projektit:
Jotain pientä (Ehkä vähän suurempaakin)
-Tuxi- (myös Tuxi4321)
Jotain pientä (Ehkä vähän suurempaakin)
-Tuxi- (myös Tuxi4321)
Re: Tyhmät kysymykset
http://en.wikipedia.org/wiki/Floating_p ... y_problemsRuuttu wrote:Olen kohdannut aivan helvetin ärsyttävän ongelman desimaalien kanssa. Kyseessä on kaiketi jonkinlainen CB -bugi.
Last edited by m1c on Tue May 26, 2009 1:17 pm, edited 1 time in total.
Re: Tyhmät kysymykset
Miten saan tähän alla olevaani koodiin järkevän törmäys tarkastuksen koska en itse mitenkään saa niin että katotaan juuri oikean väliajoin että kumpi piste on kyseessä ja tuo on sitten dda algoritmi (jos se auttais)
ja koodi
ja koodi
Code: Select all
SCREEN 1440,900
px = 640
py = 640
angle# = 1
Dim kartta(1440/64,900/64)
For x = 0 To 10
For y = 0 To 10
kartta(x,y) = 0
If x > 9 Then kartta(x,y) = 1
Next y
Next x
Repeat
For x = 0 To 1440/64
For y = 0 To 900/64
If kartta(x,y) Then
Color 255,0,0
Box x*64,y*64,64,64
EndIf
Next y
Next x
px = MouseX()
py = MouseY()
angle#= WrapAngle(angle# + (LeftKey()-RightKey())*.3)
For i = 0 To 100
Line i*64,0,i*64,900
Line 0,i*64,1440,i*64
Next i
//Ylös
//alas: Ay# = rounded_down(Py/64) * (64) + 64
//oikea: Bx# = rounded_down(Px/64) * (64) + 64
//vasen: Bx# = rounded_down(Px/64) * (64) - 1
Ya# = -64
Xa# = RoundDown(64/Tan(angle))
Ay# = RoundDown(Py/64) * (64) + 64
Bx# = RoundDown(Px/64) * (64) + 64
Yb# = RoundDown(64*Tan(angle))
Xb# = -64
If angle# > 0 And angle# < 90 Then
Bx# = RoundDown(Px/64) * (64) - 1
Yb# = RoundDown(-64*Tan(angle))
Xb# = 64
ElseIf angle# > 180 And angle# < 270 Then
Ya# = 64
Xa# = RoundDown(-64/Tan(angle))
Ay# = RoundDown(Py/64) * (64) - 1
ElseIf angle# > 270 Then
Bx# = RoundDown(Px/64) * (64) - 1
Yb# = RoundDown(-64*Tan(angle))
Xb# = 64
Ya# = 64
Xa# = RoundDown(-64/Tan(angle))
Ay# = RoundDown(Py/64) * (64) - 1
EndIf
Ax# = px + (py-ay)/Tan(angle)
By# = py + (px-bx)*Tan(angle)
Color 255,128,0
Circle -5+px,-5+py,10
Cx# = Ax+Xa
Cy# = Ay+Ya
Bx# = Bx+Xb
By# = By+Yb
For i = 0 To 10
Color cbgreen
Box +27+RoundDown(Cx/64)*64,+27+RoundDown(Cy/64)*64,10,10
Box +27+RoundDown(Bx/64)*64,+27+RoundDown(By/64)*64,10,10
Circle -5+bx,-5+by,10
Circle -5+cx,-5+cy,10
Bx# = Bx+Xb
By# = By+Yb
Cx# = Cx+Xa
Cy# = Cy+Ya
Next i
DrawScreen
Forever
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset
Miten voi tehdä tyhjän kokonaislukumuuttujan? Kun pitäisi tehdä oma tutka-funktio.
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: Tyhmät kysymykset
Kaikilla muuttujilla täytyy periaatteessa olla jokin arvo. Kokonaislukumuuttujilla se on oletuksena nolla. Ohjelma toimii sen mukaan, mitä arvoja muuttujilla on, eli varmistat vain, ettei koodi tee mitään kun arvo on nolla.