Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
lollero 1996

Re: Tyhmät kysymykset (I/2010)

Post by lollero 1996 »

lollero 1996 wrote:Okei, eli pelin alakulmassa ois kartta, johon yritän nyt saada pisteen/ympyrän/nuolen hahmon kohdalle.

Apua?
Elikkä koitin jo ilmeistä ratkaisua:

Code: Select all

   
    DrawToImage minimap
    DrawImage minimap, 440,220
    cx=ObjectX(player)/20 'Rukkaan tätä vielä
    cy= -ObjectY(player)/20 'Ja tätä
    Circle cx,cy,50,OFF
Mutta ei vattu ku on hidas! FPS 7-10.
Animoin kartan ja käytän Marcoderin talosysteemiä, vaikuttaako se?

P.S Bännit tuli, joten en voi editoida. oikea nimeni on lollero1996 (ei väliä)
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2010)

Post by esa94 »

lollero 1996 wrote:Animoin kartan ja käytän Marcoderin talosysteemiä, vaikuttaako se?
Koita vaikka arvata. Vinkki: Kyllä.

Toisaalta, ei sen niin paljon pitäisi. Jokin muukin kusee tossa sun koodissa mutta en nyt jaksa kattoa, sori.
jesperx96
Active Member
Posts: 190
Joined: Sun Nov 23, 2008 9:35 am
Location: Lappajärvi

Re: Tyhmät kysymykset (I/2010)

Post by jesperx96 »

Reilua, Esa :D
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
User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: Tyhmät kysymykset (I/2010)

Post by Peltsi »

lollero 1996 wrote:
Peltsi wrote:
EDIT:

Teen uutta ohjelmaa ja jotakin CB:llä on minua vastaan, keksi heittää "Can't load map":ia... Kaikki tarvittavat tiedostot ovat CB:n Media kansiossa (ovat siis itse tekemiäni, siirsin ne sinne). Tässä koodi ohjelmasta, tuskin kuitenkaan auttaa mut vilkaskaa nyt kummiskin:

Code: Select all

FrameLimit 60

SCREEN 600,300

SetWindow "Find The Exit"

nuoli = LoadObject ("Media\nuoli.bmp",4)

kartta = LoadMap("Media\karttaw.til","Media\tile.bmp")

PositionObject nuoli,100,100

Repeat

            If LeftKey() Then TurnObject nuoli,1
            If RightKey() Then TurnObject nuoli,-1
            If UpKey() Then MoveObject nuoli,5
            If DownKey() Then MoveObject nuoli,-5
            
DrawScreen
Until EscapeKey ()
[/edit]
En kokeillu vielä, mutta varmaan väärä karttaeditori. Tilester saattaa pukata väärän version karttatiedostosta. On näet olemassa 2 karttatiedosto-versiota, ja Tilester voi joskus laittaa vanhemman. Koska Nyky-CB Käyttää uutta, erroria pukkaa. Eli kartta vaan uusiksi A Stigmatorilla. :lol:
A Stigmatoria käytän, en enään Tilesteriä. Eli vika ei pitäisi liittyä väärään karttaohjelmaan.
Last edited by Peltsi on Tue Nov 02, 2010 2:43 pm, edited 1 time in total.
lollero 1996

Re: Tyhmät kysymykset (I/2010)

Post by lollero 1996 »

Okei, sitten pane lähdekoodi CB:n kansioon. CoolBasic etsii aina tiedostoja alkaen siitä, missä exe on. Ja käännettäessä exe laitetaan aina tilapäisesti samaan paikkaan kuin lähdekoodi (.cb-tiedosto)
User avatar
Peltsi
Active Member
Posts: 121
Joined: Thu Sep 30, 2010 12:16 pm

Re: Tyhmät kysymykset (I/2010)

Post by Peltsi »

lollero 1996 wrote:Okei, sitten pane lähdekoodi CB:n kansioon. CoolBasic etsii aina tiedostoja alkaen siitä, missä exe on. Ja käännettäessä exe laitetaan aina tilapäisesti samaan paikkaan kuin lähdekoodi (.cb-tiedosto)
Sorsa ja exe ovat samassa kansiossa jossa media kansio on, ja lähdekoodissa polut + tiedostonimet ovat oikein. Homma ei silti toimi.

