Tyhmät kysymykset (I/2010)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

VesQ wrote:
DJ-Nerd wrote:Mites kikkailen seuraavan koodin:

Code: Select all

Execute "ohjelma.exe"
End
niin että nuo 2 komentoa suoritetaan peräkkäin. Kun yritän tuota, toinen cb-ohjelma (ohjelma.exe) ei käynnisty, eikä edellinen ohjelma lopu Endillä, paitsi jos ikkunaa klikkaa kerran noiden komentojen suorittamisen jälkeen.

Toinen kysymys taas olisi, miten luodaan piilotiedostoja / -kansioita CB:llä? Pitääkö käyttää komentorivikomentoja Executen kautta? Ja millä koodilla?
Teeppä CB-ohjelmalla pikainen BAT-tiedosto ja aja se executella (alla oleva koodi siihen bat-tiedostoon). Tällöin se edelline cb-ohjelma sammuu nopsaan, eikä se kovinkaan hankalaa oo.

Code: Select all

start ohjelma.exe
Kiitos! Sain selville nyt ratkaisevan virheen ohjelmassani (väärä kansio, mistä tiedostoja selataan). Nyt toimii niin kuin pitää.
Ballol
Newcomer
Posts: 9
Joined: Thu Sep 25, 2008 9:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Ballol »

Saako input-komennossa mitenkään rajattua kirjoitetun tekstin määrää ja poistettua erikoismerkkien sekä välilyönnin käytön?

Syö hirveästi immersiota jos esimerkiksi pelattavan hahmon nimi on R4nd0mj0nn3lololol13333333337biatch101-98heppatyttöxdpoika101monkey simppelin Jaakon sijasta. Ajattelin että estäminen onnistuisi ehkä siten että peli ei päästä sua eteenpäin ennen kuin olet korjannut nimen sopivaan muotoon.. Mutta miten asettaa nämä rajoitteet tunnistettaviksi?
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

Ballol wrote:Saako input-komennossa mitenkään rajattua kirjoitetun tekstin määrää ja poistettua erikoismerkkien sekä välilyönnin käytön?

Syö hirveästi immersiota jos esimerkiksi pelattavan hahmon nimi on R4nd0mj0nn3lololol13333333337biatch101-98heppatyttöxdpoika101monkey simppelin Jaakon sijasta. Ajattelin että estäminen onnistuisi ehkä siten että peli ei päästä sua eteenpäin ennen kuin olet korjannut nimen sopivaan muotoon.. Mutta miten asettaa nämä rajoitteet tunnistettaviksi?
Listaa kielletyt merkit merkkijonoon ja tutki nimi InStr :llä sisältääkö nimi niitä. Ja tutki myös nimen pituus Len -funktiolla.
EDIT:

Tai sitten tutki heti inputin aikana, löytyykö "Kielletyt merkit" -merkkijonosta näppäintä, mitä käyttäjä juuri painoi. Jos löytyy, niin yksi merkki pyyhitään.

Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

Ballol wrote:Saako input-komennossa mitenkään rajattua kirjoitetun tekstin määrää ja poistettua erikoismerkkien sekä välilyönnin käytön?

Syö hirveästi immersiota jos esimerkiksi pelattavan hahmon nimi on R4nd0mj0nn3lololol13333333337biatch101-98heppatyttöxdpoika101monkey simppelin Jaakon sijasta. Ajattelin että estäminen onnistuisi ehkä siten että peli ei päästä sua eteenpäin ennen kuin olet korjannut nimen sopivaan muotoon.. Mutta miten asettaa nämä rajoitteet tunnistettaviksi?
Suoraan "Input":ista tämä ei onnistu... Mutta kun nimi on syötetty ja pelin pitäisi jatkua, niin lisää siihen tarkistus, että nimi on sopiva. "Len" palauttaa tekstin pituuden joten sillä saat sen tarkistettua ja "InStr":n "Mid":n avulla voit tarkistaa ovatko kaikki merkit sallittuja tai löytyykö sieltä kiellettyjä merkkejä.
Ballol
Newcomer
Posts: 9
Joined: Thu Sep 25, 2008 9:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Ballol »

