TI-Basic: Programme und Tutorials: a chat
| Erstellt von: | Kai Burghardt |
| Schwierigkeitsgrad: | Fortgeschritten |
| Modell: | TI-82, ungetestet |
in Bearbeitung, Zwischenergebnisse aber lieber sicherheithalber schon mal einbringen
PROGRAM:ACHAT
: ClrHome
: FullScreen
: 1 -> X : 1 -> S
: 1 -> Y : 1 -> T
: 1 -> Z : 0 -> U
: 0 -> ₀ : 0 -> V
: {8,16 -> dim [C]
:
: prgmJCHTNMSG
:
:
:
Teilprogramme
PROGRAM:WMTX // write matrix
: Repeat M /= 0 // Solange nichts gedrückt wurde
: getKey -> M // M aktualisieren
: End
: L6 (M-10 -> [C](T,S // nehme Wert aus Listenelement M-10
// und speichere in die Matrix C
PROGRAM:JCHTNMSG : 0 -> M // M als getKey-var initialisieren : 1 -> S // aktuelles Matrixschreibecursorpaar : 1 -> T // : Fill(0,[C] : While M /= 105 : prgmWMTX : [C](T,S -> Z // lese soeben geschriebenes Zeichen aus : prgmINSMWCPS : If T=2 : prgmFSM1TLRO : 1 -> T : prgmRPRTLETH // soeben geschriebenes Zeichen drucken : prgmINHCURPS : End : prgmFSM1TLRO
PROGRAM:INHCURPS : IS>(X,16 // inc var X & sto res; if X > 16 then skip next cmd : Return // solange X =< 16 bleibt, wird Return angesprochen : 1 -> X : IS>(Y,8 : Return : X -> Y // Wofür haben wir denn den Speicher.
PROGRAM:INSMWCPS : dim [C] -> L1 : IS>(S,L1(2 : Return : 1 -> S : IS>(T,L1(1 : Return : S -> T
PROGRAM:FSM1TLRO // swap matrix: first to last row : dim [C] -> L1 // wanna get row count : L1(1 -> A : While A /= 1 // No lp -> 0 1 2 3 : rowSwap([C],L1( // row 1 [ 42 ] [ 42 ] [ 42 ] [ 88 ] 1),A-1 -> [C] // 2 [ 88 ] [ 88 ] [ 23 ] [ 23 ] : DS<(A,1 // 3 [ 23 ] [ 0 ] [ 0 ] [ 0 ] : End // 4 [ 0 ] [ 23 ] [ 88 ] [ 42 ]
PROGRAM:RPRTLETH
: If Z = 32
: Output(Y,X," //ein Leerzeichen hinter "
: If Z = 33
: Output(Y,X,"! //nicht verwirren lassen,dass Tag nicht
: If Z = 34 //geschlossen, wird nämlich nicht angestrichen
: Output(Y,X,""") //sodass mensch hiermit paar Bytes sparen kann
: If Z = 40 //Insgesamt Eingabevariablen X,Y für Print-
: Output(Y,X,"( //Ort und Z für Zeichen
: If Z = 41
: Output(Y,X,")
: If Z = 42
: Output(Y,X,"*
: If Z = 43
: Output(Y,X,"+
: If Z = 44
: Output(Y,X,",
: If Z = 45
: Output(Y,X,"-
: If Z = 46
: Output(Y,X,".
: If Z = 47
: Output(Y,X,"/
: If Z = 48
: Output(Y,X,"0
: If Z = 49
: Output(Y,X,"1
: If Z = 50
: Output(Y,X,"2
: If Z = 51
: Output(Y,X,"3
: If Z = 52
: Output(Y,X,"4
: If Z = 53
: Output(Y,X,"5
: If Z = 54
: Output(Y,X,"6
: If Z = 55
: Output(Y,X,"7
: If Z = 56
: Output(Y,X,"8
: If Z = 57
: Output(Y,X,"9
: If Z = 58
: Output(Y,X,":
: If Z = 60
: Output(Y,X,"<
: If Z = 61
: Output(Y,X,"=
: If Z = 62
: Output(Y,X,">
: If Z = 63
: Output(Y,X,"?
: If Z = 65
: Output(Y,X,"A
: If Z = 66
: Output(Y,X,"B
: If Z = 67
: Output(Y,X,"C
: If Z = 68
: Output(Y,X,"D
: If Z = 69
: Output(Y,X,"E
: If Z = 70
: Output(Y,X,"F
: If Z = 71
: Output(Y,X,"G
: If Z = 72
: Output(Y,X,"H
: If Z = 73
: Output(Y,X,"I
: If Z = 74
: Output(Y,X,"J
: If Z = 75
: Output(Y,X,"K
: If Z = 76
: Output(Y,X,"L
: If Z = 77
: Output(Y,X,"M
: If Z = 78
: Output(Y,X,"N
: If Z = 79
: Output(Y,X,"O
: If Z = 80
: Output(Y,X,"P
: If Z = 81
: Output(Y,X,"Q
: If Z = 82
: Output(Y,X,"R
: If Z = 83
: Output(Y,X,"S
: If Z = 84
: Output(Y,X,"T
: If Z = 85
: Output(Y,X,"U
: If Z = 86
: Output(Y,X,"V
: If Z = 87
: Output(Y,X,"W
: If Z = 88
: Output(Y,X,"X
: If Z = 89
: Output(Y,X,"Y
: If Z = 90
: Output(Y,X,"Z
: If Z = 91
: Output(Y,X,"[
: If Z = 93
: Output(Y,X,"]
: If Z = 94
: Output(Y,X,"^
: If Z = 123
: Output(Y,X,"{
: If Z = 125
: Output(Y,X,"}
815 Bytes
Daten
Liste6
L6={ 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 88, 86, 76, 67, 87, 0, 0, 0, 0,
0, 85, 73, 65, 69, 79, 0, 0, 0, 0,
0, 0, 0, 0, 80, 90, 0, 0, 0, 0,
0, 75, 73, 71, 70, 81, 0, 55, 56, 57,
43, 83, 78, 82, 84, 68, 0, 52, 53, 54,
44, 66, 77, 44, 46, 74, 58, 49, 50, 51,
0, 0, 32, 89, 8, 3, 0, 0, 0, 0 }