Ps. Muistuttaisin että tilekarttakin on tehty siis A Stigmatorilla.
User avatar
Kille
Active Member
Posts: 249
Joined: Wed Aug 26, 2009 3:50 pm
Location: Juankoski

Re: Tyhmät kysymykset (I/2010)

Post by Kille »

Onko cb:llä mahdollista lukea pikseleitä toisen ohjelman ruudusta molempien toimiessa yhtä aikaa? Ja kuinka hidasta se on jos se ylipäätään onnistuu? Ja miten?
ZEPPELIN
Jatkoa tulossa... tällä kertaa lataus ei kestä viikkoa
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

Kille wrote:Onko cb:llä mahdollista lukea pikseleitä toisen ohjelman ruudusta molempien toimiessa yhtä aikaa? Ja kuinka hidasta se on jos se ylipäätään onnistuu? Ja miten?
Dll:llä voisi onnistua, mutta hankalaksi menisi... Jos nyt sinun pitäisi välttämättä saata välitettyä tuo tieto (epäilen) niin cb:llä se voisi onnistua tiedoston avulla johon toinen aina kirjoittaisi ruudun pikselit ja toinen lukisine... Tai ei sittenkään, se varmaankin kaatuu jos kaksi ohjelmaa yrittää lukea samaan aikaan tiedostoa... Voit tietysti vaikka nimetä uudelleen tiedoston kirjoituksen jälkeen, niin voisit siitä tarkistaa koska tiedosto on kirjoitettu. Ääh.. Unohda äskeinen. Kannattaa varmaankin käyttää cbNetworkiä tiedon välitykseen. Mutta jo pelkästään cb:n pikselikomentojen hitauden takia tämä tuskin toimii siinä tarkoituksessa missä ajattelit. Joten koita välttää sitä.
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Feuer »

cbFunilla tuo onnistunee, mutta ei todellakaan ole helppoa tahi siistiä...

E:Latexi, sen vuoksi se ei olekaan helppoa
Last edited by Feuer on Tue Nov 02, 2010 4:50 pm, edited 1 time in total.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

Feuer wrote:cbFunilla tuo onnistunee, mutta ei todellakaan ole helppoa tahi siistiä...
Ei onnistu, koska tuo lukee pikselin näytöstä eikä toisen ohjelman ikkunasta. Ja vaikka tietäisitkin toisen ohjelman ikkunan sijainnin, niin siinä ei saisi olla yhtään muuta ruutua päällä...
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ä »

Miten vaihdetaan riviä Addtext:tillä tai text:illä?
Ja kuinka saan fiksusti käytettyä locatea? ASCII(?) peli tulossa...
\../(-_-)\../ <---klick MyBrute Image
Jotain evilii on tekeillä....
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Feuer »

Muistanko väärin vai eikö Addtext muka vaihda riviä automaattisesti?

Mitä Textiin tulee, se komento ottaa koordinaatit parametrina ihan hyvästä syystä. Eli rivi vaihtuu pitämällä Xnaatti samana ja kasvattamalla Ynaattia suunnilleen TextHeight("asd")+2:n verran. Oletusfontilla hyväksi kasvatusmääräksi olen havainnut 10:n

Ja koodiesimerkkinä sama:

Code: Select all

Text 0,0,"Rivi 1"
Text 0,10,"Rivi 2"
Text 0,20,"Rivi 3" 'jne...
Drawscreen
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Tyhmät kysymykset (I/2010)

Post by MaGetzUb »

Juu AddText vaihtaa rivin automaattisesti, aina sitten kannattaa ClearTextillä tyhjentää silmukan alussa/lopussa AddTextillä lisätyt tekstit.
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
User avatar
Kille
Active Member
Posts: 249
Joined: Wed Aug 26, 2009 3:50 pm
Location: Juankoski

Re: Tyhmät kysymykset (I/2010)

Post by Kille »

