Kirjautuminen

Haku

Tehtävät

Koodit: QB: Näyttöä kiertävä teksti

Kirjoittaja: Antti Laaksonen

Kirjoitettu: 18.02.2002 – 18.02.2002

Tagit: grafiikka, koodi näytille, vinkki

Tämän koodinpätkän avulla näytön reunoilla kiertää vastapäivään haluttu teksti. Animaatio ei tyhjennä näyttöä, joten keskelle voi kirjoitella mitä mieli tekee ilman jatkuvaa päivitystä.

DIM teksti AS STRING * 202

CLS

teksti = "*** Parhaat QBasic-vinkit tarjoaa Ohjelmointiputka: https://www.ohjelmointiputka.net. Uusia vinkkejä päivittäin, kaikki selvällä suomen kielellä ***"

x = 40: y = 1

DO
  GOSUB tulosta
  a = TIMER
  DO
    IF TIMER - a > 0 THEN EXIT DO
  LOOP
  IF y = 1 THEN
    IF x = 1 THEN
      y = y + 1
    ELSE
      x = x - 1
    END IF
  ELSEIF x = 1 THEN
    IF y = 23 THEN
      x = x + 1
    ELSE
      y = y + 1
    END IF
  ELSEIF y = 23 THEN
    IF x = 80 THEN
      y = y - 1
    ELSE
      x = x + 1
    END IF
  ELSE
    IF y = 1 THEN
      x = x - 1
    ELSE
      y = y - 1
    END IF
  END IF
LOOP WHILE INKEY$ = ""

END

tulosta:
  px = x: py = y
  FOR i = 1 TO 202
    LOCATE py, px: PRINT MID$(teksti, i, 1)
    IF py = 1 THEN
      IF px = 80 THEN
        py = py + 1
      ELSE
        px = px + 1
      END IF
    ELSEIF px = 80 THEN
      IF py = 23 THEN
        px = px - 1
      ELSE
        py = py + 1
      END IF
    ELSEIF py = 23 THEN
      IF px = 1 THEN
        py = py - 1
      ELSE
        px = px - 1
      END IF
    ELSE
      IF py = 1 THEN
        px = px + 1
      ELSE
        py = py - 1
      END IF
    END IF
  NEXT
RETURN

Kommentit

The Ohjelmoija [21.06.2003 17:19:12]

#

Hieno.

E.K.Virtanen [15.11.2005 00:55:05]

#

Aikas kiva. :)


Itse suosisin taulukkoja näissä jutuissa.

SCREEN 13

DIM Text AS STRING
	Text = " ASCII-World ja hiphip hurraa"



DIM TextX(LEN(Text)) AS INTEGER
DIM TextY(LEN(Text)) AS INTEGER

CLS : Color 14,0
For i = 1 TO LEN(Text)
	TextX(i) = 1
	TextY(i) = i
Next i

DIM x,y AS INTEGER
	x = 1 : y = LEN(Text)

DO

	For i = 1 TO LEN(Text)
		LOCATE TextX(i),TextY(i) : Print MID$(Text,i,1);
	Next i

	For i = 1 TO LEN(Text) - 1
		TextX(i) = TextX(i + 1)
		TextY(i) = TextY(i + 1)

	Next i

	IF x = 1 AND y < 41 Then y = y + 1
	IF y = 40 Then x = x + 1
	IF x = 25 Then y = y - 1
	IF y = 1 AND x > 1 Then x = x - 1
TextX(LEN(Text)) = x : TextY(LEN(Text)) = y



Sleep 100
i$ = INKEY$
Loop until i$ <> ""

Ongelmana tässä on se ettei tekstin pituus saa olla isompi kuin 40 merkkiä joka tulee tuon SCREEN 13 leveydestä.

Codeprofile [10.11.2006 22:56:42]

#

Minkä koodin tarttee, että se menee fullscreeniin.

Dude [24.08.2007 17:37:38]

#

Lurah, oot vissiin sekoottanu freebasiciin "Color 14,0" ei toimi screen 13stoista ja "Sleep 100" orottaa sata sekunttia.

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta