Tyhmät kysymykset (I/2010)
Re: Tyhmät kysymykset (I/2010)
Kiitän!
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)
Häiritsen nyt sitten vielä ainakin kerran, eli:
Ostin juuri uuden Skype - (USB) kuulokemikrofonin (sattui olemaan alennuksessa). Se toimii muuten ihan jees mutta Coolbasic - ohjelmien äänet kuuluvat tietokoneen kaiuttimista. Ääniasetuksista en löytänyt apua, eli: HELP ME!
Ostin juuri uuden Skype - (USB) kuulokemikrofonin (sattui olemaan alennuksessa). Se toimii muuten ihan jees mutta Coolbasic - ohjelmien äänet kuuluvat tietokoneen kaiuttimista. Ääniasetuksista en löytänyt apua, eli: HELP ME!
Re: Tyhmät kysymykset (I/2010)
Onko kuulokkeet valittu ensisijaiseksi äänilähteeksi?
Re: Tyhmät kysymykset (I/2010)
Jep. Ei toimi.Henkru wrote:Onko kuulokkeet valittu ensisijaiseksi äänilähteeksi?
EDIT:
Sama ongelma FL-studion ja veikkaan että myös muiden ohjelmien kanssa...
Re: Tyhmät kysymykset (I/2010)
Mä aloin tommosta pientä peliä.. tai no... jotain räpellystä kuitenkin tekemään tänään. Se on mun eka projekti ja tosi yksinkertainen, oon siinä vähän kokelllut kaikkea oppimaani. Ilmeisesti kaikki muu meni oikein, mutta sitten saan tämmösen ilmoituksen kun yritän testata peliä:
Code 88
Can't find missing REPEAT.
Structure start block missing at line 31
Ja se koodi menee tällä tavoin:
17 Repeat
18-30 Koodia
31 Forever
Tuo virheilmoitushan tarkoittaa sitä että tuo "Forever" ei löydä tuota "repeat"ia jos en ihan väärin ymmärrä. Ja ne on ihan juuri noin, ei pitäisi olla mitään ongelmaa. Onko tämä joku ihmeellisempikin vika vai onko kyseessä vain tyhmä kysymys?
Code 88
Can't find missing REPEAT.
Structure start block missing at line 31
Ja se koodi menee tällä tavoin:
17 Repeat
18-30 Koodia
31 Forever
Tuo virheilmoitushan tarkoittaa sitä että tuo "Forever" ei löydä tuota "repeat"ia jos en ihan väärin ymmärrä. Ja ne on ihan juuri noin, ei pitäisi olla mitään ongelmaa. Onko tämä joku ihmeellisempikin vika vai onko kyseessä vain tyhmä kysymys?
Re: Tyhmät kysymykset (I/2010)
Luultavasti sinulla on siellä jokin avonainen IF-lause tai jokin muu epätäydellinen silmukka. Tuo virheilmoitus siis tarkoittaa, ettei Forever löydä Repeattia, siis niinkuin takaperin mentäisiin.Ant wrote:Mä aloin tommosta pientä peliä.. tai no... jotain räpellystä kuitenkin tekemään tänään. Se on mun eka projekti ja tosi yksinkertainen, oon siinä vähän kokelllut kaikkea oppimaani. Ilmeisesti kaikki muu meni oikein, mutta sitten saan tämmösen ilmoituksen kun yritän testata peliä:
Code 88
Can't find missing REPEAT.
Structure start block missing at line 31
Ja se koodi menee tällä tavoin:
17 Repeat
18-30 Koodia
31 Forever
Tuo virheilmoitushan tarkoittaa sitä että tuo "Forever" ei löydä tuota "repeat"ia jos en ihan väärin ymmärrä. Ja ne on ihan juuri noin, ei pitäisi olla mitään ongelmaa. Onko tämä joku ihmeellisempikin vika vai onko kyseessä vain tyhmä kysymys?
EDIT:
Ole hyvä vain, on mukavaa, kun voi auttaa
Last edited by valscion on Fri Apr 23, 2010 5:11 pm, edited 2 times in total.
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 (I/2010)
Hyvä luoja, sain sen toimimaan Mulla tosiaan oli pieni kämmi siellä sattunut, If-lause ol jäänyt kesken. Kiitos nopeasta vastauksesta
Re: Tyhmät kysymykset (I/2010)
Tohon ongelmaan voi löytää tarkan vastauksen tekemällä juuri niinkuin virheilmoitus sanoo:Ant wrote:Hyvä luoja, sain sen toimimaan Mulla tosiaan oli pieni kämmi siellä sattunut, If-lause ol jäänyt kesken. Kiitos nopeasta vastauksesta
Jos virheilmoitus on että "ei voida löytää repeattia" niin silloin kannattaa lisätä ylimääräinen repeat koodin sekaan niin johan alkaa löytymään se oikea virhekohta.
Re: Tyhmät kysymykset (I/2010)
Olisko mistään tällä hetkellä saatavilla funktioita ObjectSX() ja ObjectSY() tjsp, jotka kertoisivat objektin sijainnin ruudulla eivätkä pelimaailmassa?
Re: Tyhmät kysymykset (I/2010)
Minulta sattui löytymään. Tässähän nämä:
Code: Select all
Function ObjectSX(obj)
Return ObjectX(obj)+ScreenWidth()/2-CameraX()
EndFunction
Function ObjectSY(obj)
Return -ObjectY(obj)+ScreenHeight()/2+CameraY()
EndFunction
Re: Tyhmät kysymykset (I/2010)
Tarvitsisi voida tehdä sellainen systeemi, esimerkiksi että voitaisiin määrittää vihu(3) :ltä ammus(7):
eli esim. tyyliin vihu(3).ammus(7) eli voisi viitata muuttujan sisällä olevaan muuttujaan.Miten onnistuisi?
Koodia kiitos!
eli esim. tyyliin vihu(3).ammus(7) eli voisi viitata muuttujan sisällä olevaan muuttujaan.Miten onnistuisi?
Koodia kiitos!
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset (I/2010)
En tiedä tarkalleen mitä haet, mutta muistipaloillahan tuo periaatteessa onnistuisi. Yleensä ammukset tallennetaan kuitenkin erillisenä listana eikä viholliselle itselleen. Todennäköisesti tarvitsetkin homman toisin päin, eli ammuksen osuttua pitäisi tietää kuka sen ampui. Tämä hoituu helpommin sillä, että lisäät ammukseen kentän, joka kertoo ampuneen objektin ID:n (converttointeger -> converttotype), jolloin voit osuman jälkeen päätellä kuka sen ampui.
Re: Tyhmät kysymykset (I/2010)
No, paljastetaampas sitten mitä oikeasti ajattelin:koodaaja wrote:En tiedä tarkalleen mitä haet, mutta muistipaloillahan tuo periaatteessa onnistuisi. Yleensä ammukset tallennetaan kuitenkin erillisenä listana eikä viholliselle itselleen. Todennäköisesti tarvitsetkin homman toisin päin, eli ammuksen osuttua pitäisi tietää kuka sen ampui. Tämä hoituu helpommin sillä, että lisäät ammukseen kentän, joka kertoo ampuneen objektin ID:n (converttointeger -> converttotype), jolloin voit osuman jälkeen päätellä kuka sen ampui.
Pitäisi saada tuohon musanteko-ohjelmaan tällä tavalla juttuja:
Raita(3).Nuotti(6).Volume = ???
Raita(3).Nuotti(6).Balance = ???
Raita(3).Nuotti(6).Length = ???
jne
jos nyt selkisi?
Re: Tyhmät kysymykset (I/2010)
Esim:
Code: Select all
Type raita
Field nuotti
EndType
Type nuotit
Field volume As Float
Field balance As Float
EndType
nuotti1.nuotit = New(nuotit)
nuotti2.nuotit = New(nuotit)
nuotti1\volume = 50
nuotti1\balance = 0
nuotti2\volume = 100
nuotti2\balance = 20
raita1.raita = New(raita)
raita2.raita = New(raita)
raita1\nuotti = ConvertToInteger(nuotti1)
raita2\nuotti = ConvertToInteger(nuotti2)
raita1_nuotti.nuotit = ConvertToType(raita1\nuotti)
raita2_nuotti.nuotit = ConvertToType(raita2\nuotti)
Text 0,0,"Raita1: Volume: " + raita1_nuotti\volume + " Balance: " + raita1_nuotti\balance
Text 0,20,"Raita2: Volume: " + raita2_nuotti\volume + " Balance: " + raita2_nuotti\balance
DrawScreen
WaitKey
Re: Tyhmät kysymykset (I/2010)
No empä tiedä... taulukolle pitäisi saada oma alitaulukko, muuten ei oikein tule mitään...phons wrote:Esim:
Code: Select all
Type raita Field nuotti EndType Type nuotit Field volume As Float Field balance As Float EndType nuotti1.nuotit = New(nuotit) nuotti2.nuotit = New(nuotit) nuotti1\volume = 50 nuotti1\balance = 0 nuotti2\volume = 100 nuotti2\balance = 20 raita1.raita = New(raita) raita2.raita = New(raita) raita1\nuotti = ConvertToInteger(nuotti1) raita2\nuotti = ConvertToInteger(nuotti2) raita1_nuotti.nuotit = ConvertToType(raita1\nuotti) raita2_nuotti.nuotit = ConvertToType(raita2\nuotti) Text 0,0,"Raita1: Volume: " + raita1_nuotti\volume + " Balance: " + raita1_nuotti\balance Text 0,20,"Raita2: Volume: " + raita2_nuotti\volume + " Balance: " + raita2_nuotti\balance DrawScreen WaitKey
Ei kukaan jaksais tehä tollaselle mitään dll :ää jos sellanen on ees mahollista...
Re: Tyhmät kysymykset (I/2010)
Täh? alitaulukko... Siis: Dim(10,10) tuossa luodaan 10 laatikkoa joissa on kaikissa 10 laatikkoa.. toisin sanoen 10 taulukkoa joilla on 10 alitaulukkoa..
Re: Tyhmät kysymykset (I/2010)
No siis:phons wrote:Täh? alitaulukko... Siis: Dim(10,10) tuossa luodaan 10 laatikkoa joissa on kaikissa 10 laatikkoa.. toisin sanoen 10 taulukkoa joilla on 10 alitaulukkoa..
Jos on vaikka taulukko nimeltä laatikko(100) niin jokaisella niillä olisi vaikka 100 palloa, tyyliin
laatikko(1).pallo(1),
laatikko(1).pallo(2),
laatikko(1).pallo(3) jne,
laatikko(2).pallo(1),
laatikko(2).pallo(2),
laatikko(2).pallo(3) jne,
laatikko(3).pallo(1),
laatikko(3).pallo(2),
laatikko(3).pallo3 jne
ja pallojen lisäksi voisi laatikkoon laittaa muutakin tietty
Re: Tyhmät kysymykset (I/2010)
Tekaisin aikani kuluksi lyhyen esimerkin moniulotteisista taulukoista.DJ-Nerd wrote: No siis:
Jos on vaikka taulukko nimeltä laatikko(100) niin jokaisella niillä olisi vaikka 100 palloa, tyyliin
laatikko(1).pallo(1),
...
laatikko(3).pallo3 jne
ja pallojen lisäksi voisi laatikkoon laittaa muutakin tietty
Code: Select all
SCREEN 800, 600
SetWindow "Tietoja voi muokata hiiren rullalla"
Const RAITOJEN_MAARA = 11 //Taulukoiden koot on jätetty pieniksi tarkoituksella.
Const NUOTTIEN_MAARA = 25 //Tosiasiassa niiden pitäisi olla niin isoja, että ne
//eivät täyty käytössä (tai sitten venyttää niitä
Const C_VOLUME = 0 //tarpeen mukaan).
Const C_BALANCE = 1
Const C_LENGTH = 2
Dim nuotit(RAITOJEN_MAARA, NUOTTIEN_MAARA, 2)
//laitetaan läjä nuotteja randomilla...
Randomize Timer()
For iRaita = 0 To RAITOJEN_MAARA
r = Rand(1, NUOTTIEN_MAARA)
For iNuotti = 0 To r
lisaaNuotti(iRaita, Rand(1, 100), Rand(1, 100), Rand(1, 100))
Next iNuotti
Next iRaita
Repeat
For iRaita = 0 To RAITOJEN_MAARA
nuottienMaara = laskeNuotitRaidassa(iRaita) - 1
Text 0, iRaita * 50 + 10, "v:"
Text 0, iRaita * 50 + 20, "b:"
Text 0, iRaita * 50 + 30, "l:"
For iNuotti = 0 To nuottienMaara
Text iNuotti * 30 + 30, iRaita * 50 + 10, nuotit(iRaita, iNuotti, C_VOLUME)
Text iNuotti * 30 + 30, iRaita * 50 + 20, nuotit(iRaita, iNuotti, C_BALANCE)
Text iNuotti * 30 + 30, iRaita * 50 + 30, nuotit(iRaita, iNuotti, C_LENGTH)
Next iNuotti
Next iRaita
//tietojen muokkaaminen hiiren rullalla
r = MouseMoveZ()
If r <> 0 Then
x = MouseX() / 30
y = MouseY() / 50
ym = MouseY() Mod 50
If ym =< 20 Then
n = C_VOLUME
ElseIf ym =< 30 Then
n = C_BALANCE
ElseIf ym =< 40 Then
n = C_LENGTH
Else
n = -1
EndIf
If x > 0 And x =< laskeNuotitRaidassa(y) Then
If y > 0 And y < RAITOJEN_MAARA Then
if n <> -1 Then muokkaaNuottia(y, x - 1, n, nuotit(y, x -1, n) + r)
EndIf
EndIf
EndIf
DrawScreen
Forever
Function lisaaNuotti(raita, volume, balance, length)
nuottienMaara = laskeNuotitRaidassa(raita)
If nuottienMaara = -1 Then
Return False //nuotin lisääminen epäonnistui
EndIf
nuotit(raita, nuottienMaara, C_VOLUME) = volume
nuotit(raita, nuottienMaara, C_BALANCE) = balance
nuotit(raita, nuottienMaara, C_LENGTH) = length
Return True
End Function
Function muokkaaNuottia(raita, nuotti, tieto, arvo)
nuotit(raita, nuotti, tieto) = arvo
End Function
//Tämä olisi tietysti tehokkaampaa tehdä taulukolla, jossa
//pitää kirjaa nuottien määrästä kussakin raidassa.
Function laskeNuotitRaidassa(raita)
For iNuotti = 0 To NUOTTIEN_MAARA
If nuotit(raita, iNuotti, C_VOLUME) = 0 Then //raidassahan voi tietysti olla
Return iNuotti //välissä nuotteja joiden volume = 0
EndIf //joten tämä ei toimisi tositilanteessa
Next iNuotti
Return -1 //täynnä
End Function
CoolBasic henkilökuntaa
Kehittäjä
Kehittäjä
Re: Tyhmät kysymykset (I/2010)
Ratkaisu ongelmaan:
Työstetään musiikkiformaatti raita kerrallaan ja tallennetaan musat tyyliin "Raita1.CMCA", "Raita2.CMCA"...
Näin tarvitaan vain taulukot jokaisille nuottien tiedoille. Kun aletaan säveltämään toista raitaa, edellinen tallennetaan ja ohjelman muuttujat alkavat seurata toista raitaa. Hyvä idea?
Työstetään musiikkiformaatti raita kerrallaan ja tallennetaan musat tyyliin "Raita1.CMCA", "Raita2.CMCA"...
Näin tarvitaan vain taulukot jokaisille nuottien tiedoille. Kun aletaan säveltämään toista raitaa, edellinen tallennetaan ja ohjelman muuttujat alkavat seurata toista raitaa. Hyvä idea?
Re: Tyhmät kysymykset (I/2010)
Riivaan näköjään teitä näillä tyhmillä kysymyksillä edelleen
Eli:
Toteutin komennot
writestring tiedosto, "pp"
writeshort tiedosto, 50
ja kun tiedosto oli käsitelty loppuun, avasin toisen ohjelman jonka eräällä rivillä lukee:
a=readstring(tiedosto)
Tässä a :n arvoksi tulee aina 0, vaikka tuolta pitäisi putkahtaa "pp". Tiedostossa taas lukee " pp2 ". (loppuosa "kakkonen ja välilyönti" merkkaa ilmeisesti lukua 50?)
Miten saisin tuosta sen halutun "pp" :n talteen?
Eli:
Toteutin komennot
writestring tiedosto, "pp"
writeshort tiedosto, 50
ja kun tiedosto oli käsitelty loppuun, avasin toisen ohjelman jonka eräällä rivillä lukee:
a=readstring(tiedosto)
Tässä a :n arvoksi tulee aina 0, vaikka tuolta pitäisi putkahtaa "pp". Tiedostossa taas lukee " pp2 ". (loppuosa "kakkonen ja välilyönti" merkkaa ilmeisesti lukua 50?)
Miten saisin tuosta sen halutun "pp" :n talteen?
Last edited by DJ-Filbe on Sat Apr 24, 2010 11:58 pm, edited 1 time in total.