TI-Basic: Programme und Tutorials: a chat
Erscheinungsbild
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
[Bearbeiten]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
[Bearbeiten]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 }