Kiitos avusta, Len auttoi pituusongelmaan, merkkien kieltoa yritän paraikaa funtsia.
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

Ballol wrote:Kiitos avusta, Len auttoi pituusongelmaan, merkkien kieltoa yritän paraikaa funtsia.

Code: Select all

hahmonnimi$="Mikko!"
kielletyt$="!\#¤%&/()=?"
For i=1 To Len(kielletyt)
    If InStr(hahmonnimi, Mid(kielletyt, i, 1)) Then 
    MakeError "Merkki "+Mid(kielletyt, i, 1)+" on kielletty!"
    EndIf
Next i
Tuota tutkimalla sinun pitäisi selvitä.
Ballol
Newcomer
Posts: 9
Joined: Thu Sep 25, 2008 9:50 pm

Re: Tyhmät kysymykset (I/2010)

Post by Ballol »

DJ-Nerd wrote:
Ballol wrote:Kiitos avusta, Len auttoi pituusongelmaan, merkkien kieltoa yritän paraikaa funtsia.

Code: Select all

hahmonnimi$="Mikko!"
kielletyt$="!\#¤%&/()=?"
For i=1 To Len(kielletyt)
    If InStr(hahmonnimi, Mid(kielletyt, i, 1)) Then 
    MakeError "Merkki "+Mid(kielletyt, i, 1)+" on kielletty!"
    EndIf
Next i
Tuota tutkimalla sinun pitäisi selvitä.
Ah, kiitos, mietin vain niinkin yksinkertaista ongelmaa että miten asettaa "kiellettävät". Nyt toimii.

EDIT: Tai perkele, ei, ei toimikkaan. Upottaminen purkkakoodin sisään tuntuu hieman vaikealta.
Guest

Re: Tyhmät kysymykset (I/2010)

Post by Guest »

hei osaako joku auttaa kertoa että miten sais rowtextiin niin että kun laittaa esim rowtext "löysit *timantin*" niin se timantti tulis lihavoituna? kiitti
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

Vieras wrote:hei osaako joku auttaa kertoa että miten sais rowtextiin niin että kun laittaa esim rowtext "löysit *timantin*" niin se timantti tulis lihavoituna? kiitti
öhh.. "rowtext"???
Jos Addtextiä meinasit, niin: voi kun olisikin keino selvittää nykyisen tekstin paikka AddTextissä...
Muuten saat tuon lihavoinnin vaihtamalla käytettävää fonttia, tähän tapaan (esimerkissä käytetään Arial -fonttia):
SetFont Loadfont("Arial", 12, 1)
ja tämän jälkeen tulostat lihavoituna haluamasi tekstin. Sitten kutsut:
SetFont Loadfont("Arial", 12, 0)
ja näin fontti palaa ei-lihavoituun tekstiin.
Jos sitten haluat ihan tuollaisen kuvailemasi tilanteen, kannattaa vaihtaa Addtext mieluummin Text -komentoon.
Silloin koodi menisi näin:

Code: Select all

Text x, y, "löysit "
leveys=textwidth("löysit ")
SetFont Loadfont("Arial", 12, 1)
Text x+leveys, y, "*timantin*"
SetFont Loadfont("Arial", 12, 0)
jossa x on tekstin sijainti vaakasuunnassa ja y pystysuunnassa. 12 on fonttikoko.
EDIT:

koodifix

MrMonday
Advanced Member
Posts: 378
Joined: Fri Oct 10, 2008 2:35 pm

Re: Tyhmät kysymykset (I/2010)

Post by MrMonday »

