Code:
# Tridom + Skat scoreboards.
<Player Count> GSB 8 -> Tridom with players
GSB 9 -> Skat
LBL
0 : [Skat] give R4 points to Player X
1 : [Skat] IF NOT x = currentPlayer THEN give Player X R4 points
2 : [Skat] Print player R0
3 :
4 : [Skat] WIN -> give points to other players
5 : [Skat] LOSE -> points*2 to current player
6 : [Skat] Switch to Player X
7 : [Tridom] init loop
8 : [Tridom] init
9 : [Skat] init
A : [Tridom] add points ; [Skat] select player 1
B : [Tridom] -5 ; [Skat] select player 2
C : [Tridom] -10 next ; [Skat] select player 3
D : [Tridom] prev ; [Skat] GTO 4
E : [Tridom] next : [Skat] GTO 5
# Tridom/Tri-Ominos
LBL 8 ; reset, set players
CF 0 ; tridom mode
STO 0 ; player in register 0
STO I
LBL 7
RCL I
EEX
9
*
STO (i)
DSE
GTO 7
1
STO I
RCL (i)
RTN
LBL A ; add points
1
F? 0
GTO 6 ; Skat A
R_down
ENTER
ENTER
EEX
6
*
+
RCL (i)
+
STO (i)
PSE
GTO E
LBL B ; 5 penalty points
2
F? 0
GTO 6
RCL (i)
4
9
9
5
+
STO (i)
RTN
LBL C ; 10 pp, next player
3
F? 0
GTO 6
GSB B
GSB B
PSE
LBL E ; next player
F? 0
GTO 5
RCL 0
RCL I
1
+
x>y
1
STO I
RCL (i)
RTN
LBL D ; previous player
F? 0
GTO 4
RCL I
1
-
x=0
RCL 0
STO I
RCL (i)
RTN
; SKAT
R0 currentPlayer
R1-3 select player 1-3
R4 score to add
LBL 9 ; init
SF 0
FIX 7
1
STO 1
2
STO 2
3
STO 3
1
LBL 6 ; Switch to player X
STO 0
LBL 2 ; print current player R0
RCL 0
STO I
RCL (i)
RTN
LBL 5 ; win: add points for losers
STO 4
1
GSB 1 ; if X not...
2
GSB 1 ; if X not...
3
GSB 1 ; if X not...
GTO 2 ; print player R0 -> INLINE
LBL 1 ; if X not current player then give R4 points
RCL 0
x<>y
x#y
GTO 0 ; add score R4 to player X
RTN
LBL 4 ; lose -> twice bad points
2
*
STO 4
RCL 0
LBL 0 ; add score R4 to player X
STO I
RCL (i)
FRAC ; remove player number
EEX
4
*
RCL 4
+
INT ; remove money
ENTER
ENTER
1 ;
9 ; to round up instead of mathematically
+ ;
4
EEX
3
/
+ ; append newly calculated money
EEX
4
/ ; shift all after decimal
FIX 6
RND ; round up to 10 cent increments
FIX 7
RCL I
+ ; add player number
STO (i)
RTN
Code:
TRIDOM & SKAT
CC BY 2019 MICHAEL ZINN
001 LBL 8 | 42 21 8
002 CF 0 | 43 5 0
003 STO 0 | 44 0
004 STO I | 44 25
005 LBL 7 | 42 21 7
006 RCL I | 45 25
007 EEX | 26
008 9 | 9
009 × | 20
010 STO (i) | 44 24
011 DSE | 42 5
012 GTO 7 | 22 7
013 1 | 1
014 STO I | 44 25
015 RCL (i) | 45 24
016 RTN | 43 32
017 LBL A | 42 21 11
018 1 | 1
019 F? 0 | 43 6 0
020 GTO 6 | 22 6
021 R_down | 33
022 ENTER | 36
023 ENTER | 36
024 EEX | 26
025 6 | 6
026 × | 20
027 + | 40
028 RCL (i) | 45 24
029 + | 40
030 STO (i) | 44 24
031 PSE | 42 31
032 GTO E | 22 15
033 LBL B | 42 21 12
034 2 | 2
035 F? 0 | 43 6 0
036 GTO 6 | 22 6
037 RCL (i) | 45 24
038 4 | 4
039 9 | 9
040 9 | 9
041 5 | 5
042 + | 40
043 STO (i) | 44 24
044 RTN | 43 32
045 LBL C | 42 21 13
046 3 | 3
047 F? 0 | 43 6 0
048 GTO 6 | 22 6
049 GSB B | 32 12
050 GSB B | 32 12
051 PSE | 42 31
052 LBL E | 42 21 15
053 F? 0 | 43 6 0
054 GTO 5 | 22 5
055 RCL 0 | 45 0
056 RCL I | 45 25
057 1 | 1
058 + | 40
059 X>Y | 42 20
060 1 | 1
061 STO I | 44 25
062 RCL (i) | 45 24
063 RTN | 43 32
064 LBL D | 42 21 14
065 F? 0 | 43 6 0
066 GTO 4 | 22 4
067 RCL I | 45 25
068 1 | 1
069 - | 30
070 X=0 | 43 40
071 RCL 0 | 45 0
072 STO I | 44 25
073 RCL (i) | 45 24
074 RTN | 43 32
075 LBL 9 | 42 21 9
076 SF 0 | 43 4 0
077 FIX 7 | 42 7 7
078 1 | 1
079 STO 1 | 44 1
080 2 | 2
081 STO 2 | 44 2
082 3 | 3
083 STO 3 | 44 3
084 1 | 1
085 LBL 6 | 42 21 6
086 STO 0 | 44 0
087 LBL 2 | 42 21 2
088 RCL 0 | 45 0
089 STO I | 44 25
090 RCL (i) | 45 24
091 RTN | 43 32
092 LBL 5 | 42 21 5
093 STO 4 | 44 4
094 1 | 1
095 GSB 1 | 32 1
096 2 | 2
097 GSB 1 | 32 1
098 3 | 3
099 GSB 1 | 32 1
100 GTO 2 | 22 2
101 LBL 1 | 42 21 1
102 RCL 0 | 45 0
103 X<>Y | 34
104 X≠Y | 42 30
105 GTO 0 | 22 0
106 RTN | 43 32
107 LBL 4 | 42 21 4
108 2 | 2
109 × | 20
110 STO 4 | 44 4
111 RCL 0 | 45 0
112 LBL 0 | 42 21 0
113 STO I | 44 25
114 RCL (i) | 45 24
115 FRAC | 42 44
116 EEX | 26
117 4 | 4
118 × | 20
119 RCL 4 | 45 4
120 + | 40
121 INT | 43 44
122 ENTER | 36
123 ENTER | 36
124 1 | 1
125 9 | 9
126 + | 40
127 4 | 4
128 EEX | 26
129 3 | 3
130 ÷ | 10
131 + | 40
132 EEX | 26
133 4 | 4
134 ÷ | 10
135 FIX 6 | 42 7 6
136 RND | 43 34
137 FIX 7 | 42 7 7
138 RCL I | 45 25
139 + | 40
140 STO (i) | 44 24
141 RTN | 43 32