Tyhmät kysymykset (II/2009)

Voit pyytää apua ohjelmointiongelmiin täältä.
User avatar
Zero
Lead Developer
Lead Developer
Posts: 727
Joined: Sun Aug 26, 2007 2:30 pm
Location: Helsinki, Finland
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Zero »

Siirrä:

Code: Select all

Box x,y,32,32
Repeat..Until -lohkon sisälle.
CoolBasic henkilökuntaa
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic

http://www.coolbasic.com/blog
Student
Newcomer
Posts: 23
Joined: Fri Dec 18, 2009 1:31 pm

Re: Tyhmät kysymykset (II/2009)

Post by Student »

Selvä, toimii :) Mutta sitten se ohjaussysteemi... Millainen ohjaussysteemi siis pitäisi tehdä, kun koodissani ei toimi If LeftKey() Then x=x-1 :oops: :oops:
Tai ainakaan punainen laatikko ei liiku...
I just started coding and already i have made progress... And now it got stuck xD
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Viltzu »

Student wrote:Selvä, toimii :) Mutta sitten se ohjaussysteemi... Millainen ohjaussysteemi siis pitäisi tehdä, kun koodissani ei toimi If LeftKey() Then x=x-1 :oops: :oops:
Tai ainakaan punainen laatikko ei liiku...
Ettei vaan sattus olemaan tälläinen komento+parametrit koodissasi?
Box 0+r,0,32,32
Jos on, niin ei tietenkään toimi. Koska Box on ja pysyy samassa paikassa kuin aina (ellei r muutu). Eli vaikka lisäät x muuttujaan mitä tahansa ei loota liiku koska parametreinä ei ole X ja Y muuttujia. Zerohan tuossa jo antoi täysin toimivan komennon ja parametrit
Student
Newcomer
Posts: 23
Joined: Fri Dec 18, 2009 1:31 pm

Re: Tyhmät kysymykset (II/2009)

Post by Student »

Ei satu olemaan, kun korjasin ne pois... Niiden sijasta on nyt Color cbRed... Eli toimiiko tuolla vai tarviiko sitä muuttaa?
I just started coding and already i have made progress... And now it got stuck xD
Student
Newcomer
Posts: 23
Joined: Fri Dec 18, 2009 1:31 pm

Re: Tyhmät kysymykset (II/2009)

Post by Student »

Student wrote:Ei satu olemaan, kun korjasin ne pois... Niiden sijasta on nyt Color cbRed... Eli toimiiko tuolla vai tarviiko sitä muuttaa?
Joo muuten sain ne itse korjattua, kiitos kuitenkin :D
I just started coding and already i have made progress... And now it got stuck xD
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (II/2009)

Post by Awaclus »

Student wrote:
Student wrote:Ei satu olemaan, kun korjasin ne pois... Niiden sijasta on nyt Color cbRed... Eli toimiiko tuolla vai tarviiko sitä muuttaa?
Joo muuten sain ne itse korjattua, kiitos kuitenkin :D
Viestisi alla on tämmöinen nappi: Image. Sitä kannattaa painaa yleensä. Välillä kannattavaa on tehdä useampi viesti peräkkäin, esim. ketjun nostamisen takia, tai että pystyy linkittämään juuri siihen kohtaan viestiä, tai jos viesti ei mahdu tuohon 60 000 merkin limittiin. Mutta yleensä tuo nappi on hyödyllinen.

EDIT (painoin juuri tuota nappia!): Ai niin, se nappi voi olla myös tämmöinen ja se voi löytyä myös viestin yläreunasta, jos käytät prosilver-teemaa (Team Hamsterit suosittelee kuitenkin subsilver2:a):
Student
Newcomer
Posts: 23
Joined: Fri Dec 18, 2009 1:31 pm

Re: Tyhmät kysymykset (II/2009)

Post by Student »

Joo nyt yritän tehtävää a4 ja koodistani saattaa puuttua jotain tai jotain on väärin, mutta Enteriä painettaessa ei tapahdu mitään... Mikä on siis vialla?

Code: Select all

AddText "Paina Enter--> Lottorivi arvotaan"

Repeat

    If KeyHit(cbKeyEnter) Then Text 10,10,Rand(1,49)
    If KeyHit(cbKeyEnter) Then Text 10,20,Rand(1,49)
    If KeyHit(cbKeyEnter) Then Text 10,30,Rand(1,49)

    DrawScreen
    