En tälle viitsinyt omaa ketjua tehdä, niin kysyn täällä, että onko kukaan tehnyt mitään taulukko esimerkkejä tai olisiko jollain aikaa moisen tekemiseen?
Taas on yksi projekti vaarassa kaatua osaamattomuuteni takia, kun en ole oikein taulukoita täysin sisäistänyt :roll: jotain harjoituksia olen tehnyt, mutta sisäistäminen on vain todella vaikeaa..
Eli ihan vaikka joku kommentoitu pikku ohjelma olisi varmasti jo avuksi, kun cb:n omasta manuskasta ei irtoa tarpeeksi.. Ja esimerkkit mielellään niin helppoja ja selkeitä että apinakin ymmärtää :lol:

Kiitos nyt jo etukäteen ja toivottavasti joku pystyy auttamaan :)
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

MrMonday wrote:En tälle viitsinyt omaa ketjua tehdä, niin kysyn täällä, että onko kukaan tehnyt mitään taulukko esimerkkejä tai olisiko jollain aikaa moisen tekemiseen?
Taas on yksi projekti vaarassa kaatua osaamattomuuteni takia, kun en ole oikein taulukoita täysin sisäistänyt :roll: jotain harjoituksia olen tehnyt, mutta sisäistäminen on vain todella vaikeaa..
Eli ihan vaikka joku kommentoitu pikku ohjelma olisi varmasti jo avuksi, kun cb:n omasta manuskasta ei irtoa tarpeeksi.. Ja esimerkkit mielellään niin helppoja ja selkeitä että apinakin ymmärtää :lol:

Kiitos nyt jo etukäteen ja toivottavasti joku pystyy auttamaan :)
Itselle ei ainakaan muistu mieleen että joku olisi tehnyt taulukkoesimerkin, mutta itse voisin avustaa taulukoiden kanssa henkilökohtaisesti esim. mesellä (peliryhma@hotmail.com). Osaan taulukoiden edistyneen käytön ja osaisin selittää taulukot "maallikon lailla" (tutoriaalia en jaksa alkaa nyt vääntämään).
Kannattaa toki tutustua ensin manuskan sisältöön ja pohdiskella esimerkkiohjelmaa, mutta jos sisäistäminen tuottaa vaikeuksia, ei kun mese esille ja lisää mut ;)
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2010)

Post by Latexi95 »

Selitän nyt nopeasti cb:n taulukoiden perusteet.
Cb:ssä taulukot luodaan komennolla "Dim" jonka jälkeen tulee taulukon nimi ja sulkuihin sen koko.
"As":n avulla saat valittua taulukon tyypin.(Oletuksena Integer, niin kuin muitenkin muuttujien kohdalla)

Code: Select all

Dim taulukko(4) As String
Dim toinentaulukko(8) As Float
Taulukot voivat olla mitä tahansa cb:n perustietotyyppiä (Integer,Float,Short,Byte,String).
Taulukon koko on todellisuudessa yhtä isompi kuin antamasi koko.

Code: Select all

Dim taulukko(10) As Byte //Todellisuudessa sisältää 11 jäsentä
Tämä johtuu siitä, että cb aloittaa koon laskemisen nollasta.
Luonnin jälkeen jäseniin pääsee käsiksi sulkujen avulla.

Code: Select all

taulukko(2) = 10 //Taulukon kolmas arvo on nyt 10
Print taulukko(0) //Tulostetaan ensimmäinen arvo 
Taulukon kokoa voi muuttaa jälkikäteen "ReDim":n avulla.

Code: Select all

Dim taulukko(2) As Short //Sisältää 3 arvoa
ReDim taulukko(5) //Sisältää nyt 6 arvoa
"ReDim" oletuksena tuhoaa taulukon sisällön kun sitä venytetään. "ClearArray":n avulla valita tuhotaanko tieto venytyksessä.
Merkkijono taulukko tyhjenee aina venytyksessä. Taulukot kannattaa käydä läpi For-silmukalla.

Code: Select all

koko = 10
Dim taulukko(koko) As Integer
For i = 0 To koko
     taulukko(i) = Rand(0,1000) //Täytetään taulukko satunnais arvoilla.
Next i
Toivottavasti auttoi.

Minusta tämä oli aivan oikea ketju tuolle kysymykselle. :)
DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 2:18 pm

