Mode:
Duration:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
BEGIN
CLASS Counter;
INTEGER count;
BOOLEAN isDark;
PROCEDURE updateUI;
BEGIN
OutText("Counter: "); OutInt(count,0); OutImage;
IF isDark THEN OutText("Theme: Dark") ELSE OutText("Theme: Light"); OutImage;
END updateUI;
PROCEDURE increment;
BEGIN
count := count + 1;
updateUI;
END increment;
PROCEDURE decrement;
BEGIN
count := count - 1;
updateUI;
END decrement;
PROCEDURE reset;
BEGIN
count := 0;
updateUI;
END reset;
PROCEDURE toggleTheme;
BEGIN
isDark := NOT isDark;
updateUI;
END toggleTheme;
END Counter;
REF(Counter) c;
c :- NEW Counter;
c.count := 0;
c.isDark := FALSE;
c.updateUI;
c.increment;
c.increment;
c.toggleTheme;
c.decrement;
c.reset;
ENDCoding works best on desktop or with an external keyboard.