Commit 256d750c authored by Florian Ernst's avatar Florian Ernst

Imported Upstream version 7.1.3

parent 264bbbd5
!!!!
! Abacus: Class resource for xabacus
!!!!
Abacus*topFactor: 5
Abacus*bottomFactor: 1
Abacus*topOrient: true
Abacus*bottomOrient: false
Abacus*topNumber: 2
Abacus*bottomNumber: 5
Abacus*rails: 13
Abacus*spaces: 2
Abacus*base: 10
Abacus*mono: false
Abacus*reverse: false
Abacus*beadColor: Blue
Abacus*beadBorder: SteelBlue
Abacus*railColor: Gold
Abacus*foreground: Yellow
Abacus*background: NavyBlue
Abacus*delay: 100
Abacus*script: off
Abacus*demo: off
Abacus*demoFont: -*-times-*-r-*-*-*-180-*
Abacus*demoPath: .
!Abacus*demoPath: /usr/local/lib/Abacus
!!!!
! Abacus: Class resource for xabacus
!!!!
! Chinese Saun-pan (Suan Pan)
Abacus*topFactor: 5
Abacus*bottomFactor: 1
Abacus*topOrient: true
Abacus*bottomOrient: false
Abacus*topNumber: 2
Abacus*bottomNumber: 5
Abacus*topSpaces: 2
Abacus*bottomSpaces: 2
Abacus*rails: 13
Abacus*slot: false
Abacus*diamond: false
!Abacus*format: Chinese
!Abacus*format: Japanese
!Abacus*format: Korean
!Abacus*format: Roman
!Abacus*format: Russian
Abacus*format: Other
Abacus*base: 10
Abacus*displayBase: 10
Abacus*romanNumerals: false
Abacus*quarter: false
!!Abacus*quarterPercent: false
!!Abacus*vertical: false
Abacus*mono: false
Abacus*reverse: false
Abacus*beadColor: DarkRed
Abacus*beadBorder: gray25
Abacus*frameColor: cyan
Abacus*railColor: gold
Abacus*foreground: black
Abacus*background: #AEB2C3
Abacus*delay: 50
Abacus*sound: off
Abacus.bumpsound: @READPATH@/bump.au
!Abacus.bumpsound: @READPATH@/bumpdat.au
Abacus.movesound: @READPATH@/move.au
!Abacus.bumpsound: ./bump.au
!Abacus.bumpsound: ./bumpdat.au
!Abacus.movesound: ./move.au
!Abacus.bumpsound: /usr/local/share/games/xabacus/bump.au
!Abacus.bumpsound: /usr/local/share/games/xabacus/bumpdat.au
!Abacus.movesound: /usr/local/share/games/xabacus/move.au
!Abacus.bumpsound: /usr/share/games/xabacus/bump.au
!Abacus.bumpsound: /usr/share/games/xabacus/bumpdat.au
!Abacus.movesound: /usr/share/games/xabacus/move.au
Abacus*script: off
Abacus*demo: off
Abacus*demoFont: 9x15bold
!Abacus*demoFont: -*-times-*-r-*-*-*-180-*
!Abacus*demoFont: 9x15
!Abacus*demoFont: 8x13bold
!Abacus*demoFont: 5x7
Abacus*demoPath: @READPATH@
!Abacus*demoPath: .
!Abacus*demoPath: /usr/local/share/games/xabacus
!Abacus*demoPath: /usr/share/games/xabacus
!
! override the above with these to have different abacii
! Chinese base 16 Saun-pan
Abacus16*topFactor: 8
Abacus16*topNumber: 2
Abacus16*bottomNumber: 8
Abacus16*rails: 15
Abacus16*base: 16
Abacus20*displayBase: 16
! Japanese base 20 Soroban or Mesoamerican (Aztec) Nepohualtzitzin
Abacus20*topNumber: 3
Abacus20*bottomNumber: 4
Abacus20*base: 20
Abacus20*displayBase: 20
! The Aztecs had base 20 with the exception of the 3rd decimal place where
! instead of 20*20=400 the third place marked 360 and the 4th place was
! 20*360, etc.. They independently created their own zero (only Babylon
! (base 60) and India (base 10) have done this) but the anomaly took away
! its true power. This abacus here is without the anomaly.
Abacuscn*format: Chinese
Abacusjp*topNumber: 1
Abacusjp*bottomNumber: 4
Abacusjp*topSpaces: 1
Abacusjp*bottomSpaces: 1
Abacusjp*rails: 15
Abacusjp*diamond: true
Abacusjp*format: Japanese
! Korean Supan or Japanese pre-WWII Soroban
Abacusko*topNumber: 1
Abacusko*topSpaces: 1
Abacusko*bottomSpaces: 1
Abacusko*rails: 15
Abacusko*diamond: true
Abacusko*format: Korean
! Roman Hand Abacus very similar to the post-WWII Japanese Soroban
Abacusro*topNumber: 1
Abacusro*bottomNumber: 4
Abacusro*topSpaces: 1
Abacusro*bottomSpaces: 1
Abacusro*rails: 15
Abacusro*slot: true
Abacusro*format: Roman
Abacusro*romanNumerals: true
! Russian Schoty
Abacusru*bottomFactor: 1
Abacusru*bottomOrient: true
Abacusru*topNumber: 0
Abacusru*bottomNumber: 10
Abacusru*topSpaces: 0
Abacusru*rails: 11
Abacusru*format: Russian
Abacusru*quarter: true
!Abacusru*quarterPercent: true
!Abacusru*vertical: true
This diff is collapsed.
......@@ -5,10 +5,10 @@
#
###
#
# Copyright (c) 1994 - 99 David Albert Bagley, bagleyd@tux.org
# Copyright (c) 1994 - 2005 David Albert Bagley, bagleyd@tux.org
#
# Abacus demo and neat pointers from
# Copyright (c) 1991 - 98 Luis Fernandes, elf@ee.ryerson.ca
# Copyright (c) 1991 - 1998 Luis Fernandes, elf@ee.ryerson.ca
#
# All Rights Reserved
#
......@@ -37,74 +37,107 @@
*
***********************************************************************/
#define XtNselectCallback "selectCallback"
#define XtNrails "rails"
#define XtNspaces "spaces"
#define XtNbase "base"
#define XtNtopNumber "topNumber"
#define XtNtopOrient "topOrient"
#define XtNtopFactor "topFactor"
#define XtNbottomNumber "bottomNumber"
#define XtNbottomOrient "bottomOrient"
#define XtNbottomFactor "bottomFactor"
#define XtNrailColor "railColor"
#define XtNbeadColor "beadColor"
#define XtNbeadBorder "beadBorder"
#define XtNmono "mono"
#define XtNreverse "reverse"
#define XtNdelay "delay"
#define XtNbuffer "buffer"
#define XtNscript "script"
#define XtNdemo "demo"
#define XtNdemoPath "demoPath"
#define XtNdemoFont "demoFont"
#define XtNdemoForeground "demoForeground"
#define XtNdemoBackground "demoBackground"
#define XtNdeck "deck"
#define XtNrail "rail"
#define XtNnumber "number"
#define XtNframed "framed"
#define XtCRails "Rails"
#define XtCSpaces "Spaces"
#define XtCBase "Base"
#define XtCTopNumber "TopNumber"
#define XtCTopFactor "TopFactor"
#define XtCTopOrient "TopOrient"
#define XtCBottomNumber "BottomNumber"
#define XtCBottomFactor "BottomFactor"
#define XtCBottomOrient "BottomOrient"
#define XtCRailColor "RailColor"
#define XtCBeadColor "BeadColor"
#define XtCBeadBorder "BeadBorder"
#define XtCMono "Mono"
#define XtCReverse "Reverse"
#define XtCDelay "Delay"
#define XtCBuffer "Buffer"
#define XtCScript "Script"
#define XtCDemo "Demo"
#define XtCDemoPath "DemoPath"
#define XtCDemoFont "DemoFont"
#define XtCDemoForeground "DemoForeground"
#define XtCDemoBackground "DemoBackground"
#define XtCDeck "Deck"
#define XtCRail "Rail"
#define XtCNumber "Number"
#define XtCFramed "Framed"
#define ABACUS_MORE (-6)
#define ABACUS_REPEAT (-5)
#define ABACUS_NEXT (-4)
#define ABACUS_CLEAR (-3)
#define ABACUS_SCRIPT (-2)
#define ABACUS_IGNORE (-1)
#define ABACUS_MOVE 0
#define ABACUS_DEC 1
#define ABACUS_INC 2
#if 0
/* These are not ready for prime-time. */
#define QUARTER_PERCENT 1
#define VERTICAL 1
#endif
#ifndef WINVER
#define XtNselectCallback ((char *) "selectCallback")
#define XtNrails ((char *) "rails")
#define XtNbase ((char *) "base")
#define XtNdisplayBase ((char *) "displayBase")
#define XtNvertical ((char *) "vertical")
#define XtNsign ((char *) "sign")
#define XtNquarter ((char *) "quarter")
#define XtNquarterPercent ((char *) "quarterPercent")
#define XtNmode ((char *) "mode")
#define XtNformat ((char *) "format")
#define XtNromanNumerals ((char *) "romanNumerals")
#define XtNtopNumber ((char *) "topNumber")
#define XtNtopOrient ((char *) "topOrient")
#define XtNtopFactor ((char *) "topFactor")
#define XtNtopSpaces ((char *) "topSpaces")
#define XtNbottomNumber ((char *) "bottomNumber")
#define XtNbottomOrient ((char *) "bottomOrient")
#define XtNbottomFactor ((char *) "bottomFactor")
#define XtNbottomSpaces ((char *) "bottomSpaces")
#define XtNframeColor ((char *) "frameColor")
#define XtNrailColor ((char *) "railColor")
#define XtNbeadColor ((char *) "beadColor")
#define XtNbeadBorder ((char *) "beadBorder")
#define XtNmono ((char *) "mono")
#define XtNreverse ((char *) "reverse")
#define XtNdelay ((char *) "delay")
#define XtNsound ((char *) "sound")
#define XtNbumpSound ((char *) "bumpSound")
#define XtNmoveSound ((char *) "moveSound")
#define XtNbuffer ((char *) "buffer")
#define XtNscript ((char *) "script")
#define XtNdemo ((char *) "demo")
#define XtNdecimalPosition ((char *) "decimalPosition")
#define XtNmenu ((char *) "menu")
#define XtNdemoPath ((char *) "demoPath")
#define XtNdemoFont ((char *) "demoFont")
#define XtNdemoForeground ((char *) "demoForeground")
#define XtNdemoBackground ((char *) "demoBackground")
#define XtNdeck ((char *) "deck")
#define XtNrail ((char *) "rail")
#define XtNnumber ((char *) "number")
#define XtNframed ((char *) "framed")
#define XtNslot ((char *) "slot")
#define XtNdiamond ((char *) "diamond")
#define XtNaux ((char *) "aux")
#define XtNmathBuffer ((char *) "mathBuffer")
#define XtCRails ((char *) "Rails")
#define XtCSpaces ((char *) "Spaces")
#define XtCBase ((char *) "Base")
#define XtCDisplayBase ((char *) "DisplayBase")
#define XtCVertical ((char *) "Vertical")
#define XtCSign ((char *) "Sign")
#define XtCQuarter ((char *) "Quarter")
#define XtCQuarterPercent ((char *) "QuarterPercent")
#define XtCMode ((char *) "Mode")
#define XtCFormat ((char *) "Format")
#define XtCRomanNumerals ((char *) "RomanNumerals")
#define XtCTopNumber ((char *) "TopNumber")
#define XtCTopFactor ((char *) "TopFactor")
#define XtCTopOrient ((char *) "TopOrient")
#define XtCTopSpaces ((char *) "TopSpaces")
#define XtCBottomNumber ((char *) "BottomNumber")
#define XtCBottomFactor ((char *) "BottomFactor")
#define XtCBottomOrient ((char *) "BottomOrient")
#define XtCBottomSpaces ((char *) "BottomSpaces")
#define XtCFrameColor ((char *) "FrameColor")
#define XtCRailColor ((char *) "RailColor")
#define XtCBeadColor ((char *) "BeadColor")
#define XtCBeadBorder ((char *) "BeadBorder")
#define XtCMono ((char *) "Mono")
#define XtCReverse ((char *) "Reverse")
#define XtCDelay ((char *) "Delay")
#define XtCSound ((char *) "Sound")
#define XtCBumpSound ((char *) "BumpSound")
#define XtCMoveSound ((char *) "MoveSound")
#define XtCBuffer ((char *) "Buffer")
#define XtCScript ((char *) "Script")
#define XtCDemo ((char *) "Demo")
#define XtCDecimalPosition ((char *) "DecimalPosition")
#define XtCMenu ((char *) "Menu")
#define XtCDemoPath ((char *) "DemoPath")
#define XtCDemoFont ((char *) "DemoFont")
#define XtCDemoForeground ((char *) "DemoForeground")
#define XtCDemoBackground ((char *) "DemoBackground")
#define XtCDeck ((char *) "Deck")
#define XtCRail ((char *) "Rail")
#define XtCNumber ((char *) "Number")
#define XtCFramed ((char *) "Framed")
#define XtCSlot ((char *) "Slot")
#define XtCDiamond ((char *) "Diamond")
#define XtCAux ((char *) "Aux")
#define XtCMathBuffer ((char *) "MathBuffer")
typedef struct _AbacusClassRec *AbacusWidgetClass;
typedef struct _AbacusDemoClassRec *AbacusDemoWidgetClass;
typedef struct _AbacusRec *AbacusWidget;
typedef struct _AbacusRec *AbacusDemoWidget;
extern WidgetClass abacusWidgetClass;
extern WidgetClass abacusDemoWidgetClass;
......@@ -112,9 +145,94 @@ extern WidgetClass abacusDemoWidgetClass;
typedef struct {
XEvent *event;
int reason;
char *buffer;
int deck, rail, number;
char *buffer, *mathBuffer;
int aux, deck, rail, number;
} abacusCallbackStruct;
#endif
#define ABACUS_BASE_DEFAULT (-12)
#define ABACUS_DEMO_DEFAULT (-11)
#define ABACUS_HIDE (-10)
#define ABACUS_CLEAR_QUERY (-9)
#define ABACUS_CALC (-8)
#define ABACUS_MORE (-7)
#define ABACUS_REPEAT (-6)
#define ABACUS_NEXT (-5)
#define ABACUS_DEMO (-4)
#define ABACUS_CLEAR (-3)
#define ABACUS_SCRIPT (-2)
#define ABACUS_IGNORE (-1)
#define ABACUS_MOVE 0
#define ABACUS_DEC 1
#define ABACUS_INC 2
#define ABACUS_VERTICAL 3
#define ABACUS_ROMANNUMERAL 4
#define ABACUS_SIGN 5
#define ABACUS_QUARTER 6
#define ABACUS_QUARTERPERCENT 7
#define ABACUS_FORMAT 8
#ifdef WINVER
#ifdef UNIXDELIM
#define CURRENTDELIM "./"
#define FINALDELIM "/"
#else
#define CURRENTDELIM ".\\"
#define FINALDELIM "\\"
#endif
#else
#ifdef VMS
#define CURRENTDELIM "[]"
#define FINALDELIM ""
#else
#define CURRENTDELIM "./"
#define FINALDELIM "/"
#endif
#endif
#define PRIMARY 0
#define LEFTAUX 1
#define RIGHTAUX 2
#define MINRAILS 1
#define MINDEMORAILS 3
#define DEFAULTRAILS 13
#define DEFAULTTOPSPACES 2
#define DEFAULTBOTTOMSPACES 2
#define DEFAULTTOPNUMBER 2
#define DEFAULTBOTTOMNUMBER 5
#define DEFAULTTOPFACTOR 5
#define DEFAULTBOTTOMFACTOR 1
#define DEFAULTTOPORIENT TRUE
#define DEFAULTBOTTOMORIENT FALSE
#ifdef MONOTEST
#define DEFAULTMONO TRUE
#else
#define DEFAULTMONO FALSE
#endif
#define DEFAULTREVERSE FALSE
#define CHINESE 0
#define JAPANESE 1
#define KOREAN 2
#define ROMAN 3
#define RUSSIAN 4
#define OTHER 5
#define MAXFORMATS 5
#define MAXMODES 6
#define MINBASE 2 /* Base 1 is rediculous :) */
#define MAXBASE 36 /* 10 numbers + 26 letters (ASCII) */
#define DEFAULTBASE 10
#define QUARTERS 4
#define QUARTERPERCENTS 4
/* Migrate to Locale */
#define MAX_FRACTION_DIGITS 2
typedef struct _AbacusRec *AbacusWidget;
typedef struct _AbacusRec *AbacusDemoWidget;
extern void intCat(char ** string, const char * var1, const int var2);
#if 0
extern void stringCat(char ** string, const char * var1, const char * var2);
#endif
#endif /* _XtAbacus_h */
/* DON'T ADD STUFF AFTER THIS #endif */
42
0 0 0 4
Lesson 1: Counting from 1 to 20
The beads will move at each step with an
0 0 0 0 4
Lesson 1: Counting from 1 to 20 for Chinese Abacus
The beads will move at each step with an
appropriate explanation in this window.
Press Space-bar to Begin
0 0 1 4
Press Space-bar to Begin, press q to Exit
0 0 0 1 4
Lesson 1: Counting
1
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
2
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
3
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
4
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
5
5
(We're not done yet...)
Press Space-bar to Continue
0 0 0 4
0 0 0 0 4
Lesson 1: Counting
It gets a bit tricky here. A carry to the upper-deck, and
a reset of the lower deck will complete counting 5.
Press Space-bar to Continue
1 0 1 4
0 1 0 1 4
Lesson 1: Counting
5 (pending operation)
Carry-over to Upper-deck...
Press Space-bar to Continue
0 0 -5 4
0 0 0 -5 4
Lesson 1: Counting
5
...and Reset Lower-deck...
Press Space-bar
0 0 0 4
0 0 0 0 4
Lesson 1: Counting
This is 5. In reality, the 5th bead is never moved, the
This is 5. In reality, the 5th bead is never moved, the
carry-reset operation is performed in one motion.
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
6
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
7
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
8
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
9
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
10
10
(pending operation)
Press Space-bar to Continue
1 0 1 4
0 1 0 1 4
Lesson 1: Counting
10 (pending operation)
Carry-over to Upper-deck...
Press Space-bar to Continue
0 0 -5 4
0 0 0 -5 4
Lesson 1: Counting
10 (pending operation)
...Reset Lower-deck...
Press Space-bar to Continue
0 1 1 4
0 0 1 1 4
Lesson 1: Counting
10
10
Carry-over to Previous Column
Press Space-bar
1 0 -2 4
0 1 0 -2 4
Lesson 1: Counting
10
Reset Upper-deck...
Press Space-bar to Continue
0 0 0 4
0 0 0 0 4
Lesson 1: Counting
Counting 10 was similar to counting 5, with the
Counting 10 was similar to counting 5, with the
addition of the extra carry to the Previous Column
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
11
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
12
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
13
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
14
Press Space-bar to Continue
0 0 -4 4
0 0 0 -4 4
Lesson 1: Counting
15 (pending operation)
Reset Bottom-deck...
Press Space-bar to Continue
1 0 1 4
0 1 0 1 4
Lesson 1: Counting
15
...Carry-over to Upper-deck.
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
16
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
17
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
18
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
19
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 1: Counting
20
Press Space-bar to Continue
1 0 1 4
0 1 0 1 4
Lesson 1: Counting
20 (pending operation)
Carry-over to the Upper-deck...
Press Space-bar to Continue
0 0 -5 4
0 0 0 -5 4
Lesson 1: Counting
20 (pending operation)
...Reset Lower-deck...
Press Space-bar to Continue
0 1 1 4
0 0 1 1 4
Lesson 1: Counting
20 (pending operation)
...Carry-over To The Previous Column.
Press Space-bar to Continue
1 0 -2 4
0 1 0 -2 4
Lesson 1: Counting
20
...And Reset Upper-deck...
Press Space-bar to Continue
0 1 -2 4
0 0 1 -2 4
Lesson 1: End
And now, some conclusions...
Press Space-bar to Continue
0 0 0 4
0 0 0 0 4
Conclusion:
Each of the 2 beads on the upper-deck has a value of 5.
Each of the 5 beads on the lower-deck has a value of 1.
Press Space-bar to Continue
0 0 0 4
0 0 0 0 4
Conclusion: (continued)
Counting 5 beads on the lower deck requires a carry of
Counting 5 beads on the lower deck requires a carry of
1 bead to the upper-deck.
Press Space-bar to Continue
0 0 0 4
0 0 0 0 4
Conclusion: (continued)
Counting 2 beads on the upper deck requires a carry of
Counting 2 beads on the upper deck requires a carry of
1 bead on the lower-deck of the previous column.
Press Space-bar
0 0 0 4
Conclusion: (continued)
The one's column is at the middle of the abacus.
(Just left of center for an even number of rails).
Press Space-bar
0 0 0 4
0 0 0 0 4
Conclusion: (continued)
Every column to the left of one's column is an
order of magnitude greater.
Press Space-bar
0 0 0 4
0 0 0 0 4
Conclusion: (End)
Columns to the right of the one's column are used
Columns to the right of the one's column are used
for calculations involving decimals.
Press Space-bar
!!!!
! Abacus: Class resource for xabacus
!!!!
Abacus*topFactor: 8
Abacus*bottomFactor: 1
Abacus*topOrient: true
Abacus*bottomOrient: false
Abacus*topNumber: 2
Abacus*bottomNumber: 8
Abacus*rails: 15
Abacus*spaces: 2
Abacus*base: 16
Abacus*mono: false
Abacus*reverse: false
Abacus*beadColor: Blue
Abacus*beadBorder: SteelBlue
Abacus*railColor: Gold
Abacus*foreground: Yellow
Abacus*background: NavyBlue
Abacus*delay: 100
Abacus*script: off
Abacus*demo: off
Abacus*demoFont: -*-times-*-r-*-*-*-180-*
Abacus*demoPath: .
!Abacus*demoPath: /usr/local/lib/Abacus
16
0 0 0 4
Lesson 2: Addition
This Lesson demonstrates 2 addition problems:
0 0 0 0 4
Lesson 2: Addition
This Lesson demonstrates 2 addition problems:
6+5 & 23+9
Press Space-bar to Begin
1 0 1 4
Press Space-bar to Begin, press q to Exit
0 1 0 1 4
Lesson 2: Addition (6+5)
We Represent 6 by Adding 5...
(pending operation)
Press Space-bar to Continue
0 0 1 4
0 0 0 1 4
Lesson 2: Addition (6+5)
...and 1.
(This is 6)
Press Space-bar to Continue
1 0 1 4
0 1 0 1 4
Lesson 2: Addition (6+5)
Adding the 5...
(Requires a Carry)...
(Requires a Carry)...
Press Space-bar to Continue
0 1 1 4
0 0 1 1 4
Lesson 2: Addition (6+5)
...So We Carry to the Previous Column...
(The ten's Column)
Press Space-bar to Continue
1 0 -2 4
0 1 0 -2 4
Lesson 2: Addition (6+5)
...We Reset The Upper-deck and Obtain The Answer.
10 in the Previous Column + 1 in the Current= 11.
Press Space-bar to Continue
0 1 -1 4
0 0 1 -1 4
Lesson 2: Addition
That was a Straight-forward Example...
Press Space-bar
0 0 -1 4
0 0 0 -1 4
Lesson 2: Addition
The following one is a bit more complicated.
The following one is a bit more complicated.
So, pay attention...
Press Space-bar to Begin
0 1 2 4
0 0 1 2 4
Lesson 2: Addition (23+9)