Until EscapeKey()
I just started coding and already i have made progress... And now it got stuck xD
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (II/2009)

Post by Awaclus »

Student wrote:Joo nyt yritän tehtävää a4 ja koodistani saattaa puuttua jotain tai jotain on väärin, mutta Enteriä painettaessa ei tapahdu mitään... Mikä on siis vialla?

Code: Select all

AddText "Paina Enter--> Lottorivi arvotaan"

Repeat

    If KeyHit(cbKeyEnter) Then Text 10,10,Rand(1,49)
    If KeyHit(cbKeyEnter) Then Text 10,20,Rand(1,49)
    If KeyHit(cbKeyEnter) Then Text 10,30,Rand(1,49)

    DrawScreen
    
Until EscapeKey()
Tapahtuupas. Text printtaa tekstin vain kunnes ruutu päivitetään, joten et ehdi näkemäänkään sitä, ennen kuin se häviää. Pistä mielummin AddTextillä (helpompi tapa kuin yrittää säätää Textin kanssa).
Student
Newcomer
Posts: 23
Joined: Fri Dec 18, 2009 1:31 pm

Re: Tyhmät kysymykset (II/2009)

Post by Student »

Joo ehkä ymmärsin jotain väärin, mutta AddTextiä ei voi käyttää silmukassa...
I just started coding and already i have made progress... And now it got stuck xD
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (II/2009)

Post by Jonez »

Manuaalissa sanotaan että AddTextiä ei kannata kutsua silmukassa. Sillä tarkoitetaan, että AddTextiä ei kannata kutsua joka silmukan kierroksella, vain kerran.
Tuossa ohjelmassasi käytät cb:n näppäinvakiota "CbKeyEnter". Tämä tarkoittaa sitä ihan oikealla olevaa pitkulaista näppäintä näppiksessä. Vakio "CbKeyReturn" sen sijaan tarkoittaa sitä enteriä, jota olemme tottuneet painamaan rivinvaihdossa.

Cb:ssä on mahdollista tehdä monirivisiä ehtolauseta. Siis sen sijaan että tekisit näin:

Code: Select all

a = 1
If a = 1 Then Print "Hello"
If a = 1 Then Print "World"
WaitKey
Tee mieluummin näin (huomaa myös sisennykset, käytä niitä):

Code: Select all

a = 1
If a = 1 Then
    Print "Hello"
    Print "World"
EndIf
WaitKey
Ja AddTextille esimerkki:

Code: Select all

AddText "Paina Enter"

Repeat

    If KeyHit(cbKeyReturn) Then 
        Locate 100, 100
        AddText "Hello World"
    EndIf

    DrawScreen
    
Until EscapeKey()
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
Grand Admiral Duck

Re: Tyhmät kysymykset (II/2009)

Post by Grand Admiral Duck »

Onko mahdollista poistaa kuvan yläreunasta X:n kokoinen siivu, siis ilman että se muuten vaikuttaa kuvaan?
Herra Siili
Advanced Member
Posts: 308
Joined: Tue Nov 25, 2008 8:06 pm
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Herra Siili »

Sanoisin, että piirrät siihen maskivärillä päälle.
EDIT:

100. viesti! Olen Active Member. :D

a.k.a. Gehock
Aklala

Re: Tyhmät kysymykset (II/2009)

Post by Aklala »

Elikkä oon nyt jonkin aikaa tehnyt sellaisia pieniä pelejä ja toimiontoja jotka eivät ole maailmaa mullistavia.

Hetki sitten koitin tehdä siinä kun painaa jotain nappulaa vaikkapa a:ta niin tausta vaihtuisi toiseksi.

Saisin kyllä itsekkin tehtyä kun säätäisin, mutta hermo meni äskön kun koitin ja sitten se herjas kokoajan jotain kun korjasin.
Grand Admiral Duck

Re: Tyhmät kysymykset (II/2009)

Post by Grand Admiral Duck »

Herra Siili wrote:Sanoisin, että piirrät siihen maskivärillä päälle.
Ei toimi. Kuvan "fyysistä" kokoa pitäisi saada muokattua ohjelmassa itsessään. Muita maailmaa mullistavia asioita?
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tyhmät kysymykset (II/2009)

Post by Feuer »

