Tyhmät kysymykset (I/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
E.T.
Newcomer
Posts: 42
Joined: Thu Jul 03, 2008 9:33 am

Re: Tyhmät kysymykset

Post by E.T. »

Yrität muuttaa hahmo_im muuttujaa funktiossa vaikka et ole määritellyt sitä globaaliksi.
Quidquid latine dictum sit, altum videtur.
Voitot: Viikkokisa XVII
Luuster
Newcomer
Posts: 30
Joined: Mon Feb 23, 2009 7:04 pm
Location: #joku vika jossakin#

Re: Tyhmät kysymykset

Post by Luuster »

Kokeilitko ensin E.T ? Ei juuri auttanut saattoi olla osasyyllisenä, mutta ei ratkaissut ongelmaa.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset

Post by skorpioni-cb »

Miten voi tehdä oman törmäystunnistuksen esim. Jos haluaa tehdä oman karttaformaatin ja haluaa laittaa objecteille törmäyksen.
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.
Taatero
Advanced Member
Posts: 384
Joined: Tue May 27, 2008 6:06 pm

Re: Tyhmät kysymykset

Post by Taatero »

skorpioni-cb wrote:Miten voi tehdä oman törmäystunnistuksen esim. Jos haluaa tehdä oman karttaformaatin ja haluaa laittaa objecteille törmäyksen.
Noin nobona tyytyisin cb:n valmiiseen karttaformaattiin. Jos kuitenkin jäärä-nobo-päisyyttäsi alat sellaista tehdä, kannattaa objektit samantien heittää hiiteen.
[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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset

Post by skorpioni-cb »

Taatero wrote:
skorpioni-cb wrote:Miten voi tehdä oman törmäystunnistuksen esim. Jos haluaa tehdä oman karttaformaatin ja haluaa laittaa objecteille törmäyksen.
Noin nobona tyytyisin cb:n valmiiseen karttaformaattiin. Jos kuitenkin jäärä-nobo-päisyyttäsi alat sellaista tehdä, kannattaa objektit samantien heittää hiiteen.
Sanot minua nobiksi vain sen takia että minä olen newcomer!

Katsos:

"Ei kirjaa saa kannen perusteela arvioida." Sama pätee ihmisiin.
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.
Taatero
Advanced Member
Posts: 384
Joined: Tue May 27, 2008 6:06 pm

Re: Tyhmät kysymykset

Post by Taatero »

skorpioni-cb wrote:
Taatero wrote:
skorpioni-cb wrote:Miten voi tehdä oman törmäystunnistuksen esim. Jos haluaa tehdä oman karttaformaatin ja haluaa laittaa objecteille törmäyksen.
Noin nobona tyytyisin cb:n valmiiseen karttaformaattiin. Jos kuitenkin jäärä-nobo-päisyyttäsi alat sellaista tehdä, kannattaa objektit samantien heittää hiiteen.
Sanot minua nobiksi vain sen takia että minä olen newcomer!

Katsos:

"Ei kirjaa saa kannen perusteela arvioida." Sama pätee ihmisiin.
Voisin vääntää tästä asiasta aika pitkään ja perusteellisesti, mutta pettis hyökkäisi tänne natsisti ja lukittelisi/bännäisi random ketjuja/käyttäjiä.

Sitten asiaan. Jos todellakin haluat tehdä oman karttaformaatin, kannattaa törmäys luultavasti toteuttaa muulla kuin objekteilla, esim. matemaattisesti. En kyllä tajua mitä ominaisuukisa tarvitset, joita ei löydy cbn valmiista formaatista.
[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.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset

Post by koodaaja »

Tosiaan, simppeli logiikka ja matematiikka avuksi jos omalla karttaformaatilla olet tekemässä. Mitä sinänsä en suosittele, harvemmin sitä tarvitsee oikeasti ominaisuuksia joita valmiista ei löydy ja se on nopeampi kuin oma.

Mutta asiaan. Todennäköisesti toteutat karttasi kaksiulotteisena tauluna maailmankoordinaatteja käyttäen, jolloin yksinkertaisesti tarkistat onko ukon alaspäin pyöristettyjen tilekoordinaattien kohdalla seinää (tyyliin If map(RoundDown(ObjectY(guy)/tilew), RoundDown(ObjectY(guy)/tileh)) Then tormays = 1) ja törmäyksen tapahtuessa siirrät ukkoa taaksepäin tai teet liukuvan ja tarkistat erikseen kumpaan suuntaan, x vai y, törmättiin ja otat sinillä tai kosinilla sitten sen puolen nopeuden, mihin voi liukua. Tämän voisi varmaan tehdä siistimmin, mutta tämä on ihan tarpeeksi hyvä systeemi ellei kovin monimutkaisesti lähde leikkimään.
Luuster
Newcomer
Posts: 30
Joined: Mon Feb 23, 2009 7:04 pm
Location: #joku vika jossakin#

Re: Tyhmät kysymykset

Post by Luuster »

Okei laitan koko koodin. Laiskuuttani en jaksanut vaihtaa grafiikoita, media kansiion omiin. senverran turhautunut ja väsynyt olen.

Eli koodi toimii muuten huvin mutta viimeinen funcktio n. rivi 130 heittää "draw image failed":ia enkä tiedä syytä. Olen aivan ihmeissäni. Toivottavasti jaksette auttaa sillä ilman koko projekti uhkaan jäätyä. Kiitos

Code: Select all

'Huoneiden läpikäynti
// Luuster (C)

roomid = 1
Global item1$
Global item2$
Global name$
Global Room
item1$="none"
item2$="none"
name$="none"
Room=1
// Huone
//  _ _ _
// |6|5|7|
//  _|4|_
// |3|2|1|  
//
// kartta

office = LoadImage("images/office.jpg")
street = LoadImage("images/street.jpg")
police = LoadImage("images/police.jpg")
murder = LoadImage("images/murder.jpg")
alley = LoadImage("images/alley.jpg")
roof = LoadImage("images/roof.jpg")
warehouse = LoadImage("images/warehouse.jpg")

Global office,street,police,murder,alley,roof

rep://-----------------------------------------------------------------------------

CloseInput 
ClearKeys

Repeat 
Color 0,255,0
roomid = Input(":")

  update_room() 
  drawroom()
  graphic(1)
  
  DrawScreen
  
Until KeyHit(28) 

Select roomid
    Case 1
        goroom(1)
    Case 2
        goroom(2)
    Case 3
        goroom(3)
    Case 4
        goroom(4)
    Case 5
        goroom(5)
    Case 6
        goroom(6)
    Case 7
        goroom(7)
    Default
        error()           
End Select   
    
    Goto rep//<------------------------------------------------------------------------
// ______________________________________________________________
Function goroom(roomid)

    room = roomid
    Return 0
    
EndFunction    

Function update_room()
        
    If room = 1 Then 
        name = "Office"
        item1 = "Car keys"
        item2 = "Map"
    ElseIf room = 2
        name = "Street"
        item1 = "Candywrapper"
        item2 = "Screwdriver"
    ElseIf room = 3
        name = "Police office"
        item1 = "Gun"
        item2 = "Handcuffs"  
    ElseIf room = 4
        name = "Crime scene"
        item1 = "Picture"
        item2 =	"Pen"
    ElseIf room = 5
        name = "Alley"
        item1 = "Cartbox"
        item2 = ""
    ElseIf room = 6
        name = "Roof"
        item1 = "Storage key"
        item2 = "Lens"
    ElseIf room = 7
        name = "Storage"
        item1 = "Coin"
        item2 = "Line"
    EndIf    

EndFunction

Function drawroom()

    Text 5,15,name
    Text 5,25,item1
    Text 5,35,item2
     
    Return 0
EndFunction    

Function error()

    Color 0,255,0
    Text ScreenWidth()/2-40,ScreenHeight()/2-10,"invalid" 
    Text ScreenWidth()/2-50,ScreenHeight()/2,"try again" 
    DrawScreen OFF
    Wait 500
    
    Return 0
EndFunction    
  
Function graphic(room_id)// Homma feilaa kun täällä pitäisi piirtää huoneen kuva
    
    If room_id=1 Then
        DrawImage office,0,0
    ElseIf room_id=2 Then
        DrawImage street,0,0
    ElseIf room_id=3 Then
        DrawImage police,0,0
    ElseIf room_id=4 Then
        DrawImage murder,0,0
    ElseIf room_id=5 Then
        DrawImage alley,0,0
    ElseIf room_id=6 Then
        DrawImage roof,0,0
    ElseIf room_id=7 Then
        DrawImage warehouse,0,0
    EndIf
    
    Return 1
EndFunction     
   
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

Luuster wrote:Okei laitan koko koodin. Laiskuuttani en jaksanut vaihtaa grafiikoita, media kansiion omiin. senverran turhautunut ja väsynyt olen.

Eli koodi toimii muuten huvin mutta viimeinen funcktio n. rivi 130 heittää "draw image failed":ia enkä tiedä syytä. Olen aivan ihmeissäni. Toivottavasti jaksette auttaa sillä ilman koko projekti uhkaan jäätyä. Kiitos

Code: Select all

'Huoneiden läpikäynti
// Luuster (C)

roomid = 1
Global item1$
Global item2$
Global name$
Global Room
item1$="none"
item2$="none"
name$="none"
Room=1
// Huone
//  _ _ _
// |6|5|7|
//  _|4|_
// |3|2|1|  
//
// kartta

office = LoadImage("images/office.jpg")
street = LoadImage("images/street.jpg")
police = LoadImage("images/police.jpg")
murder = LoadImage("images/murder.jpg")
alley = LoadImage("images/alley.jpg")
roof = LoadImage("images/roof.jpg")
warehouse = LoadImage("images/warehouse.jpg")

Global office,street,police,murder,alley,roof

rep://-----------------------------------------------------------------------------

CloseInput 
ClearKeys

Repeat 
Color 0,255,0
roomid = Input(":")

  update_room() 
  drawroom()
  graphic(1)
  
  DrawScreen
  
Until KeyHit(28) 

Select roomid
    Case 1
        goroom(1)
    Case 2
        goroom(2)
    Case 3
        goroom(3)
    Case 4
        goroom(4)
    Case 5
        goroom(5)
    Case 6
        goroom(6)
    Case 7
        goroom(7)
    Default
        error()           
End Select   
    
    Goto rep//<------------------------------------------------------------------------
// ______________________________________________________________
Function goroom(roomid)

    room = roomid
    Return 0
    
EndFunction    

Function update_room()
        
    If room = 1 Then 
        name = "Office"
        item1 = "Car keys"
        item2 = "Map"
    ElseIf room = 2
        name = "Street"
        item1 = "Candywrapper"
        item2 = "Screwdriver"
    ElseIf room = 3
        name = "Police office"
        item1 = "Gun"
        item2 = "Handcuffs"  
    ElseIf room = 4
        name = "Crime scene"
        item1 = "Picture"
        item2 =	"Pen"
    ElseIf room = 5
        name = "Alley"
        item1 = "Cartbox"
        item2 = ""
    ElseIf room = 6
        name = "Roof"
        item1 = "Storage key"
        item2 = "Lens"
    ElseIf room = 7
        name = "Storage"
        item1 = "Coin"
        item2 = "Line"
    EndIf    

EndFunction

Function drawroom()

    Text 5,15,name
    Text 5,25,item1
    Text 5,35,item2
     
    Return 0
EndFunction    

Function error()

    Color 0,255,0
    Text ScreenWidth()/2-40,ScreenHeight()/2-10,"invalid" 
    Text ScreenWidth()/2-50,ScreenHeight()/2,"try again" 
    DrawScreen OFF
    Wait 500
    
    Return 0
EndFunction    
  
Function graphic(room_id)// Homma feilaa kun täällä pitäisi piirtää huoneen kuva
    
    If room_id=1 Then
        DrawImage office,0,0
    ElseIf room_id=2 Then
        DrawImage street,0,0
    ElseIf room_id=3 Then
        DrawImage police,0,0
    ElseIf room_id=4 Then
        DrawImage murder,0,0
    ElseIf room_id=5 Then
        DrawImage alley,0,0
    ElseIf room_id=6 Then
        DrawImage roof,0,0
    ElseIf room_id=7 Then
        DrawImage warehouse,0,0
    EndIf
    
    Return 1
EndFunction     
   
Laita ne kuvat globaaleiksi ennen kuin lataat ne.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Mr_Noob
Newcomer
Posts: 30
Joined: Tue Aug 28, 2007 1:05 pm
Location: koti
Contact:

Re: Tyhmät kysymykset

Post by Mr_Noob »

Onko kukaan tehnyt Coolbasicin mirrorobject komennon kaltaista functiota
kuville? Itsellä ei taidot riitä sen tekemiseen, mutta tarve on sitäkin suurempi
programmer of DSG wrote:
EDIT:

aika hauska peli, vähän tylsä

Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Tyhmät kysymykset

Post by Koodiapina »

Eikös se onnistu, kun antaa resizeimagelle negatiivisia arvoja? Näin ainakin muistelisin.
Nasse-setä
Member
Posts: 54
Joined: Fri Apr 03, 2009 8:12 pm
Location: Loviisa

Re: Tyhmät kysymykset

Post by Nasse-setä »

Grandi wrote:Eikös se onnistu, kun antaa resizeimagelle negatiivisia arvoja? Näin ainakin muistelisin.
Näin toimii.
Osallistu suuren tilastoon -> viewtopic.php?f=13&t=1756
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset

Post by skorpioni-cb »

Miten saa kirjoitettua kuvan tiedostoon? Olen jo kerran kysynyt. :?:
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.
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset

Post by Awaclus »

skorpioni-cb wrote:Miten saa kirjoitettua kuvan tiedostoon? Olen jo kerran kysynyt. :?:
Niin kuin kirjoittaisit tekstiä. Paitsi, että teksti on siansaksaa, jonka olet copypastennut Muistiosta, jolla olet avannut kuvatiedoston.

Tämä vain arvaus.
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Tyhmät kysymykset

Post by Pate5 »

skorpioni-cb wrote:Miten saa kirjoitettua kuvan tiedostoon? Olen jo kerran kysynyt. :?:
CB:llä vai? SaveImagella voi tallentaa kuvamuuttujan bittikartaksi(eli kuvaksi).
CoolBasic henkilökuntaa
Graafikko
Flip
Newcomer
Posts: 19
Joined: Tue Aug 28, 2007 8:19 pm

Re: Tyhmät kysymykset

Post by Flip »

Ihanaa kun tällainenkin topic on.

Miten voin tallentaa exe-tiedoston sisään tekstiä siten että exe on käsittelyn jälkeen vielä toimiva ja tekstiä voi jälkeenpäin vielä lukea sieltä? Ideana ois että teksti exen sisällä pysyy muiden henkilöiden tavoittamattomissa. Tekstin puskeminen exen loppuun suoraan ei tunnu toimivan.

Code: Select all

i = 0

CopyFile "jes.exe", "kopio.exe"

f = OpenToWrite("kopio.exe")

    SeekFile f, FileSize("jes.exe")
    WriteLine f, "    Tästä alkaa"
    
    For b = 1 To 1000
        WriteLine f, "tämä on rivi " + b
        Text 2,22,"Kopioidaan: "+b
        DrawScreen
    Next b

CloseFile f
EDIT: Tekstin tulee olla myös lukukelvoton exen sisällä :)
The Annihilation - FPS-peli työn alla.
Jani
Devoted Member
Posts: 741
Joined: Fri Oct 31, 2008 4:53 pm

Re: Tyhmät kysymykset

Post by Jani »

Flip wrote:Ihanaa kun tällainenkin topic on.

Miten voin tallentaa exe-tiedoston sisään tekstiä siten että exe on käsittelyn jälkeen vielä toimiva ja tekstiä voi jälkeenpäin vielä lukea sieltä? Ideana ois että teksti exen sisällä pysyy muiden henkilöiden tavoittamattomissa. Tekstin puskeminen exen loppuun suoraan ei tunnu toimivan.

Code: Select all

i = 0

CopyFile "jes.exe", "kopio.exe"

f = OpenToWrite("kopio.exe")

    SeekFile f, FileSize("jes.exe")
    WriteLine f, "    Tästä alkaa"
    
    For b = 1 To 1000
        WriteLine f, "tämä on rivi " + b
        Text 2,22,"Kopioidaan: "+b
        DrawScreen
    Next b

CloseFile f
EDIT: Tekstin tulee olla myös lukukelvoton exen sisällä :)
Avaappa se funktiolla OpenToEdit.
Sallaus-oppaita löytyy Esimerkit ja tutoriaalit tjs. alueelta.
Dead men tell no tales. Also, Python rocks!
Codegolf: 99 bottles of beer (oneliner) - Water map partition
Flip
Newcomer
Posts: 19
Joined: Tue Aug 28, 2007 8:19 pm

Re: Tyhmät kysymykset

Post by Flip »

Jani wrote: Avaappa se funktiolla OpenToEdit.
Sallaus-oppaita löytyy Esimerkit ja tutoriaalit tjs. alueelta.
Erroria heittää exeä käynnistäessä: Executable error (&FF_23A78DD)
The Annihilation - FPS-peli työn alla.
zHelmet
Member
Posts: 73
Joined: Mon Nov 10, 2008 3:55 pm

Re: Tyhmät kysymykset

Post by zHelmet »

Onko kellään tallessa cbResource kirjastoa? jos on voiko antaa minulle? :D
Dande
Active Member
Posts: 193
Joined: Tue Aug 28, 2007 4:30 pm

Re: Tyhmät kysymykset

Post by Dande »

zHelmet wrote:Onko kellään tallessa cbResource kirjastoa? jos on voiko antaa minulle? :D
Näyttipä tuo levyn syövereistä löytyvän: http://up.servut.us/14957
Locked