Re: Tyhmät kysymykset (I/2010)

Post by DJ-Filbe »

Miten saan muunnettua RGB-arvon yhdeksi luvuksi (32-bit-väri)
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Tyhmät kysymykset (I/2010)

Post by phons »

Tuohon 32-bit-väri:in on myös jokin funkkari mutta tässä on tällainen:

Code: Select all

Function RGBToHex(r,g,b)
    Return "#" + Right(Hex(r),2) + Right(Hex(g),2) + Right(Hex(b),2)
EndFunction 
Oh, cbkk, i miss you so much!!
Image
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2010)

Post by esa94 »

DJ-Nerd wrote:Miten saan muunnettua RGB-arvon yhdeksi luvuksi (32-bit-väri)
Todennäköisesti

Code: Select all

(R shl (8*3)) + (G shl (8*2)) + (B shl 8)
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 »

CB käyttää ARGB -värejä.

Code: Select all

(r shl 16) + (g shl 8) + b
Alfan saisi tietysti (a shl 24):llä, mutta se ei muistaakseni vaikuta pikseliin ollenkaan.
User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: Tyhmät kysymykset (I/2010)

Post by buke44 »

Eikö cblle ollut joku mavi etsijä? Voisko joku pistää linkkiä.
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2010)

Post by esa94 »

buke44 wrote:Eikö cblle ollut joku mavi etsijä? Voisko joku pistää linkkiä.
Ei tietääkseni
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 »

buke44 wrote:Eikö cblle ollut joku mavi etsijä? Voisko joku pistää linkkiä.
Ei sille kai mitään "etsijää", mutta kannattaa laitella setwindow eri teksteillä kaikkialle (tai Debug loggaus kaikkialla niinku mulla ^^) niin sitten näkee missä päin koodia MAV tulee.
Imagedev.tuhoojabotti.com — “Programmer (noun): An organism that turns caffeine into code.”
MrMonday
Advanced Member
Posts: 378
Joined: Fri Oct 10, 2008 2:35 pm

Re: Tyhmät kysymykset (I/2010)

Post by MrMonday »

DJ-Nerd wrote:
MrMonday wrote:En tälle viitsinyt omaa ketjua tehdä, niin kysyn täällä, että onko kukaan tehnyt mitään taulukko esimerkkejä tai olisiko jollain aikaa moisen tekemiseen?
Taas on yksi projekti vaarassa kaatua osaamattomuuteni takia, kun en ole oikein taulukoita täysin sisäistänyt :roll: jotain harjoituksia olen tehnyt, mutta sisäistäminen on vain todella vaikeaa..
Eli ihan vaikka joku kommentoitu pikku ohjelma olisi varmasti jo avuksi, kun cb:n omasta manuskasta ei irtoa tarpeeksi.. Ja esimerkkit mielellään niin helppoja ja selkeitä että apinakin ymmärtää :lol:

Kiitos nyt jo etukäteen ja toivottavasti joku pystyy auttamaan :)
Itselle ei ainakaan muistu mieleen että joku olisi tehnyt taulukkoesimerkin, mutta itse voisin avustaa taulukoiden kanssa henkilökohtaisesti esim. mesellä (peliryhma@hotmail.com). Osaan taulukoiden edistyneen käytön ja osaisin selittää taulukot "maallikon lailla" (tutoriaalia en jaksa alkaa nyt vääntämään).
Kannattaa toki tutustua ensin manuskan sisältöön ja pohdiskella esimerkkiohjelmaa, mutta jos sisäistäminen tuottaa vaikeuksia, ei kun mese esille ja lisää mut ;)
Kiitos tarjouksesta, mutta vietän niin vähän aikaa koneella nykyisin, ja mesen käyttökin on lähes nollassa, että sitä kautta se ei oikein onnistu..
Siinä juurikin syy, miksi näitä tutoja kyselen, kun voi omalla ajallaan lueskella.. Mutta kiitos kumminkin kaikille, niin minä jatkan kokeilujani..
Locked