Personal Money Manager : Different text and object displays are shown here.
The JavaScript code used to launch this exposition is:
new Scriptio({script:'pmm.txt', soundtrack:'pmm.ogg',
width:594, height:418, skin:'azure'});
This audio soundtrack was recorded in Ogg Vorbis format, an open source audio compression
format (details here ). A Java applet is included with the
Scriptio archive that plays Ogg Vorbis audio files. Other file types supported by this
applet are WAV and AU.
script: pmm.txt
:set title to "Balancing a Checkbook" :set lightgreen to "#7FFF7F" In this +1.5 :display "Balancing a Checkbook" at 200 with center color black style bold face "verdana" size 24 label "title" wipe 2 direction right activity we learn how to balance a checkbook. You typically balance your checkbook soon after receiving a monthly statement from your bank.<p> +7 :slide "title" by {0,-190} duration 1.5 You will want to have your +8.8 :picture "statement.gif" at {-65,75} size {348,313} label "statement" fade .5 :resize "statement" to 50 bank statement, +13 :picture "checkbook.gif" at {223,150} size {159,149} label "checkbook" fade .5 check register, and perhaps a +14 :picture "calculator.gif" at {380,175} size {109,95} label "calculator" fade .5 calculator and +15 :picture "pencil.gif" at {488,166} size {66,105} label "pencil" fade .5 pencil.<p> ~200 First, let's look at the +18.2 :clear {"checkbook", "calculator", "pencil"} fade .5 +19 :slide "statement" to {116,70} duration .5 +19.5 :picture "statement.gif" at "statement" size {348,313} label "statement2" grow .8 +19.7 :layer "statement2" after "statement" +19.95 :clear "statement" bank statement. Each bank's statement is slightly different but they all contain the same information.<p> ~200 +25.9 -:hilite at "statement2" by {65,1} size {156,28} width 4 color red label "bank_hilite" :rectangle at "statement2" by {65,1} size {140,22} with overlay color red label "bank_hilite" Here is the bank's name. ~200 Here are +28.4 :clear "bank_hilite" -:hilite at "statement2" by {270,23} size {76,18} width 3 color red label "date_hilite" :rectangle at "statement2" by {270,23} size {76,13} with overlay label "date_hilite" the statement date, +29.8 -:hilite at "statement2" by {270,38} size {76,18} width 3 color red label "account_hilite" :rectangle under "date_hilite" size {76,13} with overlay label "account_hilite" your account number, +31.3 -:hilite at "statement2" by {2,20} size {110,54} width 3 color red label "addr_hilite" :rectangle at "statement2" by {2,20} size {110,42} with overlay label "addr_hilite" and your name and address.<p> ~400 +34.8 :clear {"date_hilite", "account_hilite", "addr_hilite"} This +35.3 -:hilite at "statement2" by {0, 75} size {360, 130} width 4 color red label "trans_hilite" :rectangle at "statement2" by {0,80} size {Width("statement2"),110} with overlay color red label "trans_hilite" section shows all the transactions that were recorded during the month listed on the statement. It includes +40.8 :clear "trans_hilite" :rectangle at "statement2" by {1, 96} size {346, 11} color lightgreen with overlay label "checks_rect1" +40.9 :rectangle under "checks_rect1" by {0, 10} size {346, 11} with overlay label "checks_rect2" +41 :rectangle under "checks_rect2" by {0, 0} size {346, 12} with overlay label "checks_rect3" +41.1 :rectangle under "checks_rect3" by {0, 10} size {346, 11} with overlay label "checks_rect4" checks you wrote that were cashed, +43.3 :recolor {"checks_rect1", "checks_rect2", "checks_rect3", "checks_rect4"} to lightgreen :rectangle under "checks_rect3" by {0, 0} size {346,10} color lightgreen with overlay label "atm_rect" ATM and debit card withdrawals, +45.9 :recolor "atm_rect" to ltgray :rectangle under "checks_rect1" by {0, -1} size {346,11} color lightgreen with overlay label "deposit_rect" deposits you made, +47.5 :recolor "deposit_rect" to ltgray :rectangle under "checks_rect4" by {0, -1} size {346,11} color lightgreen with overlay label "service_rect" any fees the bank may have charged you, +51.1 :recolor "service_rect" to ltgray and any interest the bank paid you. ~200 +52.8 :clear {"checks_rect1", "checks_rect2", "checks_rect3", "checks_rect4", "atm_rect", "deposit_rect", "service_rect"} Some banks provide a +53.8 -:hilite at "statement2" by {0, 192} size {360, 60} width 4 color red label "checks_hilite" :rectangle at "statement2" by {0, 188} size {Width("statement2"), 58} with overlay label "checks_hilite" list of all the checks that were processed during the month, and a +59.6 -:hilite at "statement2" by {0, 255} size {360, 60} width 4 color red label "summary_hilite" :rectangle at "statement2" by {0, 251} size {Width("statement2"), 58} with overlay label "summary_hilite" summary of all the transactions for that month.<p> ~200 +62 :clear {"checks_hilite", "summary_hilite"} ~500 +62.1 :rectangle at {0,70} size {Left("statement2") - 1, 340} color cream label "statement_rect" On the +63.8 :picture "balancing.gif" at "statement2" by {-348,0} size {348,313} label "balancing" -:line at "statement2" by {0,1} size {0,(yextent "statement2") - 2} width 1 color black label "statement_edge" :rectangle at "statement2" by {0,1} size {1,Height("statement2") - 2} color black label "statement_edge" :slide "statement2" by {-348,0} duration 2 :slide "balancing" by {348,10} duration 2 :slide "statement_edge" by {0,10} duration 2 :layer "statement_rect" before "balancing" +65.8 :clear {"statement2", "statement_rect", "statement_edge"} back of the bank statement is a chart that you can use to help you balance your account. Let's use it to go through the steps of balancing an account.<p> +70.5,clear :clear fade .5 The first step +72.4 :picture "statement.gif" at {223,225} size {348,313} label "statement" fade .5 is to match entries between your bank statement and your +74.2 :picture "register.gif" at {215,-27} size {365,252} label "register" fade .5 :layer "register" after "statement" :picture "nocharge.gif" at "register" by {46,203} size {288,16} label "nocharge" fade .5 checkbook register. For each +77 :rectangle at "statement" by {0, 96} size {346, 11} color lightgreen with overlay label "check1_rect" entry in your bank statement, +78.9 -:arrow at "check1_rect" by {140,0} to {(xlocation "register") + 189,(ylocation "register") + 127} width 3 color lightgreen label "check1_arrow" wipe 1 direction up :picture "arrow1.gif" at "register" by {152,124} size {45,228} label "check1_arrow" wipe 1 direction up place a check next to each +80.6 :picture "checkmark.gif" at "register" by {186,114} size {14,11} label "check1_mark" entry in your check register. +82.7 :clear "check1_arrow" wipe .9 direction down +83.7 :clear "check1_rect" Include both money leaving your account, such as checks, ATM withdrawals, and fees, +91.4 :rectangle at "statement" by {0, 107} size {346,11} color lightgreen with overlay label "deposit_rect" and also money entering your account, +92.8 -:arrow at "deposit_rect" by {140,0} to {(xlocation "register") + 190, (ylocation "register") + 139} width 3 color lightgreen label "deposit_arrow" wipe 1 direction up :picture "arrow1.gif" at "register" by {152,134} size {45,228} label "deposit_arrow" wipe 1 direction up such as deposits and interest +94.2 :picture "checkmark.gif" at "register" by {187,125} size {14,11} label "deposit_mark" earned. As you check off each transaction +97.3 :clear "deposit_arrow" wipe .9 direction down +98.3 :clear "deposit_rect" make sure that the +98.6 -:iris at "register" by {212,116} size {31,14} color lightgreen duration .8 label "check1_iris1" :rectangle at "register" by {208,112} size {31,14} color lightgreen with overlay label "check1_iris1" number you recorded in your register matches +100.8 -:iris at "statement" by {192,98} size {32,15} color lightgreen duration .8 label "check1_iris2" :rectangle at "statement" by {188,94} size {32,15} color lightgreen with overlay label "check1_iris2" the number on the bank statement.<p> ~500 +104 :clear {"check1_iris1", "check1_iris2"} Try it for yourself. +105.6 :display "Instructions" at {44, 90} size 16 style bold style underline face "verdana" color black label "instr1" fade .3 Move the cursor to the register entry +107.6 -:line at "register" by {182, 111} size {4, 94} width 1 color red style solid label "line1" -:line at "register" by {182, 111} size {16, 0} label "line2" -:line at "register" by {182 + 16, 111} size {4, 94} label "line3" -:line at "register" by {182 + 4, 111 + 94} size {16, 0} label "line4" :picture "para.gif" at "register" by {181,110} size {23,97} label "para1" and click on the mouse to place a checkmark. +111 :display "Click on the register" under "instr1" by {-20,4} color black style plain size 14 label "instr2" fade .3 :display "to mark entries that" under "instr2" fade .3 label "instr3" :display "appear in the bank" under "instr3" fade .3 label "instr4" :display "statement." under "instr4" fade .3 label "instr5" Click on the +112 :button "Continue" at {60, 206} enabled false label "continue" :repeat with i from 0 to 7 : set img to "checkmark_empty" : if (i < 2) then : set img to "checkmark" : end if : checkbox at "register" by {180.5 + (i / 2),110 + (i * 11.5)} checked (i < 2) label "check" + i -: picture img + ".gif" at "register" by {186.5 + (i / 2),114 + (i * 11.5)} size {14, 11} enabled true selected "checkmark_selected.gif" label "check" + i :end repeat :set st to 3 "Continue" button when you are done.<p> +118.8 label pausing :clear {"check1_mark", "deposit_mark"} :button "Continue" at {60, 206} color black :clear {"continue", "wrong"} :pause without button ~100 +119 label checking :set st to 0 :repeat with i from 0 to 7 : if (Answer("check" + i)) then : set st to (st | (1 << i)) : end if :end repeat :if st == 111 then : display "You are correct!" under "instr5" by {20, 10} color red style bold label "success" :else : display "Incorrect answers" under "instr5" by {0,8} color red style bold label "wrong" : button "Try Again" at {60, 232} : button "Continue Lesson" at {30, 269} : pause without button :end if ~100 +119.2 :if button_selected == "Try Again" then : goto "pausing" :end if ~3000 +122.1 :clear {"para1", "instr1", "instr2", "instr3","instr4","instr5","success","wrong"} fade .5 :repeat with i from 0 to 7 : clear "check" + i : if (i == 4) || (i == 7) then : set img to "checkmark_empty" : else : set img to "checkmark" : picture img + ".gif" at "register" by {186.5 + (i / 2),114 + (i * 11.5)} size {14, 11} enabled true selected "checkmark_selected.gif" label "checkx" + i : end if :end repeat To continue balancing your checkbook, add any +123.1 :clear {"line1", "line2", "line3", "line4", "instr1", "instr2","instr3","instr4","instr5", "success","wrong"} :rectangle at "statement" by {0,162} size {346,11} color lightgreen with overlay label "charge_rect" entries that are on the statement but +125.5 -:arrow at "charge_rect" by {56,0} to {(xlocation "register") + 117,(ylocation "register") + 220} width 3 color lightgreen label "charge_arrow" wipe 1 direction up :picture "arrow2.gif" at "charge_rect" by {56,-200} size {54,200} color lightgreen label "charge_arrow" wipe 1 direction up not in your +127.5 :clear "nocharge" wipe 2 direction right checkbook register. Usually fees and interest are added to your register at this time, +128 :clear "charge_arrow" wipe .9 direction down +129 :clear "charge_rect" but it also might include an ATM withdrawal that you forgot to add to your register.<p> ~1000 +134.1 -:rectangle at {(xlocation "statement") - (xextent "statement"),(ylocation "statement")} size {(xextent "statement") - 1, (yextent "statement")} color cream label "statement_rect" :rectangle at {Left("statement") - Width("statement"),Top("statement")} size {Width("statement") - 1, Height("statement")} color cream label "statement_rect" Let's +140.2 :clear "balancing" :picture "balancing.gif" at "statement" by {-348,0} size {348,313} label "balancing" -:line at "statement" by {0,1} size {0,(yextent "statement") - 2} width 1 color black label "statement_edge" :rectangle at "statement" by {0,1} size {1,Height("statement") - 2} color black label "statement_edge" :slide "statement" by {-348,0} duration 1 :slide "balancing" by {348,10} duration 1 :layer "statement_rect" before "balancing" +141.2 :clear {"statement", "statement_rect", "statement_edge"} +141.6 :slide "balancing" by {0,-80} duration .8 :slide {"register","checkx0","checkx1","checkx2","checkx3","checkx4","checkx5","checkx6","checkx7"} by {0, -60} duration .8 return to the chart on the back of the bank statement. Enter the +142.5 :picture "statement.gif" at {-348,30} size {348,313} label "statement" :slide "statement" by {120,0} duration .7 +144.5 -:iris at "statement" by {296,294} size {40,15} color lightgreen duration .5 label "balance_iris" :rectangle at "statement" by {292,290} size {40,14} with overlay color lightgreen label "balance_iris" ending balance +145.4 -:arrow after "balance_iris" by {-4,2} to {(xlocation "balancing") + 221,(ylocation "balancing") + 44} width 3 color lightgreen wipe 1.2 direction right label "balancing1_arrow" :picture "arrow3.gif" after "balance_iris" by {0,-126} size {346,133} color lightgreen wipe 1.2 direction right label "balancing1_arrow" from the statement +147 :picture "balancing1.gif" at "balancing" by {228, 35} size {44,11} wipe 1 direction right label "balancing1" here. ~1000 +150.5 :clear "balancing1_arrow" wipe .2 direction left +150.8 -:wait .3 +151.1 :clear "balance_iris" -:wait .2 +151.3 :slide "statement" by {-120,0} duration .2 -:wait .3 +151.4 :clear {"balancing1_arrow","statement"} Next enter all deposits made but not +151.8 -:iris at "balancing" by {237, 108} size {30,16} color lightgreen duration .5 label "balancing2_iris" :rectangle at "balancing" by {233, 104} size {30,16} with overlay color lightgreen label "balancing2_iris" shown in the +154 :picture "balancing2.gif" at "balancing" by {243,107} size {9,11} wipe .6 direction right label "balancing2" :layer "balancing2" after "balancing2_iris" bank statement. ~1000 List +155 :clear "balancing2_iris" any outstanding +157.8 :rectangle at "register" by {19, 159} size {316, 11} color lightgreen with overlay label "check1_rect" +158.8 :rectangle at "register" by {17, 192} size {316, 11} color lightgreen with overlay label "check2_rect" checks or ATM withdrawals that are in your +159.7 -:arrow under "check1_rect" by {150, -4} to {(xlocation "balancing") + 200, (ylocation "balancing") + 140} wipe .8 direction down label "balancing3_arrow" check register but are +161.4 :picture "balancing3a.gif" at "balancing" by {193,143} size {120,11} wipe 1.2 direction right label "balancing3a" +162.8 :picture "balancing3b.gif" under "balancing3a" by {0,5} size {120,11} wipe 1.2 direction right label "balancing3b" not listed on your bank statement. ~1000 +162.9 :clear "balancing3_arrow" wipe .9 direction up +163.9 :clear {"balancing3_arrow", "check1_rect", "check2_rect"} Add these items and enter the +165.5 -:iris at "balancing" by {224, 212} size {60,16} color lightgreen duration .5 label "balancing3_iris" :rectangle at "balancing" by {220, 208} size {60,16} with overlay color lightgreen label "balancing3_iris" subtotal +166.7 :picture "balancing3.gif" at "balancing" by {228,211} size {44,11} wipe 1 direction right label "balancing3" :layer "balancing3" after "balancing3_iris" here. They are not yet cleared by the bank.<p> +170.5 :clear "balancing3_iris" ~1000 Your adjusted balance is the +172.4 :picture "balancing1.gif" at "balancing1" size {44,11} label "balancing1n" :slide "balancing1n" to "balancing" by {166, 239} duration 1.8 statement balance +174.3 :display "+" after "balancing1n" by {4,0} size 10 color black label "plus" plus the +175.3 :picture "balancing2.gif" at "balancing2" size {9,11} label "balancing2n" :slide "balancing2n" after "plus" by {2,0} duration 1.5 deposits +176.8 :display "-" after "balancing2n" by {2,0} label "minus" minus the +177.8 :picture "balancing3.gif" at "balancing3" size {44,11} label "balancing3n" :slide "balancing3n" after "minus" by {2,0} duration 1 outstanding checks and withdrawals. +179 :display "=" after "balancing3n" by {2,0} label "eq" +179.2 :picture "balancing_sum.gif" after "eq" by {2,0} size {44,11} wipe 1 direction right label "balancing_sum" This +182.2 -:iris at "balancing_sum" by {1, 1} size {48,16} color lightgreen duration .4 label "balancing_iris" :rectangle at "balancing_sum" by {-3,-3} size {48,16} with overlay color lightgreen label "balancing_iris" +182.6 -:iris at "register" by {298, 204} size {40,16} color lightgreen duration .4 label "register_iris" :rectangle at "register" by {294, 200} size {40, 16} with overlay color lightgreen label "register_iris" value should match the last entry in your checkbook register.<p> If the numbers do not match, +187.5 :display "If numbers do not match:<br/>" at {15,70} size 14 color black style underline wipe .5 direction right you should check the following-: <UL><LI>Check +189.8 :display "Check the math<br/>of the balancing process.<br/><br/>" with bullet by {0,10} style plain fade .5 direction right label "check" all the addition and subtraction you did during the balancing process. A calculator can help. <LI>Check the +195.8 :display "Check the additions and<br/>subtractions in your <br/>registry.<br/><br/>" with bullet fade .5 direction right addition and subtraction in your check register for all of the transactions you entered since the last time you balanced your checkbook. <li>If the numbers +204 :display "If numbers still don't <br/> match, contact your <br/> bank.<br/>" with bullet fade .5 direction right still don't match, contact your bank. Someone at the bank can help you balance your account. You should know that some banks charge a fee for this service.</ul><p> +209.8 :clear {"balancing_iris", "register_iris"} Once you have balanced your account, record the +215.3 :picture "balanced.gif" at "register" by {47, 217} size {109,9} wipe 1.5 direction right label "balanced" +217 :rectangle at "register" by {18, 216} size {319, 11} color lightgreen with overlay label "balanced_rect" balance date in your check register. Your account is balanced up to this transaction.<p> ~100