Mikä olisi paras tapa toteuttaa ylävistosta kuvatun pelin peli- ja piirtomoottori kartalle, jossa on enemmän kuin 2 kerrosta ja esineitä? Oma yritelmäni ei oikein toimi, mutta kun postaan kännykällä en voi laittaa koodia.
ZEPPELIN
Jatkoa tulossa... tällä kertaa lataus ei kestä viikkoa
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 »

Jos tarkotat zelda-tyypin yläviistoa, piirtoloopissa käy kartta läpi vasemmalta oikealle rivi kerrallaan, takaa eteenpäin, kerrokset ylöspäin. Voit tallentaa tileen myös tiedon siitä, mitä esineitä sen sisällä on ja piirtää ne samassa loopissa, jolloin niiden piirtoa ei tarvitse varsinaisesti edes miettiä. Pistän pienen koodinpätkän myöhemmin, sikäli kuin kerkiän :)
xamuli
Newcomer
Posts: 16
Joined: Thu Oct 07, 2010 4:40 pm

Re: Tyhmät kysymykset (I/2010)

Post by xamuli »

Kun teen ehtolauseen jossa pitää olla monta juttua tosi (if a = 1 and b = 1 and c = 1), saako niitä jotenkin aseteltua allekkain, koska muo ärsyttää et siitä rivistä tulee niin pitkä tai onko jotai muuta kuin ehtolauseke millä sen sais niin?
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 »

xamuli wrote:Kun teen ehtolauseen jossa pitää olla monta juttua tosi (if a = 1 and b = 1 and c = 1), saako niitä jotenkin aseteltua allekkain, koska muo ärsyttää et siitä rivistä tulee niin pitkä tai onko jotai muuta kuin ehtolauseke millä sen sais niin?
Minun käsittääkseni ei voi.
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
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (I/2010)

Post by Feuer »

Ellei tykkää kirjoittaa If-Then-EndÍfejä ehtojenmäärä - kertaa.

Code: Select all

If a=1 And b=4 and c=d*2 Then MakeError "Hello World"
'->
If a=1 Then
    If b=4 Then
        If c=d*2 Then
            MakeError "Hello World"
        EndIf
    EndIf
EndIf
Itse tosin katselisin mielummin pitkää riviä kuin kymmentä EndIfiä.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Awaclus »

Feuer wrote:Itse tosin katselisin mielummin pitkää riviä kuin kymmentä EndIfiä.
Minä käytän aika paljon tuota näyttämääsi tapaa, koska jo kirjoitetun koodin pitäminen samanlaisena niin paljon kuin mahdollista selkeyttää koodaamista, ja jos on mahdollista, että siihen kohtaan lisätään jossain vaiheessa joku toinen feature, yhdellä rivillä oleva ehtolause täytyy pätkäistä, mutta tuollaista ei tarvitse.
User avatar
MetalRain
Active Member
Posts: 188
Joined: Sun Mar 21, 2010 11:17 am
Location: Espoo

Re: Tyhmät kysymykset (I/2010)

Post by MetalRain »

Kaikki ehtolauseiden sisältämät loogiset operaattorit (And, Or, Xor, Not) voidaan korvata laskutoimituksilla. Etenkin And-operaattorin kohdalla se voi lyhentää koodin pituutta, kun kertolaskut voidaan kirjoittaa pelkät sulkeet ehtojen ympärille, mutta käytännössä sen etu on mitätön.

Loogiset operaattorit voi korvata seuraavasti:
  • (Ehto1)(Ehto2) vastaa Ehto1 And Ehto2
  • ((Ehto1)+(Ehto2)) vastaa Ehto1 Or Ehto2
  • ((Ehto)=0) vastaa Not(Ehto)
  • Abs((Ehto1)-(Ehto2)) vastaa Ehto1 Xor Ehto2
Esimerkkinä Feuerin koodi:

Code: Select all

If (a=1)(b=4)(c=d*2) Then MakeError "Hello World"
Oikeastaan parhaiten ikäviltä kirjoitusrupeamilta välttyy kun miettii voiko koodin kirjoittaa jotenkin helpommin ja järkevämmin.
Locked