Tyhmät kysymykset (I/2009)
Re: Tyhmät kysymykset
Toivoisin vastausta kysymykseeni... Miksi ampuminen mavittaa?
Re: Tyhmät kysymykset
No ratkaisua siihen, miten asia korjataan, en keksinyt Mutta mavi tulee tästä koodi rivistä,
Rivi 133: CloneObjectPosition uusAmmus\obj, heebo
Rivi 133: CloneObjectPosition uusAmmus\obj, heebo
Re: Tyhmät kysymykset
Weird. Toimi ihan hyvin ennen kun aloin sähläämään tuon valikon kanssa.
Re: Tyhmät kysymykset
Johtuu siitä, että kun valikossa hyppäät gotolla themaingame-kohtaan ja skippaat mm. konekivaarintehot-muuttujan alustuksen ykköseksi, tämän takia uusAmmus\obj-muuttujaa ei koskaan luodakaan, mutta sitä yritetään kuitenkin sijoittaa heebon kohdalle.Chaosworm wrote:Weird. Toimi ihan hyvin ennen kun aloin sähläämään tuon valikon kanssa.
Korjaus on yksinkertainen: muista alustaa konekivaarintehot muuttuja ykköseksi
Re: Tyhmät kysymykset
Miten tehtävän b5 voisi toteuttaa?
Re: Tyhmät kysymykset
KeyDown() ja KeyHit()Character wrote:Miten tehtävän b5 voisi toteuttaa?
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
Kuinka saisin jatkettua tekstitiedostoon kirjoittamista samasta kohdasta, kun se sulkemisen jälkeen jäi?
Joudun kirjoittamaan writeline-komennolla tietoja tekstifileen, joten minulla tulee vähäsen hankaluuksia seekfile-komennon kanssa.
Toivoisin esimerkkiä asiasta
Joudun kirjoittamaan writeline-komennolla tietoja tekstifileen, joten minulla tulee vähäsen hankaluuksia seekfile-komennon kanssa.
Toivoisin esimerkkiä asiasta
Re: Tyhmät kysymykset
Ihan äkkiseltään en saa mitään esimerkkiä, mutta sun täytyy laittaa edellinen paikaa muistiin ja hakea tarvittaessa se paikka muistista ja laittaa seekfile:llä siihen paikkaan.
Re: Tyhmät kysymykset
Tässä esimerkki, mutta en keksinyt miten saisi aloitettua uuden rivin tekstitiedostossakysymys wrote:Kuinka saisin jatkettua tekstitiedostoon kirjoittamista samasta kohdasta, kun se sulkemisen jälkeen jäi?
Joudun kirjoittamaan writeline-komennolla tietoja tekstifileen, joten minulla tulee vähäsen hankaluuksia seekfile-komennon kanssa.
Toivoisin esimerkkiä asiasta
Code: Select all
AddText "Kirjoita rivi: "
Repeat
Repeat
Locate 10,30
txt$=Input(">>")
DrawScreen
Until KeyHit(28)
CloseInput
f=OpenToEdit("testetstes.txt")
SeekFile f, paikka
WriteLine f,txt$
paikka=paikka+Len(txt$)+1
CloseFile f
Forever
Tekeillä pikkupelejä ja ohjelmia
Re: Tyhmät kysymykset
Uusi rivi käyttää kaksi kirjainta (ASCII 10 ja 13), joten tuossa koodissasi kun lisäät "paikka"-muuttujaan tekstin pituuden ja yhden lisää, menet metsään, kun siihen pitäisi lisätä kaksi yhden sijaan. Eli näin:Jonhu wrote:Tässä esimerkki, mutta en keksinyt miten saisi aloitettua uuden rivin tekstitiedostossakysymys wrote:Kuinka saisin jatkettua tekstitiedostoon kirjoittamista samasta kohdasta, kun se sulkemisen jälkeen jäi?
Joudun kirjoittamaan writeline-komennolla tietoja tekstifileen, joten minulla tulee vähäsen hankaluuksia seekfile-komennon kanssa.
Toivoisin esimerkkiä asiasta
Code: Select all
AddText "Kirjoita rivi: " Repeat Repeat Locate 10,30 txt$=Input(">>") DrawScreen Until KeyHit(28) CloseInput f=OpenToEdit("testetstes.txt") SeekFile f, paikka WriteLine f,txt$ paikka=paikka+Len(txt$)+1 CloseFile f Forever
Code: Select all
AddText "Kirjoita rivi: "
Repeat
Repeat
Locate 10,30
txt$=Input(">>")
DrawScreen
Until KeyHit(28)
CloseInput
f=OpenToEdit("testetstes.txt")
SeekFile f, paikka
WriteLine f,txt$
paikka=paikka+Len(txt$)+2 // <---
CloseFile f
Forever
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
Tämä on kyllä hyyyyyyyvin tyhmä kysymys, mutta miten Textillä kirjoitetun tekstin voi pyyhkiä? En löytänyt manuaalista. Voiko sitä pyyhkiä?
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
Ei muuta kuin kok näytön pyyhkimisellä. Tai sitten teet näin:
Vähän purkkaisaa...
Edit: Unohdin tosiaan tuo Not-komennon. Kiitos Jonhulle siitä.
Code: Select all
t=True
Repeat
If t=True Then
Text 0,0,"Moi."
EndIf
If KeyHit(cbkeyspace) And t=True Then t=False
If KeyHit(cbkeyspace) And t=False Then t=True
DrawScreen
Until EscapeKey()
Edit: Unohdin tosiaan tuo Not-komennon. Kiitos Jonhulle siitä.
Last edited by phons on Sun Jan 25, 2009 3:45 pm, edited 2 times in total.
Re: Tyhmät kysymykset
Kun käytät text komentoa se pyyhkityy automaattisesti heti ruudun päivityksen jälkeen (poikkeuksena drawscreen OFF)jesperx96 wrote:Tämä on kyllä hyyyyyyyvin tyhmä kysymys, mutta miten Textillä kirjoitetun tekstin voi pyyhkiä? En löytänyt manuaalista. Voiko sitä pyyhkiä?
Eli text - komentoa joudut käyttämään jonkinlaisen silmukan sisällä.
Pääsilmukkaa kannattaa ajaa komennoilla repeat--> until (ehto) tai while (ehto) --> wend.
Jonkinlainen esimerkki vielä:
Code: Select all
AddText "tämä teksti pyyhkiytyy vain cleartext- komennolla" ' kirjotetaan teksitiä
AddText "paina mitätahansa nappia jatkaaksesi -->"
DrawScreen ' piirretään näyttö
WaitKey ' odotetaan napin painoa
ClearText ' pyyhitään addtextin teksti
paalla = ON ' asetetaan paalla aluksi päälle
Repeat ' pyöritetään silmukkaa niin kauan kunnes ehto täyttyy...
If KeyHit(28) Then paalla=Not paalla ' entteriä painettaessa paalla on eri kuin kaikaisemmin
' kirjoitetaan teksti paikkaan 10,10, vain kun paalla = 1
If paalla = ON Then Text 10,10, "Paina entter, niin tätä tekstiä ei piirretä"
DrawScreen ' piirretään näyttö
Until EscapeKey()' kunnes painetaan ESCiä
Kiitos Oonsuomelle edellisestä vastauksesta
Tekeillä pikkupelejä ja ohjelmia
Re: Tyhmät kysymykset
Oletetaan että teen suuren mittakaavan pelin, jossa (joudun) käytän hurjan määrän muuttujia, tässä muutama kysymys niihin liittyen.
1) Onko CoolBasicissa mitään rajaa kuinka monta muuttujaa voi ohjelmassa olla käytettynä?
2) Lue tarkasti: Jos ohjelmassa on vaikka yli 1000 muuttujaa (jos edes voi olla), niin voiko niitä muuttuja jotenkin poistaa ohjelman käytöstä ja ladata myöhemmin ne muuttujat osina ohjelmaan?
Niin että ensin ohjelmassa itsessään on vaikka 1000 muuttujaa aina käytössä, mutta sitten kun mennään taistelutoimintoon ja jossa ladataan lisää muuttujia peliin (include toiminnolla, onko paras keino?), niin voiko taistelun jälkeen juuri taisteluun ladatut muuttujat jotenkin poistaa käytöstä?
Että siis aluksi on 1000 muuttujaa ohjelmassa, taisteluun mennessä lisätään esimerkiksi 50 muuttujaa include-toiminnolla ja sitten taistelun jälkeen poistetaan käytöstä ne 50 muuttujaa, mutta voiko ne taistelutoiminnon muuttujat sitten ladata taas uudelleen seuraavaa taistelu hetkeä varten? Eli voisiko tällä tavalla tehdä teoriassa loputtoman määrän muuttujia peliin?
2) Kannattaako tietoja tallentaa ylipäätään hirveää määrää muuttujiin? Jos ei niin mihin sitten?
Kiitos paljon vastauksista näin etukäteen!
1) Onko CoolBasicissa mitään rajaa kuinka monta muuttujaa voi ohjelmassa olla käytettynä?
2) Lue tarkasti: Jos ohjelmassa on vaikka yli 1000 muuttujaa (jos edes voi olla), niin voiko niitä muuttuja jotenkin poistaa ohjelman käytöstä ja ladata myöhemmin ne muuttujat osina ohjelmaan?
Niin että ensin ohjelmassa itsessään on vaikka 1000 muuttujaa aina käytössä, mutta sitten kun mennään taistelutoimintoon ja jossa ladataan lisää muuttujia peliin (include toiminnolla, onko paras keino?), niin voiko taistelun jälkeen juuri taisteluun ladatut muuttujat jotenkin poistaa käytöstä?
Että siis aluksi on 1000 muuttujaa ohjelmassa, taisteluun mennessä lisätään esimerkiksi 50 muuttujaa include-toiminnolla ja sitten taistelun jälkeen poistetaan käytöstä ne 50 muuttujaa, mutta voiko ne taistelutoiminnon muuttujat sitten ladata taas uudelleen seuraavaa taistelu hetkeä varten? Eli voisiko tällä tavalla tehdä teoriassa loputtoman määrän muuttujia peliin?
2) Kannattaako tietoja tallentaa ylipäätään hirveää määrää muuttujiin? Jos ei niin mihin sitten?
Kiitos paljon vastauksista näin etukäteen!
Re: Tyhmät kysymykset
1) Muistaakseni pari sataa, jonka pitäisi riittää, vaikka ryhtyisit tekemään verkkopeliä.Vieras wrote:Oletetaan että teen suuren mittakaavan pelin, jossa (joudun) käytän hurjan määrän muuttujia, tässä muutama kysymys niihin liittyen.
1) Onko CoolBasicissa mitään rajaa kuinka monta muuttujaa voi ohjelmassa olla käytettynä?
2) Lue tarkasti: Jos ohjelmassa on vaikka yli 1000 muuttujaa (jos edes voi olla), niin voiko niitä muuttuja jotenkin poistaa ohjelman käytöstä ja ladata myöhemmin ne muuttujat osina ohjelmaan?
Niin että ensin ohjelmassa itsessään on vaikka 1000 muuttujaa aina käytössä, mutta sitten kun mennään taistelutoimintoon ja jossa ladataan lisää muuttujia peliin (include toiminnolla, onko paras keino?), niin voiko taistelun jälkeen juuri taisteluun ladatut muuttujat jotenkin poistaa käytöstä?
Että siis aluksi on 1000 muuttujaa ohjelmassa, taisteluun mennessä lisätään esimerkiksi 50 muuttujaa include-toiminnolla ja sitten taistelun jälkeen poistetaan käytöstä ne 50 muuttujaa, mutta voiko ne taistelutoiminnon muuttujat sitten ladata taas uudelleen seuraavaa taistelu hetkeä varten? Eli voisiko tällä tavalla tehdä teoriassa loputtoman määrän muuttujia peliin?
3) Kannattaako tietoja tallentaa ylipäätään hirveää määrää muuttujiin? Jos ei niin mihin sitten?
Kiitos paljon vastauksista näin etukäteen!
2) Ei voi poistaa. Includea ei kannata käyttää, sillä se vain lisää toisen filun koodiisi. Ei voi tehdä loputtomasti. Ja miksi muutenkaan sinulla olisi 1000 muuttujaa?
3)Ei. Viholliset, esineet sun muut voi toteuttaa typeillä, jotka ovat näppäriä. Funkioistakin on hyötyä, tosin niitä on rajoitettu määrä myöskin.
Re: Tyhmät kysymykset
Jos paljon muuttujia haluaa, niin se kannattaa toteuttaa taulukoilla.Vieras wrote:Oletetaan että teen suuren mittakaavan pelin, jossa (joudun) käytän hurjan määrän muuttujia, tässä muutama kysymys niihin liittyen.
1) Onko CoolBasicissa mitään rajaa kuinka monta muuttujaa voi ohjelmassa olla käytettynä?
2) Lue tarkasti: Jos ohjelmassa on vaikka yli 1000 muuttujaa (jos edes voi olla), niin voiko niitä muuttuja jotenkin poistaa ohjelman käytöstä ja ladata myöhemmin ne muuttujat osina ohjelmaan?
Niin että ensin ohjelmassa itsessään on vaikka 1000 muuttujaa aina käytössä, mutta sitten kun mennään taistelutoimintoon ja jossa ladataan lisää muuttujia peliin (include toiminnolla, onko paras keino?), niin voiko taistelun jälkeen juuri taisteluun ladatut muuttujat jotenkin poistaa käytöstä?
Että siis aluksi on 1000 muuttujaa ohjelmassa, taisteluun mennessä lisätään esimerkiksi 50 muuttujaa include-toiminnolla ja sitten taistelun jälkeen poistetaan käytöstä ne 50 muuttujaa, mutta voiko ne taistelutoiminnon muuttujat sitten ladata taas uudelleen seuraavaa taistelu hetkeä varten? Eli voisiko tällä tavalla tehdä teoriassa loputtoman määrän muuttujia peliin?
2) Kannattaako tietoja tallentaa ylipäätään hirveää määrää muuttujiin? Jos ei niin mihin sitten?
Kiitos paljon vastauksista näin etukäteen!
CoolBasic henkilökuntaa
Graafikko
Graafikko
Re: Tyhmät kysymykset
Miksihän ei toimi? Luultavasti on joku ihan hassu syy, joka olisi kyllä pitänyt tajuta, eikö niin?
Code: Select all
Repeat
Text 0,0, "Level: Ending Boss"
Text 0,14, "Health: "+health
Text 0, 28, "Boss Health: "+scienthealth
Text 0, 42, "Weapon: Laser"
Text 0, 56, "Music playing: Ekso - Dreamcrusher" '@ Harakka - kai tätä saa käyttää? Luin foorumeilta kun annoit jonkun toisen käyttää Ekson kappaleita ja ajattelin että itsekin saan...
PositionObject hiiri, MouseWX(), MouseWY()
If movement<3 Then
PointObject heebo, hiiri
EndIf
PointObject scient,heebo
heebonvauhti=3
bulletspeed=20
If movement=1 Then
If KeyDown(cbkeyw) Then TranslateObject heebo,0,heebonvauhti
If KeyDown(cbkeys) Then TranslateObject heebo,0,-heebonvauhti
If KeyDown(cbkeya) Then TranslateObject heebo,-heebonvauhti,0
If KeyDown(cbkeyd) Then TranslateObject heebo,heebonvauhti,0
EndIf
If movement=2 Then
If KeyDown(cbkeyw) Then MoveObject heebo, heebonvauhti
If KeyDown(cbkeys) Then MoveObject heebo, -heebonvauhti
If KeyDown(cbkeya) Then MoveObject heebo, 0, -heebonvauhti
If KeyDown(cbkeyd) Then MoveObject heebo, 0, heebonvauhti
EndIf
If movement=3 Then
If KeyDown(cbkeyw) Then MoveObject heebo, heebonvauhti
If KeyDown(cbkeys) Then MoveObject heebo, -heebonvauhti
If KeyDown(cbkeya) Then TurnObject heebo, -heebonvauhti
If KeyDown(cbkeyd) Then TurnObject heebo, heebonvauhti
EndIf
If ObjectX(heebo) <-320 Then PositionObject heebo, 319, ObjectY(heebo)
If ObjectX(heebo) >320 Then PositionObject heebo, -319, ObjectY(heebo)
If ObjectY(heebo) <-320 Then PositionObject heebo, ObjectX(heebo), 319
If ObjectY(heebo) >320 Then PositionObject heebo, ObjectX(heebo), -319
If MouseDown(1) And reload < 1 And gamestyle=1 Then
uusAmmus.AMMUKSET= New(AMMUKSET)
uusAmmus\obj=CloneObject(ammus2)
CloneObjectPosition uusAmmus\obj, heebo
CloneObjectOrientation uusAmmus\obj, heebo
MoveObject uusAmmus\obj, 24
If Konekivaarintehot=2 Then
PlaySound lcannon, 20
Else
PlaySound mgun, 40
reload=reload+5
Bullets=Bullets-1
EndIf
EndIf
If scientistshoot=0 Then
newAmmus.AMMUKSET= New(AMMUKSET)
newAmmus\obj=CloneObject(ammus2)
CloneObjectPosition newAmmus\obj, scient
CloneObjectOrientation newAmmus\obj, scient
MoveObject newAmmus\obj, 24
PlaySound lcannon, 20
scientistshoot=3
EndIf
reload=reload-3
If reload<0 Then reload=0
scientistshoot=scientistshoot-1
If scientistshoot<0 Then scientistshoot=0
'Update bullwts
For iAmmus.AMMUKSET= Each AMMUKSET
MoveObject iAmmus\obj,bulletspeed
If Distance2 (iAmmus\obj, heebo) > 800 Then
DeleteObject iAmmus\obj
Delete iAmmus
EndIf
If ObjectsOverlap (iAmmus\obj, heebo) Then health=health-10
If ObjectsOverlap (iAmmus\obj, scient) Then scienthealth=scienthealth-1
i=i+1
Next iAmmus
If health<1 Then Goto ending
If scienthealth<1 Then Goto winning
DrawScreen
Forever
Re: Tyhmät kysymykset
En varsinaisesti tiedä ongelmaasi, mutta käytä siinä movement If-lausekkeissa ElseIf:iä. Se helpottaa hiukan... Ja olethan varmasti laittanut kaikki nuo muuttujat sinne alkuu? esim. health ja scienthealth.
Re: Tyhmät kysymykset
Mikä tuossa on rikki?
Korjasin tuota nyt jotenkin, että saisin edes sen käyntiin. Koodit kannattaa antaa foorumille sellaisessa muodossa, että ne saadaan käyntiin, niin ei tarvitse puolta koodia kirjoittaa uusiksi.. Tuota eri liikutus tapoja en oikein älynnyt, joten yksinkertaistin vähäsen niitä.
Voisit myös opetella sisennyksien käytön. Ne helpottaisivat huomattavasti virheen etsimistä
Korjasin tuota nyt jotenkin, että saisin edes sen käyntiin. Koodit kannattaa antaa foorumille sellaisessa muodossa, että ne saadaan käyntiin, niin ei tarvitse puolta koodia kirjoittaa uusiksi.. Tuota eri liikutus tapoja en oikein älynnyt, joten yksinkertaistin vähäsen niitä.
Voisit myös opetella sisennyksien käytön. Ne helpottaisivat huomattavasti virheen etsimistä
Code: Select all
Type AMMUKSET
Field obj
EndType
heebonvauhti=3
bulletspeed=20
heebo=LoadObject("media\soldier.bmp",72)
ammus2=LoadObject("media\bullet.bmp")
hiiri=LoadObject("media\cursor.bmp")
scient=LoadObject("media\guy.bmp",72)
'LoadSound( "Media\SK_Battle2.mp3")
mgun=LoadSound("Media\Blaster.wav")
lcannon=LoadSound("Media\Blaster.wav")
health=10000
scienthealth=10000
ShowMouse OFF
movement=1
gamestyle=1
Repeat
Text 0,0, "Level: Ending Boss"
Text 0,14, "Health: "+health
Text 0, 28, "Boss Health: "+scienthealth
Text 0, 42, "Weapon: Laser"
Text 0, 56, "Music playing: Ekso - Dreamcrusher" '@ Harakka - kai tätä saa käyttää? Luin foorumeilta kun annoit jonkun toisen käyttää Ekson kappaleita ja ajattelin että itsekin saan...
PositionObject hiiri, MouseWX(), MouseWY()
If movement<3 Then PointObject heebo, hiiri
PointObject scient,heebo
If movement=1
If KeyDown(cbkeyw) Then MoveObject heebo,heebonvauhti
If KeyDown(cbkeys) Then MoveObject heebo,-heebonvauhti
// objecti osoittaa hiireen, jolloin sivuttaisuunnan liikkeestä ei ole hyötyä
' If KeyDown(cbkeya) Then TurnObject heebo,-heebonvauhti
' If KeyDown(cbkeyd) Then TurnObject heebo,heebonvauhti
EndIf
If ObjectX(heebo) <-320 Then PositionObject heebo, 319, ObjectY(heebo)
If ObjectX(heebo) >320 Then PositionObject heebo, -319, ObjectY(heebo)
If ObjectY(heebo) <-320 Then PositionObject heebo, ObjectX(heebo), 319
If ObjectY(heebo) >320 Then PositionObject heebo, ObjectX(heebo), -319
If MouseDown(1) And reload < 1 And gamestyle=1 Then
uusAmmus.AMMUKSET= New(AMMUKSET)
uusAmmus\obj=CloneObject(ammus2)
CloneObjectPosition uusAmmus\obj, heebo
CloneObjectOrientation uusAmmus\obj, heebo
MoveObject uusAmmus\obj, 24
If Konekivaarintehot=2 Then
PlaySound lcannon, 20
Else
PlaySound mgun, 40
reload=reload+20
Bullets=Bullets-1
EndIf
EndIf
If scientistshoot=0 And reload2 < 1 Then
newAmmus.AMMUKSET= New(AMMUKSET)
newAmmus\obj=CloneObject(ammus2)
CloneObjectPosition newAmmus\obj, scient
CloneObjectOrientation newAmmus\obj, scient
MoveObject newAmmus\obj, 24
PlaySound lcannon, 20
scientistshoot=3
reload2+50
EndIf
If reload2>0 Then reload2=reload2-3 // Toinenkin ukko tarvitsee reloadin mieluiten tekisit typeillä
If reload2<0 Then reload2=0
If reload>0 Then reload=reload-3 // vähennetään vain kun on reloadia..
If reload<0 Then reload=0
scientistshoot=scientistshoot-1
If scientistshoot<0 Then scientistshoot=0
'Update bullwts
For iAmmus.AMMUKSET= Each AMMUKSET
MoveObject iAmmus\obj,bulletspeed
If Distance2 (iAmmus\obj, heebo) > 800 Then delet=ON
If ObjectsOverlap (iAmmus\obj, heebo) Then health=health-10 Then delet=ON
If ObjectsOverlap (iAmmus\obj, scient) Then scienthealth=scienthealth-1 Then delet=ON
//POISTETAAN KAIKKISTA SYISTÄ KERRALLA OBJEKTIT
If delet=ON
DeleteObject iAmmus\obj
Delete iAmmus
delet=OFF
EndIf
i=i+1
Next iAmmus
If health<1 Then Goto ending
If scienthealth<1 Then Goto winning
DrawScreen
Forever
ending:
winning:
Tekeillä pikkupelejä ja ohjelmia
Re: Tyhmät kysymykset
Miten saan tehtyä kaksi tekstiä joista toinen on ruutukordinaateissa ja toinen
maailmakordinaateissa pelissä yhtäaikaa.. Yritin funktioilla muttei onnistunut.
maailmakordinaateissa pelissä yhtäaikaa.. Yritin funktioilla muttei onnistunut.
EDIT:
Ei mitään sain ratkaistua itse.