Vielä muutama vuosi sitten olivat juna-asemien taulut mekaanisia, ja niiden tekstit vaihdettiin pläräämällä kaikki kirjaimet läpi. Nyttemmin taulut ovat elektronisia, mutta vanhoja muistoja verestää Juna-asematauludemo, joka matkii parhaansa mukaan vanhoja tauluja.
Pääohjelma
OPTION BASE 1 'taulukko, jossa on taulun tekstit DIM SHARED taulu(4, 28) AS STRING * 1 'taulun nollaus FOR i = 1 TO 4 FOR j = 1 TO 28 taulu(i, j) = " " NEXT NEXT CLS PiirraTaulu COLOR 0, 7 VaihdaTeksti "Juna-asematauludemo ", "", "", "" SLEEP 3 VaihdaTeksti "P 09:20", "Hiekkaharju", "Sandskulla", "" SLEEP 3 VaihdaTeksti "K 10:43", "Kerava ", "Kervo ", ""
Aliohjelmat
SUB PiirrakehysJT (x1 AS INTEGER, y1 AS INTEGER, x2 AS INTEGER, y2 AS INTEGER) 'taulun kehyksen piirtäminen DIM tyyli AS STRING tyyli = "╔═╗║╚╝" COLOR 8, 15 LOCATE y1, x1: PRINT MID$(tyyli, 1, 1); FOR i = x1 + 1 TO x2 - 1 PRINT MID$(tyyli, 2, 1); NEXT PRINT MID$(tyyli, 3, 1); FOR i = y1 + 1 TO y2 - 1 LOCATE i, x1: PRINT MID$(tyyli, 4, 1); LOCATE i, x2: PRINT MID$(tyyli, 4, 1); NEXT LOCATE y2, x1: PRINT MID$(tyyli, 5, 1); FOR i = x1 + 1 TO x2 - 1 PRINT MID$(tyyli, 2, 1); NEXT PRINT MID$(tyyli, 6, 1); END SUB SUB PiirraTaulu 'taulun ja maaston piirtäminen PiirrakehysJT 2, 2, 33, 7 LOCATE 3, 3: PRINT SPACE$(30) LOCATE 4, 3: PRINT SPACE$(30) LOCATE 5, 3: PRINT SPACE$(30) LOCATE 6, 3: PRINT SPACE$(30) COLOR 0, 12 LOCATE 1, 15: PRINT SPACE$(6) FOR i = 8 TO 20 LOCATE i, 15: PRINT SPACE$(6) NEXT COLOR 0, 9 FOR i = 21 TO 23 LOCATE i, 2: PRINT SPACE$(40) NEXT COLOR 0, 7 LOCATE 23, 50: PRINT " " LOCATE 23, 70: PRINT " " END SUB SUB VaihdaTeksti (r1$, r2$, r3$, r4$) 'taulun tekstin vaihtaminen 'r1$=rivi1, r2$=rivi2, r3$=rivi3 ja r4$=rivi4 DIM r$(1 TO 4) 'uudet rivit yhteen taulukkoon r$(1) = LEFT$(r1$, 28) r$(2) = LEFT$(r2$, 28) r$(3) = LEFT$(r3$, 28) r$(4) = LEFT$(r4$, 28) DO ok = 0 FOR j = 1 TO 4 FOR i = 1 TO LEN(r$(j)) SELECT CASE ASC(taulu(j, i)) CASE ASC(MID$(r$(j), i, 1)) ok = ok + 1 CASE ASC(" ") taulu(j, i) = CHR$(33) CASE IS >= 33 SELECT CASE ASC(taulu(j, i)) 'ääkkösien tarkistaminen CASE 132 taulu(j, i) = CHR$(142) CASE 142 taulu(j, i) = CHR$(148) CASE 148 taulu(j, i) = CHR$(153) CASE 153 taulu(j, i) = " " CASE ELSE taulu(j, i) = CHR$(ASC(taulu(j, i)) + 1) END SELECT END SELECT LOCATE 2 + j, 3 + i: PRINT taulu(j, i) NEXT NEXT WAIT &H3DA, 8 'hidaste SOUND 100, .3 'ääni SOUND 0, .1 LOOP WHILE ok < LEN(r1$) + LEN(r2$) + LEN(r3$) + LEN(r4$) 'valmis? END SUB
ihanhauska
aika hieno, nostalginen ja hauska
Cool :)
ihan hieno
Aihe on jo aika vanha, joten et voi enää vastata siihen.