Tekstin omaa liikkumista o.O

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
klopari
Newcomer
Posts: 8
Joined: Thu Jun 06, 2013 3:23 pm

Tekstin omaa liikkumista o.O

Post by klopari »

Joo mul on sellanen jännä ongelma et tos ku toi menee eteempäin nii huomaa jo ensimmäises yhteisessä piste taulukossa et toi teksti putoo alaspäin pikku hiljaa.
En tiiä missä on vika mut epäilen vahvasti "Write" komentoa :/

Jos joku viittis auttaa ystävällisesti :)

Code: Select all

SCREEN 680,480

While Not KeyHit(28)
   Pe1Ni$=Input("Ensimmäisen pelaajan nimi: ")
   DrawScreen 
Wend 

CloseInput 
ClearKeys 

While Not KeyHit(28)
   Pe2Ni$=Input("Toisen pelaajan nimi: ")
   DrawScreen
Wend 

CloseInput 
ClearKeys 

While Not KeyHit(28)
   Pe3Ni$=Input("Kolmannen pelaajan nimi: ")
   DrawScreen 
Wend 

CloseInput 
ClearKeys 

While Not KeyHit(28)
   Pe4Ni$=Input("Neljännen pelaajan nimi: ")
   DrawScreen
Wend

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe1Ni
Print " ensimmäisen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe1ki1$=Input(">>")
   DrawScreen 
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe2Ni
Print " ensimmäisen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe2ki1$=Input(">>")
   DrawScreen
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe3Ni
Print " ensimmäisen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe3ki1$=Input(">>")
   DrawScreen 
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe4Ni
Print " ensimmäisen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe4ki1$=Input(">>")
   DrawScreen
Wend 

Pe1ki1=Int(Pe1ki1)
Pe2ki1=Int(Pe2ki1)
Pe3ki1=Int(Pe3ki1)
Pe4ki1=Int(Pe4ki1)


Print "Pelaajien pisteet:"
Write " "+Pe1Ni
    Print " "+Pe1ki1
Write " "+Pe2Ni
    Print " "+Pe2ki1
Write " "+Pe3Ni
    Print " "+Pe3ki1
Write " "+Pe4Ni
    Print " "+Pe4ki1

If KeyHit(1)Then End
Print "Seuraava kierros suora ja kolmoset alkaa painamalla mitä tahansa paitsi esc:iä"
Print "Poistu painamalla esc"
WaitKey

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe1Ni
Print " toisen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe1ki2$=Input(">>")
   DrawScreen 
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe2Ni
Print " toisen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe2ki2$=Input(">>")
   DrawScreen
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe3Ni
Print " toisen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe3ki2$=Input(">>")
   DrawScreen 
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe4Ni
Print " toisen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe4ki2$=Input(">>")
   DrawScreen
Wend 

Pe1Ki2=Int(Pe1ki1)+Int(pe1ki2)
Pe2Ki2=Int(Pe2ki1)+Int(pe2ki2)
Pe3Ki2=Int(Pe3ki1)+Int(Pe3ki2)
Pe4Ki2=Int(Pe4ki1)+Int(Pe4ki2)


Print "Pelaajien pisteet toisella kieroksella:"
Write " "+Pe1Ni
    Print " "+Pe1Ki2
Write " "+Pe2Ni
    Print " "+Pe2Ki2
Write " "+Pe3Ni
    Print " "+Pe3Ki2
Write " "+Pe4Ni
    Print " "+Pe4Ki2
   

If KeyHit(1)Then End
Print "Seuraava kierros kaksi suoraa alkaa painamalla mitä tahansa paitsi esc:iä"
Print "Poistu painamalla esc"
WaitKey

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe1Ni
Print " kolmannen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe1ki3$=Input(">>")
   DrawScreen 
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe2Ni
Print " kolmannen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe2ki3$=Input(">>")
   DrawScreen
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe3Ni
Print " kolmannen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe3ki3$=Input(">>")
   DrawScreen 
Wend 

CloseInput 
ClearKeys 

Write "Pelaajan "+Pe4Ni
Print " kolmannen kierroksen pisteet"
WaitKey
While Not KeyHit(28)
   Pe4ki3$=Input(">>")
   DrawScreen
Wend 

Pe1Ki2=Int(Pe1ki1)+Int(pe1ki2)+Int(pe1ki3)
Pe2Ki2=Int(Pe2ki1)+Int(pe2ki2)+Int(pe2ki3)
Pe3Ki2=Int(Pe3ki1)+Int(Pe3ki2)+Int(pe3ki3)
Pe4Ki2=Int(Pe4ki1)+Int(Pe4ki2)+Int(pe4ki3)


Print "Pelaajien pisteet kolmannella kieroksella:"
Write " "+Pe1Ni
    Print " "+Pe1Ki2
Write " "+Pe2Ni
    Print " "+Pe2Ki2
Write " "+Pe3Ni
    Print " "+Pe3Ki2
Write " "+Pe4Ni
    Print " "+Pe4Ki2
   

If KeyHit(1)Then End
Print "Seuraava kierros kolmet kolmoset alkaa painamalla mitä tahansa paitsi esc:iä"
Print "Poistu painamalla esc"
WaitKey
Print "Error, here is nothing. Press anything for end"
WaitKey
User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: Tekstin omaa liikkumista o.O

Post by Sami The Great »

Ei kannata tulostaa tekstiä etupuskuriin suoraan, jota print ja write tekevät. Käytä mielummin AddText-komentoa lisäämään teksti kerran ruudulle ja sitten kutsu drawscreen, niin teksti piirtyy. Lisätyt tekstit saa tyhjennettyä näytöltä ClearText komennolla.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tekstin omaa liikkumista o.O

Post by Latexi95 »

Sami The Great wrote:Ei kannata tulostaa tekstiä etupuskuriin suoraan, jota print ja write tekevät. Käytä mielummin AddText-komentoa lisäämään teksti kerran ruudulle ja sitten kutsu drawscreen, niin teksti piirtyy. Lisätyt tekstit saa tyhjennettyä näytöltä ClearText komennolla.
Jep. Näin on. Print ja Write eivät toimi DrawScreenin kanssa kunnolla. Käytä mielummin joko Text tai AddText komentoja.
klopari
Newcomer
Posts: 8
Joined: Thu Jun 06, 2013 3:23 pm

Re: Tekstin omaa liikkumista o.O

Post by klopari »

Kiitoksia, pitänee leikkä siis enempi ton Addtext/Text komentojen kanssa :/

Tuli viel sellane pikku juttu (ei liity tekstiin oikeastaa ollenkaa hieman on tekstiä kyl asiassa mut ei sen enempää :D )
että ku käytän tota gotoa nii se heittää aina samaan "goton ulostuloon" vaikka sen pitäs hyppää sen yli.

Onko ongelma käyttäjässä vai koodissa (eli käyttäjässä)?

Code: Select all

SCREEN 680,480

Print "Valitse peli painamalla '3' kolmen peliksi"
Print "'4' neljän peliksi '5' viiden peliksi"
    If KeyHit(4) Then Goto kolme
    If KeyHit(5) Then Goto nelja
    If KeyHit(6) Then Goto viisi
WaitKey

kolme:
Print "3"
WaitKey
End
nelja:
Print "4"
WaitKey
End
viisi:
Print "5"
WaitKey
End 
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: Tekstin omaa liikkumista o.O

Post by naputtelija »

klopari wrote:Kiitoksia, pitänee leikkä siis enempi ton Addtext/Text komentojen kanssa :/

Tuli viel sellane pikku juttu (ei liity tekstiin oikeastaa ollenkaa hieman on tekstiä kyl asiassa mut ei sen enempää :D )
että ku käytän tota gotoa nii se heittää aina samaan "goton ulostuloon" vaikka sen pitäs hyppää sen yli.

Onko ongelma käyttäjässä vai koodissa (eli käyttäjässä)?

Code: Select all

SCREEN 680,480

Print "Valitse peli painamalla '3' kolmen peliksi"
Print "'4' neljän peliksi '5' viiden peliksi"
    If KeyHit(4) Then Goto kolme
    If KeyHit(5) Then Goto nelja
    If KeyHit(6) Then Goto viisi
WaitKey

kolme:
Print "3"
WaitKey
End
nelja:
Print "4"
WaitKey
End
viisi:
Print "5"
WaitKey
End 
Keyhit-funktiota pitää käyttää loopin sisällä. Eli esim.

Code: Select all

Repeat
If KeyHit(4) Then Goto kolme
Forever

kolme:
Print "3"
Waitkey
End


<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tekstin omaa liikkumista o.O

Post by Latexi95 »

Tai sitten voit käyttää WaitKey:tä funktiona.

Code: Select all

key = WaitKey()
if key = cbKeyUp Then Goto up
if key = cbKeyDown Then Goto down
Post Reply