Saako CB:n oman Input():n lukemaan syötteitä myös numpadiltä? Saan joululoma-palkan tekemällä faijalle ohjelman johon tarvitsisi syöttää paljon numeroita, ja tuo on tottunut käyttämään numpadiä, eikä noita näppäimistön yllä olevia numeroita.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Student
Newcomer
Posts: 23
Joined: Fri Dec 18, 2009 1:31 pm

Re: Tyhmät kysymykset (II/2009)

Post by Student »

Jonez wrote:Manuaalissa sanotaan että AddTextiä ei kannata kutsua silmukassa. Sillä tarkoitetaan, että AddTextiä ei kannata kutsua joka silmukan kierroksella, vain kerran.
Tuossa ohjelmassasi käytät cb:n näppäinvakiota "CbKeyEnter". Tämä tarkoittaa sitä ihan oikealla olevaa pitkulaista näppäintä näppiksessä. Vakio "CbKeyReturn" sen sijaan tarkoittaa sitä enteriä, jota olemme tottuneet painamaan rivinvaihdossa.

Cb:ssä on mahdollista tehdä monirivisiä ehtolauseta. Siis sen sijaan että tekisit näin:

Code: Select all

a = 1
If a = 1 Then Print "Hello"
If a = 1 Then Print "World"
WaitKey
Tee mieluummin näin (huomaa myös sisennykset, käytä niitä):

Code: Select all

a = 1
If a = 1 Then
    Print "Hello"
    Print "World"
EndIf
WaitKey
Ja AddTextille esimerkki:

Code: Select all

AddText "Paina Enter"

Repeat

    If KeyHit(cbKeyReturn) Then 
        Locate 100, 100
        AddText "Hello World"
    EndIf

    DrawScreen
    
Until EscapeKey()
Selvä kiitos tästä tiedosta :)
I just started coding and already i have made progress... And now it got stuck xD
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Tyhmät kysymykset (II/2009)

Post by TheFish »

Grand Admiral Duck wrote:
Herra Siili wrote:Sanoisin, että piirrät siihen maskivärillä päälle.
Ei toimi. Kuvan "fyysistä" kokoa pitäisi saada muokattua ohjelmassa itsessään. Muita maailmaa mullistavia asioita?
En nyt ole varma ymmärsinkö mitä ajat takaa, mutta katso DrawImageBox manuaalista.
EDIT:

Huom. voit myös tehdä MakeImage:lla uuden kuvan ja piirtää siihen DrawImageBox:illa tarvittavan siivun vanhasta kuvasta ja sitten asettaa vanhaan kuvaan viittaavan muuttujan osoittamaan uuteen kuvaan. Näin saat sen kuvan koon oikeasti muutettua.

CoolBasic henkilökuntaa
Kehittäjä
legend
Advanced Member
Posts: 371
Joined: Wed Nov 18, 2009 8:06 pm

Re: Tyhmät kysymykset (II/2009)

Post by legend »

Feuer wrote:Saako CB:n oman Input():n lukemaan syötteitä myös numpadiltä? Saan joululoma-palkan tekemällä faijalle ohjelman johon tarvitsisi syöttää paljon numeroita, ja tuo on tottunut käyttämään numpadiä, eikä noita näppäimistön yllä olevia numeroita.
ei, mutta saat ne keyhit() functiolla.
ohjelma tulostaa numeron 1, kun painat numpadin 1

Code: Select all

    Repeat
       Text 10,10,numpad()
       DrawScreen
    Forever

    Function numpad()
        If KeyDown(79) Then Return 1 '79 = 1
    EndFunction   
Hei

Re: Tyhmät kysymykset (II/2009)

Post by Hei »

Miten saisin silleen (teen teksti peliä) että, se menee alkuun muttei heti toisin kuin nyt. Nyt mulla on siellä Goto ja kun painaa sitä nappia mistä se menee toiselle sivulle, se toinen sivu välähtää ja menee heti alkuun?
Hei

Re: Tyhmät kysymykset (II/2009)

Post by Hei »

Korjausta edelliseen ja jatkoa.
Nyt korvasin tuon Wait ja Goto komennot
delay=TIMER():Repeat:Until TIMER()>delay+5000 'odottaa 5 sekuntia
mutta toisella sivulla toi otimii ja toisella ei sitten kun katson malia siitä sivusta joka toimii, niin se alkaa herjaamaan jotain erroria:

REPEAT error
couldn't find ending block
line 112

tai joku ton suuntainen.
Locked