NNNNNNy|p NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNsyO`  @`! #%`')+-/1 3@5`79;=?A CE`GIKMOQ S@U`WY[]_a c@e`gkmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ O`  @`! #%`')+-/1 3@5`79;=?A CE`GIKMOQ S@U`WY[]_a c@e`gkmoq s@u`wy{} @` @ ` @ ` @ ` @ ` ǀ ɠ BODYSHOP pt DOT2DOT t h. p t.. p tBODYSHOPPRG qt (BONES3 PI1 xt $B}BODYSHOPTXT t D1SHAW DAT t H}`m=AON=Vp~Aagp~A agp~Aagp~AXagp~A^agp~Aagp~A킂agp~A킈agp~A(agnp~Aagbp~A"agVp~A킲agfp~AagZ <~AdagJ?<NNT+@ -g:E~pAaWEpa[JrCtaR/ A퀐a7& a@N2B0p+@@N2N XN XNp+@,N N E paZ/?<NNT _abp+@,N N CA  "?<NNT+@ x mdAH +@0<trRaK6<=0<trSaKpaM6<;0<trUaKNp+@paM*p aM(paM&p aM$aM,Ep aY6<t(rxaTp aLaM Ep aYz6<t'rwaTpaLpaLpaLpaLaLEpaYFt32<aTp aLaLEpaY&t22<aTrpaLaLE1paYt:2<aTRp aLbaLvE1paXt92<aT2paLpAtS"<aMlpAtS"<aMZA퀰aSNupaK6<10<4<r_aJFpaL*6<10<4<r_aJ6<10<4<r_aJB6<10<4<r_aJ06<10<4<r_aJ6<10<4<r_aJ p@fpaKpaKpaKpaKpaKaKE?paW4<2<aSBERpaW4<ruaS,EmpaW4<2<aSE{paW4<2<aRp@fzpaK4p aJpaJpaJpaJaKEp!aWp4<rdaREp!aWZ4<rdaREp!aWD4<rdaREp"aW.4<rdaRzp@fpaJpaJzpaJxpaJvpaJtaJ|p aJ^paJ\paJZpaJXaJ`EpaV4<rcaRE+p aV4<rcaREKpaV4<rcaQEhp!aV4<rcaQNuAaJRp+@BR `fRBNNpWHH/adJVHH/ad^HHgpfNBBR `fRBN4pWHH/adBJVHH/ad"^HHgacr^^HH/ac1mBadJ^HHgN`paHvP0<traG*pa_`Nux"m afpti"<aIx"maepti"<aIac^HH/act_HHg*p@fp+@(p@fp+@(p@fp +@(ac6\HH/ac$_HHg*p@fp+@(p@fp+@(p@fp +@(ab\HH/ab_HHg*p@fp+@(p@fp+@(p@fp +@(ab\HH/ab_HHg*p@fp+@(p@fp+@(p@fp +@(p(n:&-(pt rac`pa^Tvp֭(t racJpa^>pa^8prac`pa^(paFvP0<traERp(fN2p(f p+@@ap(f p+@@ap(WHH/p(fp.p(fp.p(WHHgN%p (WHH/p (fp.p (fp.p (WHHgN-Vp(faPDN4a8fNupRaSt/Ep aR0<}"r"_a;paVzA퀶raVA퀼r aVA"<}aVxpraWAaMNuBmA0B0 <r4<&<x:<AaMf`Aa-h"pA퀼aT\CaMAaQAa.Aa-~aDx"ma^@(<zf,<~IaCx "ma^"(<*<,<.<aCx "ma](<*<,<~|aCx "ma](<z(|w~aCx "ma](<*<|l~|aCpx "ma](<zl,<~GaCRx"ma](<z7,<~aC4x"ma]fxP*<|>.<aCAC"  "002Nup(f Etza.` Eoa.p+@a](- m!Ha]~(- m!H(-"m(a\a]:RplNupa?p+@B -"-a@R ?oR ǁoNu(- mX 0HЭ0/(- m^/0H(-"m a\^p$"a@T(- mX 0HЭ0/(- m^/0H(-"ma\&p$"a@NuA퀰aFp+@,C A<  "?6<*0<t}ran(- m 0HЭ0/(- m/0H(-"maZ@p$"a>6NuA퀰aDp+@,C A<  "?pa4v0< traOp aJ*Nup a26<patra1Rpa366<patra1dpa26<0<tcra1(pa3 6<pbtbra1pa26<0<tra1$Nux"m"aOptr#a3x"maOptr#a3paIx"m"aOptr%a3x"maOptr%a3paIbx"m"aOpt(ra3~x"maOtpt(ra3jpaI4x"m"aOZptFra3Px"maOFptFra3/aHJ/(-X"maJp$"a.aHWHH/aHrRpraG`pJ-gpRfp^HH/(-X m 0HЭ0rЁ\HH/(-X m 0HЭ0roB(-X m 0HrЁ\HH/(-X m 0Hr_HHFgNvptraFpaAzvptraFtpaAhv 0<traFpaATpaANRpraF`vptraF8paA,vptraF&paAv 0<traFpaApmR -<"- l@+@ ?a>Rplvptra!N.ZaӖNuvptra!QBBp+@lB`Bp+@pA킲ap+@a4/?? -a 8:&a Ba 0aR+@X(-X m 0HJg`(-X mp!Hp+@aaQp a rv%pKt5rapa pa pa pa a E#pa-tr a(NE(pa,t2<a(8 v0< tra:pa5*pJ-gpJf,vptra:pa5 vptra:pa4pra:Aa*pJ-gpRf(R`+mdap (WHH/p (WHHgaanpra:2p`fzPp+@ap (WHH/p (WHHg E} a `` E}a Tp+@(-"ma:pa:(- mBHA퀰a$Rplp&`fPpJ-gpRfQp+@@B0NuBvpt"-alRplNupr~Aa5Bm <r4<Aa#fa:^ @p0a:T @p1@a:H @p1@a:T/Aa _0a:B @p1@aAa/a:.TaNz( m؅!HAa/a:Xa&z( m؅!HAa/a9\az( m؅!Ha"f>GE~Qa 0<a(0<aNCa#0<a(CaCa#0< a(CaCa#0<a(CaCa#p+@Xa9A퀠 00A퀠aa(CaCa#RXpXlp+@Xa8A퀘 00A퀘aa(HCaCa#HRXpXlNuBm <r4<Aa!fa8 @p0a8 @p1@a8 @p1@a8/AaX _0a8z/AaF/z( m؅ 0H _1@a8P/Aa/z( m؅ 0H _1@a8&/Aa/z( m؅ 0H _1@a a!6fDGNua & 24&8:BgnpNu<ngfDcpNufAcpNu 24&8:BgmpNu<ngfDdpNufAdpNuDExa*`bDEa"`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a&8:DE`DEx`a` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`/@ 246jDCCe0 C/jC C@j C jr0H@{0>H@Nur{0Nu{0NutNu 246j(:<DCaf AfBfNu`Pa 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu4H@Ѓdh`^HCH@:">H@`H2g&HCH@:<HC>H@Ѓd(`HCH@:H@r` gDBgkDE`HDBDEaBDBNugDBa8DBNutNua 11!Nux`xaR`aL` 24&8:HoHoEBJAgJDfr:g,|HC҅H@:ۆ<HC>H@Ѓd`vHCH@:H@`fgDBgkDE` DBDEaDBNugDBaDBNutNuHoHoEBz:g|HC҅H@:ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuJBj^tNuk(g.JBjDBAр[SBDBjNutNuAр[SBkNuJlNu0gH@rJBkB JkЀ[`DBЀ[`J.;gP:pr4<Nup`+xa`Ba411!Nux`4 24&8:`& 24&8:`a&8:` &8:@ABJEoHnfNup`+2tNugDEDBHngDBEBkQ*HEJDg?<>0rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi ?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<,>CEdGH@0r`xJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riR?0i?`?<`"_K0MI5O:HQ <-H*,`N,fMPf$h  Ј-@.HRHPBg?<JNAO H2=| dad=|.,Hx?<HNA@\re ,/?<HNA\-@І-@&&<?</NM\?<f/NM\aAmC$I BBQ"Jrp`")gQ`BBgff$ AfA`&n-K-K-n&"At0<rX0QEm-JNu HfNu$H$& K-KC"e a"d aA"ךf B &nNupNH>d d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -KaXA"f B &nNuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nu`@a8A-Hhp apMa=@F?<NNTT@A0r p0Q`pdr ta0.F=@=@ACp,2QAp 2Qa ,a:`x`tpeahp`(p?a(adabaHz?< NA\?<LNAfCR2A0A82r22aJ"<C0<NBLNurt=@:=A@=B2::(   F..26"8@"PQ1!P1P!0PP`0  q#p"AӘQNuA Nu|^|  R^,T:Hz(` NDHz ?<&NN\Nu9gNuWNuaaa NuNuNupc?a0QNurdAd6Ag,B(dB(dH Ac<aftgBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg*afNup`ap`!0alfHRa>Er$Wgr STD:gr COM:g r LPT:f2FA$_0=@D~CA0< BhaB2"pNu$_AF Ge><QBAFpNuahgzp=` a\gzpaTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCձfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.d Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CFr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAF "_Nu.WAkQA 0g`-@ _aG` VNuag`af`ae `ac` acpNuadpNu/ a$I> _az4Ae4v` VfANu?HP0(T@kHa` $I _aHIUd4Id4Id$Id `$$$$Q @Jf4Nu0XNup `JaUAfQNuag`af`ae `ac` acpNuadpNuaSAkXf SAkXfJANuz`z `z8.^n\Dn\@Hp tr=ED`n\n^n\n^A0000000000prt`n\n^648HH`prt`n\n^n\n^8HH`prt`"_A `4RB`"_A42L\A` L0GF11Q-p`prHQ`TBp'rtaF n2rt6(SC0(S@apaB\papava0paRG=GYfx-IC=C=C$tBft=B=B(tFJ=BBBB*Do>Eo:@l6Al2DDk =DVBnDEk =EnBn@cVo Acno,_NuAH`/=@a _a ]Ak024E$ Bb5B5A6CC5CK5C:8AB0000DkxEkt00A<:d>:bSFSGFn\GnXDDk0BhDEk1EBh Fchh Gchh0hb"0hbpmrt-|P|H-|PL`Nu-HNG,?<NNT-@XDbDEbEBb=ET=DV-|PBLBp n20(L=CJ?=B^C=C\=Cj@drAdnED??RGRF=GF=FHtGJ=BltBft=B`=BnGOpЇЇ b na 222-IfHVMF,_Nup `fT np`??/ a , > _a 4$FAFp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAF0-H,=@p4a2HNu 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`g BbUC BcjNu BcHDDdSkg Aр[RBNu0ftNuB H@"jNu Lx6oFCe0FC BdЄe!Nu B/dHDDdNAXOJkpNu0< aF`0< CF2p`p a0`p CFp`aCF"p`Hza `Hz"J`B.@=|DNua.@FpAR@C` B.@=|DNuB.@a=GDgNup` Pa`aCF"E p`4Jg$_a: HN$_a: HN$_aBHN$_a؄BpHN$_aB0HN$_axBpHN$_alN$_ab؄N$_aXN$_aPN$_aF 0HN$_a:؄00HHN$_a,p0HN$_a 24N$_a:p 0HgpN"X I"_(*UGk*<(؆QNp`p`p` p`pJPg` 6$_a!HN$_a؄1HN$_aHN$_a 00N.@<.DAp$I"t Q k"RGef~`SG * g *fSG`<.DjZ\FkBJn`g Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?Cx"c a&"b(K&JHP~"S>/ /?.D?<?NAO _JkѨf L"[6\`$Y4jDB`Q]CnLaNu&ZRf`Q`a`aHa"R~>Cx"c a"bj(K&JHP"[6>X L` $Y4j DB`Q`&ZRf@`Q]Cn/ /?.D?<@NAO _Jk$ѨfLaNup`p`p%La`aAdgHAAHP P (R` / aAdgHAA HP$_ R2 S b`v6aք2<<.D>HRa\$_Nu<>Hz?<&NN\` n2LLJFj|@c<JGj~Ac>02 h|N n2HHNu80a|DHz ?<&NN\Nu| n2 h N n21@NuaaJjtNuaHPa pJk NuCg.BJ@g  g &g, $g %gNINutNuRpt`2Rpt`Rptr ae OgX Xgn HgSRB ae Fb$0k  c_  c b退`tSHkapNuRB0 b b瀀`RB0 fрd`#dHrYa~pYajLa pY`" :/rYaNpYa"Hyp?o?<?NAO JkpY`/a `C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgagJAga2< R@AdSf0Nu0ap Ce`&g4 Fga|JBjagPAe CbRa R@Sf0Nu FgRaDg JBjaVAeaJAg RP0 pNu` Fg6a gJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8aJBjaJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`0(a؀.dfajNu.pEgP`LJg&B.C`a8aD*9fap-I,=|p4aHz*9g ENp9`ڈ _a &nO:NMI5K0$<Nu[1][Error +111][Return]E. g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAF"H [1][fSEfNuC`C``C` C`CJhfJfRRRRRRRHP? @CFH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`ZJAkfgRer?DDЁaAa8$HX :CFE` YEjT"_$P"2trDDd0d d d` QjNu`aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&nNu AgebѐA``-Kx$ n&$n""Hg8" &Ak cѐ S`g"" k#&Acё2+SAI3 Q&f-I"&nNu-Kx$&ր n&$n""HgR" k&Ac b S` S`g4" k#&AcbrkX`ޑ2+SAI3 Q&f-I"&nNuaP n2L6(n\n^HHHNua0 n20(n\HNua n20(n^HNua n20(HNuaܨ:ffNuarNua J[HHNu:nfa@ z^0NuJg6$:Pf,H?<"NNT&@p/&k4ra :,ga &Lr`r??Q@k2HyNM\0Nu#k.Nu   AgSA ANua@`H"a`BaB@(` aBC(@HAC&21i0d R@`aBHP?< NN\Nu0^ M / hawFAN`RAD0C?0FA0A ff fA"H"2"2"2`B؄*؄؅CH`8؅X`$_  IaHR"H @`̘؄*؄؅AHNu؅X`$_ IahHR"H` n~d$HJf-HS Nup"`HPa _a&`QNua JH aL0Nua`A`:A`4A`.A|`(A|`"A`A `A`A ` A `A Nu5228<-Left Collar Bone828Right Collar Bone->1330Shoulder Blade----->5030<----Shoulder Blade1380Hips596Right Thigh Bone-->6096<---Left Thigh Bone5140Right Shin Bones-->60140<--Left Shin Bones0178Right Foot--->65178<----Left Foot9138 Right Knee Cap--->65138<---Left Knee Cap035Right Upper Arm--->6135<---Left Upper Arm080Right Forearm--->6080<---Left Forearm1105Right Hand--->50105<---Left Hand 3520<------Spinal Column2033Rib Cage---->3535Breast Bone------>290Skull----->-300Face2230Open Chest3523Windpipe & Throat------>3728<------Thyroid Gland2840Heart----->2370<-----Kidney & Bladder4975<----Left Adrenal Gland2475Right Adrenal Gland---->1965Spleen------->2368<---Liver3270<---------Pancreas3166Stomach---------->2160Diaphragm---------->1874<-----Large Intestine2382Small Intestine-------->1535<----Lungs312Brain---->1953316331040190401481208125195125141651951654018520018510144195144156519865309519595461152001151655560704550751054016730875517590176803805570175701757460884064178100101001786070155228<-Left Clavicle Bone828Right Clavicle Bone->1330Right Scapula---->5030<----Left Scapula1380Pelvis596Right Femur--->6096<---Left Femur5140Tibia & Fibula-->60140<-Tibia & Fibula0178Metatarsas(Foot)-->65178<--Metatarsals{Foot)9138 Patella--->65138<---Patella035Right Humerus--->6135<---Left Humerus080Radius & Ulna--->6080<---Radius & Ulna1105Metacarpals(Hand)->50105<--Metacarpals(Hand) 3520<------Vertebrae2033Rib Cage---->3535Sternum------>290Skull----->-300Face2230Open Chest3523 Trachea ---->3728<------Thyroid Gland2840Heart----->2370<-----Kidney4975<----Left Adrenal Gland2475Right Adrenal Gland---->1965Spleen------->2368<---Liver3270<---------Pancreas3166Stomach---------->2160Diaphragm---------->1874<-----Colon2382Jejunum & Ileum-------->1535<----Lungs312Brain---->195335332040190401451202812519512514165195165101852001855014419514415651986525951959551152001151655560704550751026112594257725611256152571925923256262512724527240292363523839240442384923655234612326623172228792288623091232972331032321102311162311222341252341312321372341432331492331552331612331672331732331792301842271882271942291992391982421952451912441882481852491812491762471722471672491622491562491502491452501402501382481342461282491242541222581162611132661092721092771142801212851252851252901282891342871402871462891522911582921642931702911772921842941912991973121973141923131853091813081763081713081663091593081543081483061443041413071363041323041263051223091183091123071083061043069830994311893138331276309713086730661305573035330349302463014330041299373043630632304292992729227286272822628222283182831328392839282528022780272026602611Left Collar BoneRight Collar BoneRight Shoulder BladeLeft Shoulder BladeHipsRight Thigh BoneLeft Thigh BoneRight Shin BoneLeft Shin BoneRight FootLeft FootRight Knee CapLeft Knee CapRight Upper ArmLeft Upper ArmRight ForearmLeft ForearmRight HandLeft HandSpinal ColumnRibsBreast BoneSkullLeft Clavicle BoneRight Clavicle BoneRight ScapulaLeft ScapulaPelvisRight FemurLeft FemurRight Tibia & FibulaLeft Tibia & FibulaRight Tarsals/PhalangesLeft Tarsals/PhalangesRight PatellaLeft PatellaRight HumerusLeft HumerusRight Radius & UlnaLeft Radius & UlnaRight Carpals/PhalangesLeft Carpals/PhalangesVertebraeRib CageSternumSkullFaceOpen ChestTracheaThyroid GlandHeartKidneyLeft Adrenal GlandRight Adrenal GlandSpleenLiverPancreasStomachDiaphragmColonJejunum & IleumLungsBrainWindpipe & ThroatThyroid GlandHeartKidney & BladderLeft Adrenal GlandRight Adrenal GlandSpleenLiverPancreasStomachDiaphragmLarge IntestineSmall IntestineLungsBrain0262924584876008032816881361634432720655046547264512634886144035408952661053287768348821282281642032808163296010242048Works In Low |Resolution OnlySorryshaw.datBody ShopThe Human Anatomy TutorCopyright 1990About the Body ShopLearn The Parts of the BodyBuild the BodyQuit to DesktopLearn The Skeleton (Common Names)Learn The Organs (Common Names)Skeleton and Organs(Common Names)Skeleton and Organs(Medical Terms)Build the Body(Common Names)Build & Place Body(Common Names)Build The Body(Medical Terms)Build & Place Body(Medical Terms)Bones3.Pi1Continue ToPress The Mouse Button Or Any KeyTo Scroll Through The Body Parts.The Body ShopProgram by Frank M. HundleyWith GFA Basic.>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<-------Bladder<-------Gall BladderRight Cortex---><---Left CortexNAMEDPLACED * "> ("4 B^@@$f`<R 6"4 "6Z |(8X  t\((@P*f$8\r&zX*$ w5fU2DC2UDfF 3333<<<<??<$$$~ELDMLDddd@@@&6>&00|DDDE@D@@Da!80q ."2"88? 8a!<88N b$r B?>000&/ A"Ab"@@"@? xxxs3zp8^ B b B|``  A3A1    a`! ! >010s3|xp@H@_x`@ 9 ˀ̀̀     ` s3<tDLD8Hp@@@k 8 ??8 8     ` a!rFNB8q8#"?' 0      ` @@|DDDzBFB$xa``#0< ppPPP@ @\DdD9#'!p|Ã:  #0< pPPP333@ @\DdD=!#!" 000pPPPNBrB '  烁''8   8 ```pPPP."2"   //?0 08 @@@pPPPDDD='#!/!1! D@@@  ?' ```ß8 @@@:"&"pPPPP='#!/!1! F@ @N@@Ãuǟrpp8 @@@:"&"pPPP='#!'!9!'a!jÝ:7)qg<$f8 @@@4$,$XpHPhPHPpPPP<&" %a!> Ǐ?v|8 @@@4$,$XpHPhPHPzNFB d >> /008 88 @@@4$,$XpHPhPHPzNFB  2p'19!6w6>wɀ_``p@p8 @@@tDLD\pDPdPDP|LDD  r/!1!_~`@< _@@`@@8 @@@tDLD\pDPdPDPt\LD  Ɇ8NbrBO~"pA@</ p0p 08 @@@tDLD\pDPdPDP@@@\DdD/?0 | pq  8 @@@hHXH,p$P4P$P@@@dL\DUx8y w  8 @@@hHXH,p$P4P$P0   4$,$Ux88$8 @@@.p"P2P"Pp0   ````G8 @@@.p"P2P"Pp0   UUUXHHa~>08 @@@.p"P2P"P_CcC00 00?~`|DDD 8 @@@.p"P2P"P,$4$` p$p|88888 @@@pPPP8888` pB 8  @ @ @ 0    8(((` p@@8 @@@0pPPP@<<8 @@@03333x(((@@??8 @@@0;***@@8 @@@87191h hh\DdD @@@O@@p@@@  \DdD"">"'08 @@@ p \DdD@@]EcAyO`p@@@ @ _F`f`F`pP P P\DdD @@cAA=O`p@@@@88889999 \DdD]AcA|A€က@@.&2" cAA!A?A @@@@."2""">"@"c"0=331ocscPPP<$$$"c"0~CA@@@PPP>  "c"` ` ?@@@? - - -PPPA$A$@@@ 7@@@xx?---PPPÀÀÀÀqqqq<44? ? - - - ր|zz//?---@@@|=2~8:(*(*(*'%%%?---@@@|x|/?8(((sRRR8(((@@@xxxx????????|8 .88883F2F2F2000```| 9)))qTQTQTQ2?0|8(((00008(((???????|  (8( ( ( cbbb3333@@@ ==tdld |;0000wws{344<4????~}?0pPPP??????>J @ @ @ ~? LLL````@@@?8Jп0~`@@,<,< 0j@@@p ???? j"?  @ @ @ @@@ 330j"????`??##"xHHH||0<<00=@@?;?_ @@0, ?? 0@@@?!!!11@@@0000ssss072?`@? 7(` , ?@@@>""">``" t t D@@@@@0=g?` @0, < 0;;3000j4@?   , <ygg0Y&2 ?00 }0, `< 0@@@.."|~FF F||0<<00;[?@@0 , 0< 0@@@?000????111qqqq 04` 0n~@0, <@ /`0?###00?888 '308h , <@/`<<<<???a?ccc @@ `'8,Ð <'` @@@@@'& pppq??/ #?! @@@@#??#pP Pq , `###AAA>>pppp @,4@ @@@@@/?3131#1<<<<pppppP P(p HPP,` ? `@@@  ` ,B ".?@@@~fff b b b8L ,B$">?@@@  @@0 @ ,B$"6?0??000 ,B"6??###?~BBB??,B"&?@@@LLL??#!#!#!<<<<H@ ,B"&?@@@@~X,B"&?@@@?### N N NyY?<&&,B"&?|LLL   @@))?'$%%sqss,B"&?pppp00iiV''%%sqss,B"&?@@@cc))?$$ %% q # ``C$@@@~~@||@||))?F9FLF``2A&xxxx0<<099?''?  P HL0130`$x{ ? @@?@?z ? 00?F?82@? #??#9I9x?0`0`0`  aaa>>@||@9I9yaaa<<0<<0Hw8 H? ^0000  t@`Hx? aaa~ px`0`0`0!!!Â}?G$0HXXXEE`"H0xGGG P8 00x   ? ߄   DT ߀@@@ }_F? <<DE`@D'E~<B<88   ~~@ ׀?  @!>  @0?  ?0n  `  p @??  ` ><  p   0``  | kp@"׀    @@@``@6000}@??  ``X`? ?.DDX?? : JHF | pw!=>* @@@``P@W@A]}]~@@@@``  "@'@Cw{w|@ @ '@G@C{|\@` W @66I  @ mm  VV  @@mm G I (h k "``D  PBP S WWP    A88SS@O@A}~F@PP??@@H`@o@@~"@H||??dd`<<@@@~@xx @ **@@<@_@@~G@xpppp **.8.8G`@@@~<@D @@@&&ww )@@@ m@ll**ߢߢ ] \  >?? ((00XX\\"" ss@>>RR G_33 >>?0P@ >?99!!p@00$_D`@DD83~'ـ $$XB>"W`` < |3&ppp@#` ' @'@C{|@? >? ?>0808@ 08`4<08>ϫj08y{Z|0x0|~{`0xg|<(׀x|k@?{$??hD?@n ?8?m ?mgn L|}wkh ~~kkBVB  T* Instructions for BODY SHOP BODY SHOP is a program designed to help students learn Human Anatomy as required in most Elementary or Junior High School science courses. The names and locations of all the major bones and organs of the body are taught using both common everyday terms and the more technical medical terms. After opening BODYSHOP.PRG in the low resolution mode, the main screen will appear. At the bottom of the screen, under the picture of the doctor, is the main menu. All options of the program are accessed though this menu, and all parts of the program return to this menu upon completion. The first four option are: -ABOUT THE BODY SHOP- Click the mouse here and the menu will temporarily be replaced by the programs credits. Click the mouse again or wait a short period, and the main menu will return. -LEARN THE PARTS- Click the mouse here and the main menu will be replaced with an additional four options. All these options introduce you to the names and locations of the different parts of the anatomy. You can elect to learn just the skeleton or the skeleton and the organs. You can also chose to learn them by their everyday names or by medical terminology. After you make you choice, the main screen will be replace by a two toned screen. The program will then place and name a body part. Continue to press the mouse button, or press any keyboard key, and the program will build and name the parts of the anatomy. When the program has completed the construction of the selected anatomy, it will return automatically to the Main Menu. -BUILD THE BODY- After becoming familiar with the names and locations shown to you in the 'Learn The Parts' section, you might then want to test your knowledge. In this section you can build the body by properly identifying the body parts as they are revealed, or you can build and place the body. To build and place, you have to identify the body part and then physically place the part where it belongs in the body. When you make your choice, the new screen will appear. On this screen, a body part will be displayed in a box on the top left of the screen. Nine different choices will be listed and numbered underneath the box. Find the name that corresponds to the body part displayed in the box. Select the proper name by either clicking on the name or by entering it's number on the keyboard. If you choice was correct, it will be reflected by the score to the left of the display box and a new body part will take it's place. If you have chosen an option to just build the body, the identified piece will automatically be placed in its' proper location within the body-outline to the right of the screen. If you chose to build and place the body, you will have to guide the part over to the proper location within the body outline with the mouse. Press the mouse button when you think you have the part properly located. If you are correct, the part will settle into its' location and the game will proceed. The score to the right of the display box will note that you have successfully placed the body part. If you try to put a part where it does not belong, the part won't settle in and will remain under mouse control. You then can make two more attempts to place the part. After the third try the program will place the part for you. When you have successfully built and placed the whole body, the program once again returns to the main menu. -QUIT TO DESKTOP- This last option is self explanatory, you press here when you are finished experimenting with the program. If you have any problems, comments, or corrections I should be aware of, please contact me (F.Hundley) on Genie.  3333<<<<????<<<<>>>>||||>>>>????<~<~<~<~????????????8~8~8~8~????xxxxxxxxπππ||||xxxxpppp????~~~~<<<<????||||~~~~<<<<????pppp||||????????pppp||||????pppp~~~~????pppp>>>>????pppp????????????>>>>ppppPPPP????????>>>>pppp????????<<<<xpxpxpxppppp>>>><<<<xpxpxpxp~~~~營????<<<<xpxpxpxp~~~~????|||||p|p|p|p||||????|||||p|p|p|p||||~~~~????|||||p|p|p|p||||????xxxxp>p>p>p````>p>p>p>p>p>p>p>p||||>p>p>p>p<<<<8888pppp8888     8888pppp<<<<3333xxxx????;;;;????|||| ||||>>>>????pppp||||pppp||||88889999||||>>>> @@@@>>>>>>>>????<<<<ߞ????ߏ????߆ÀÀÀÀqqqq???? ? ? ? ?߀????8:8:8:8:''''????8888ssss8888xxxx????????888833339999qqqq888800008888????8888cccc3333====|||| 0000<<<<????pppp????````@@@@////???????????????? ????߀~~~~????????~~~~????????~?~?~?~?????????????xxxx||||<<<<????????????0000ssss????????????>>>>````????????????????????????~~~~||||<<<<????????????????????qqqq ????oooo????????????xxxx????oooo<<<>>>pppp====????????<<<<ppppppppnnnn~~~~~~~~vvvv????vvvv~~~~????ffff????????<<<<ffffffff????ffff||||????ssssffffppppssssffff????{{{{gggg~~~~||||????ggggxxxx<<<<????????????7777????????????????????aaaa>>>>||||aaaa<<<<<<<<????0000 ????aaaa!!!!xxxx 0000????<<<<~~~~????  ???? ????????||||>>>>????>>>>````????????????````````????````???? ????||||????dddd<<<<xxxx````>>>>pppppppp>>>>???? >>>>>>>>????????????????????????????????????????||||????````<<<<????pppp????????????????????????888888888888<<<<88888888xxxx||||xxxx<<<<???????????????????????? .  th..  tDOT2DOTSDAT t iDOT2DOTSLST t nD{DOTMAKERLST t tDOT2DOTSPRG t GDOTMAKERPRG t E XXhhhXظ))))))(p0 ))  0H0@0H@@HXXpppp@@pHHpppQiQQayqiiyyyQQ))99iyyy@000@@HHXX IQQiyy N@888@@PPPppPpphX@а@``Pp0000(( iqqqqQiqqqq)9QQ))AA)A)Aqqqqii)A55q}}q}}yyyyyyy @@hhXX@ iIiqqQ) 9Q HP<@D@@D<@QIA=A=EAAE88(HHpHHX88( 999)IIqIIY99 @@ P@hhhxxxhhllppttxxnnrrFJXXX````XxppppxxxXxX``ppxIIIAIIAIIQIQ11AAAiiiAiiqiqiqiqiqAiiA;;77!!!))))!XH88@H@@PHHXxx qaQA1!!1AQaq HPP``phhhhppxxxpttxxttpXXX``hXQaQaQaaqqyyyyqqyyyyq}yy}}}y}}}}yiqqyyyyyyqi}}ȰhP`x`P QQQQQQaaaaaqqqqqa xxx``ppiaQaQiiqqyQQy!MQ!QQ!MP`pxx`H`xxhXP !!!9IQQqiiyQQI9 <`pp`pp``XP@<@<44P`HH00HH`@@PPؘHHqqqq))))))))YQQYYaaYYQQYYaaYT^T^T^T^qayqay8`ppP@0  ( )))!9QqqQ9! LШd0000X0 0  hpppphhhxxxxX````XXXQQQiiiQQQiiiQYYaaiQYYaai)))1111))))1111)999AAAA9   P`p `XX`hXPX  )9IiyyiYI9)dhXX``hhhhxxxxTPPTTXXTlhhllppl|xx|||LHHLLPPLd``ddhhda11))11``!!::!!!!99aAEEIIEEA!!  15599551)--11--)9==AA==9  !!hhP@@P`p aQ9!  !9Qa &ظ 0 @P@@FFJJ&&**A@@ @ QQQQA!!!A1QQQAQQ7;QQQQGGKKG'K+ 00@@PPhX@!1AQQQQQqQAAAAAAA pp8P0ii99p( AA pphTphxxYYYYYYYiiimmm@`pP`pp YYYYY ((hhxxXXHH88aaaaaaaaaa((0HXpȀp` !  !  !Qqq 8hPPPP@@@@HHHHXXXXhhhppp``phaaiiaiiqqyyyyqqqaqaaaqqqqyyyyiiiai9I9H9III9IIIXpи|h@((@Xp 1IayiyaI1 (hHhIIIiiiiQQQQIyyyy))y((8HXhhȨxh yI1)1IyyyyyI1)))) XH``pppPPXXp0 5  ٻX``hh``XppppX``XP`CY`iii``eiiieYddiii`iI99IIYYI9IIYYII9YYaaaYaYiiiqqqqi9))90@Ph`H80 A))AYqqY 6H088XX` xx@X@@@@0@HPHPHH@99iaaaaiiaaaaiYaaiYaaai9Q9QQQa9a9QQQQQiaiaiqqiaiiqqiia0HX`P@0 YQ9119QYiiyyiiyyii 8(88HHX@88@@H@H(hhhh,@HHXX`qqqqqqqqyyyy1IIQQIII)I)!iqqyYYY9991))))1(8HXxȰxxp0((aiiiQA1!1YA11AYY@@00088880Hpppp1111(HH@@@(( 99!YyQQyQ ' ' ********************************************************************* ' D O T - 2 - D O T S ' A Dot-To-Dot Puzzle Game ' for Young Children ' yet another kidprg in GFA Basic from ' D.A. Brumleve ' Copyright 1989 by ST-LOG ' ********************************************************************** ' Version 1.9 ' February 20, 1989 ' ********************************************************************** ' REFERENCE ' ********************************************************************** ' VARIABLES ' Aa% ' Ab% ' Ac% ' Ad% ' Addx$ ' Addx%() ' Addy$ ' Addy%() ' Alrt$ ' Backgrnd% ' Bb% ' C$ ' C% ' Cbutton% ' Cc% ' D$ ' D% ' Dd$ ' Ddd$ ' Dn% ' Dottype% ' Dummy% ' Dur% ' Exi$ ' Foregrnd% ' Game%() ' Ggx% ' Hel$ ' Hh% ' I% ' Ii% ' Jj% ' K% ' Low$ ' Mm% ' Muse$ ' N% ' Nding$ ' Nding% ' New$ ' Nn% ' No_more% ' Nt% ' Num$ ' Numc% ' Oct% ' Oo% ' P$ ' Palette%() ' Pdot% ' Pri$ ' Print_it% ' Recno% ' Record_already_chosen%() ' Reda$ ' Redi$ ' Redj$ ' Redm$ ' Redm1$ ' Redm2$ ' Redmm$ ' Redw$ ' Redww$ ' Redww1$ ' Redww2$ ' Rez% ' Rr% ' Screen$ ' Selector$ ' T$ ' Tt% ' Uc$ ' Uc% ' Upp$ ' Whitea$ ' Whitei$ ' Whitej$ ' Whitem$ ' Whitem1$ ' Whitem2$ ' Whitemm$ ' Whitew$ ' Whiteww$ ' Whiteww1$ ' Whiteww2$ ' Won$ ' X$ ' X%() ' Y$ ' Y%() ' Y1% ' Y2% ' Z$ ' Z% ' Zn% ' ' ********************* INITIALIZE AND SET UP SCREEN ********************** Rez%=Xbios(4) Showm If Rez%<>0 Alrt$=" |This kidprg requires|low resolution." Alert 3,Alrt$,1,"Oops!",Dummy% End Endif If Not Exist("dot2dots.dat") Alert 3," |You must have DOT2DOTS.DAT|on your disk to run this|program!",1," Oops! ",Dummy% Alert 1," |You can use DOTMAKER.PRG to|create a DOT2DOTS.DAT file.",1,"Thanks!",Dummy% End Endif Dim X%(27),Y%(27),Palette%(15),Game%(27),Addx%(100),Addy%(100),Record_already_chosen%(200) @Save_palette Hidem @Black_screen @Mouse_sprite Cls @Main_screen @Clear_arrays D%=1 Numc%=11 Dottype%=1 Nding%=0 Pdot%=0 K%=0 @Load_it Deffill 9 Fill 6,144 Showm ' ' ***************************** MAIN LOOP *************************** Do Mouse Aa%,Bb%,Cbutton% If Cbutton%>0 If Aa%>0 And Aa%<50 ' *** exit If Bb%>0 And Bb%<16 Deffill 2 Fill 6,1 @Select_sound Sget Screen$ @Let_go Numc%=2 @Alert_box2 @Alert_box3 Deftext 1,0,0,6 Text 89,85,"Do you really want" Text 88,105," to stop?" @Alert_check If Ab%>74 And Ab%<154 @Finale_sound Cls @R_palette End Else Sput Screen$ Endif Pause 15 Deffill 11 Fill 6,1 Endif ' *** help If Bb%>20 And Bb%<36 Deffill 4 Fill 6,21 @Select_sound @Let_go Sget Screen$ Numc%=4 K%=0 @Help_alert @Help_alert2 @Help1 @Help_alert_check Sput Screen$ Pause 15 Deffill 11 Fill 6,21 Endif ' *** print If Bb%>40 And Bb%<56 Deffill 3 Fill 6,55 @Select_sound Sget Screen$ Pause 15 Numc%=3 @Alert_box2 @Alert_box3 Deftext 1,0,0,6 Text 87,85," Do you want to" Text 88,105,"print this puzzle?" @Alert_check If Ab%>74 And Ab%<154 Print_it%=1 Else Print_it%=0 Endif If Print_it%=1 @Print_it Else Sput Screen$ Endif @Let_go Pdot%=0 Pause 15 Deffill 11 Fill 6,55 Endif ' *** new If Bb%>91 And Bb%<107 Deffill 5 Fill 6,92 @Select_sound @Clear_dot_box @Clear_arrays @Load_it @Let_go Deffill 11 Fill 6,92 Showm Endif ' *** numbered dots If Bb%>143 And Bb%<159 And Dottype%<>1 Deffill 11 Fill 6,164 Fill 6,184 Deffill 9 Fill 6,144 Dottype%=1 @Select_sound @Restore_numbers Showm @Let_go Endif ' *** upper case letters in dots If Bb%>163 And Bb%<179 And Dottype%<>2 Deffill 11 Fill 6,144 Fill 6,184 Deffill 9 Fill 6,164 @Select_sound Dottype%=2 @Restore_numbers Showm @Let_go Endif ' *** lower case letters in dots If Bb%>183 And Bb%<199 And Dottype%<>5 Deffill 11 Fill 6,144 Fill 6,164 Deffill 9 Fill 6,184 @Select_sound Dottype%=3 @Restore_numbers Showm @Let_go Endif Endif ' *** try to guess the next dot If Aa%>60 And Bb%>0 And Aa%<319 And Bb%<199 If Aa%>X%(D%)-8 And Bb%>Y%(D%)-8 And Aa%1 Draw X%(D%-1),Y%(D%-1) To X%(D%),Y%(D%) Endif If Dn%=D% If Nding%=1 Draw X%(Dn%),Y%(Dn%) To X%(1),Y%(1) Deffill 2 Pcircle X%(1),Y%(1),7 Color 1 Circle X%(1),Y%(1),7 Deftext 1,1,0,4 If Dottype%=1 Text X%(1)-3,Y%(1)+2,"1" Endif If Dottype%=2 Text X%(1)-3,Y%(1)+2,"A" Endif If Dottype%=3 Put X%(1)-3,Y%(1)-1,Reda$ Endif Endif Endif Deffill 2 Pcircle X%(D%),Y%(D%),7 Color 1 Circle X%(D%),Y%(D%),7 Deftext 1,1,0,4 If Dottype%=1 If D%=20 Ddd$="2O" Text X%(D%)-6,Y%(D%)+2,Ddd$ Goto Skipit8 Endif If D%=10 Ddd$="1O" Text X%(D%)-6,Y%(D%)+2,Ddd$ Goto Skipit8 Endif If Len(Str$(D%))=1 Tt%=3 Else Tt%=6 Endif Text X%(D%)-Tt%,Y%(D%)+2,D% Skipit8: Endif If Dottype%=2 Uc%=D%+64 Uc$=Chr$(Uc%) If Uc$="M" Put X%(D%)-4,Y%(D%)-2,Redmm$ Goto Skipit5 Endif If Uc$="W" Put X%(D%)-4,Y%(D%)-2,Redww$ Goto Skipit5 Endif Text X%(D%)-3,Y%(D%)+2,Uc$ Skipit5: Endif If Dottype%=3 Uc%=D%+96 Uc$=Chr$(Uc%) If Uc$="a" Put X%(D%)-3,Y%(D%)-1,Reda$ Goto Skip3 Endif If Uc$="m" Put X%(D%)-3,Y%(D%)-1,Redm$ Goto Skip3 Endif If Uc$="i" Put X%(D%)-1,Y%(D%)-3,Redi$ Goto Skip3 Endif If Uc$="j" Put X%(D%)-3,Y%(D%)-3,Redj$ Goto Skip3 Endif If Uc$="w" Put X%(D%)-3,Y%(D%)-1,Redw$ Goto Skip3 Endif Text X%(D%)-3,Y%(D%)+2,Uc$ Skip3: Endif Game%(D%)=1 If D%>1 Pcircle X%(D%-1),Y%(D%-1),7 Circle X%(D%-1),Y%(D%-1),7 Deftext 1,1,0,4 If Dottype%=1 If D%-1=20 Ddd$="2O" Text X%(D%-1)-6,Y%(D%-1)+2,Ddd$ Goto Skipit9 Endif If D%-1=10 Ddd$="1O" Text X%(D%-1)-6,Y%(D%-1)+2,Ddd$ Goto Skipit9 Endif If Len(Str$(D%-1))=1 Tt%=3 Else Tt%=6 Endif Text X%(D%-1)-Tt%,Y%(D%-1)+2,D%-1 Skipit9: Endif If Dottype%=2 Uc%=(D%-1)+64 Uc$=Chr$(Uc%) If Uc$="M" Put X%(D%-1)-4,Y%(D%-1)-2,Redmm$ Goto Skipit6 Endif If Uc$="W" Put X%(D%-1)-4,Y%(D%-1)-2,Redww$ Goto Skipit6 Endif Text X%(D%-1)-3,Y%(D%-1)+2,Uc$ Skipit6: Endif If Dottype%=3 Uc%=(D%-1)+96 Uc$=Chr$(Uc%) If Uc$="a" Put X%(D%-1)-3,Y%(D%-1)-1,Reda$ Goto Skip2 Endif If Uc$="m" Put X%(D%-1)-3,Y%(D%-1)-1,Redm$ Goto Skip2 Endif If Uc$="i" Put X%(D%-1)-1,Y%(D%-1)-3,Redi$ Goto Skip2 Endif If Uc$="j" Put X%(D%-1)-3,Y%(D%-1)-3,Redj$ Goto Skip2 Endif If Uc$="w" Put X%(D%-1)-3,Y%(D%-1)-1,Redw$ Goto Skip2 Endif Text X%(D%-1)-3,Y%(D%-1)+2,Uc$ Skip2: Endif Endif Inc D% If D%>Dn% @Wonit Endif @Let_go Else If Dn%>D%+1 Or Dn%=D% Sound 1,15,3,3,8 Sound 1,15,1,3,16 Sound 1,0,0,0,0 @Let_go Endif Endif Endif Endif Loop ' ' *********************** REWARD FOR COMPLETE DOT-TO-DOT ****************** Procedure Wonit Hidem @Congrats_sound Deffill 11 Pbox 0,0,50,199 Color 1 Box 0,0,50,199 Deftext 1,0,0,6 Text 5,12,"Color" Text 5,22," the" Text 2,32,"Puzzle" Restore Won_data For I%=1 To 8 Read Y1%,Y2%,C% Box 5,Y1%,45,Y2% Deffill C% Pbox 7,Y1%+2,43,Y2%-2 Box 7,Y1%+2,43,Y2%-2 Next I% Deftext 1,0,0,6 Text 9,189,"DONE" Get 0,0,50,199,Won$ Cc%=2 Deffill 2 Fill 6,39 @Clear_numbers @Restore_extra_lines Showm Do Mouse Hh%,Ii%,Jj% Exit If Jj%>0 And Hh%>5 And Hh%<45 And Ii%>178 And Ii%<194 If Jj%>0 And Hh%>5 And Hh%<45 Restore Won_data For I%=1 To 8 Read Y1%,Y2%,C% If Ii%>Y1% And Ii%0 And Hh%>60 And Hh%<319 And Ii%>0 And Ii%<199 If Point(Hh%,Ii%)<>1 @Other_sound Deffill Cc% Fill Hh%,Ii% @Let_go Endif Endif Loop Deffill 9 Fill 6,179 @Select_sound Pause 15 Put 0,0,Selector$ @Restore_numbers Showm @Let_go Return ' ' ******************************** PRINT *********************************** Procedure Print_it @Alert_box1 If Out?(0)=-1 @Black_screen Cls Color 1 If Pdot%=1 ' *** print dots only Deffill 11 Pbox 60,0,319,199 Color 1 Box 60,0,319,199 @Restore_extra_lines @Restore_numbers Get 60,0,319,199,P$ Cls Put 30,0,P$ Setcolor 0,7,7,7 Setcolor 15,0,0,0 Setcolor 10,7,7,7 Hardcopy Else ' *** print lines only Deffill 11 Pbox 60,0,319,199 Color 1 Box 60,0,319,199 @Clear_numbers @Restore_extra_lines Get 60,0,319,199,P$ Cls Put 30,0,P$ Setcolor 0,7,7,7 Setcolor 15,0,0,0 Setcolor 10,7,7,7 Hardcopy Endif @Black_screen Cls Else Numc%=3 K%=0 Pause 15 @Buzz_sound @Help_alert @Help_alert2 @Print_dialog Showm @Help_alert_check Endif Sput Screen$ @Set_color Showm Return ' ' *************************** LOAD AND SELECT DOT-TO-DOT ******************* Procedure Load_it Hidem Open "r",#1,"dot2dots.dat",255 Field #1,1 As Nding$,1 As D$,1 As Z$,100 As Addx$,100 As Addy$,26 As X$,26 As Y$ Rr%=Lof(#1)/255 Recno%=Random(Rr%)+1 No_more%=0 Try_again: For I%=1 To Rr% Exit If Record_already_chosen%(I%)=0 If I%=Rr% And Record_already_chosen%(Rr%)=1 No_more%=1 Endif Exit If No_more%=1 Next I% If No_more%=1 @Clear_records Endif Recno%=Random(Rr%)+1 ' *** make sure this record isn't a repeat: If Record_already_chosen%(Recno%)=1 Goto Try_again Endif Record_already_chosen%(Recno%)=1 Get #1,Recno% Dn%=Asc(D$) Zn%=Asc(Z$) Z%=Zn% Nding%=Asc(Nding$) Color 1 Ggx%=1 For I%=1 To Zn% Addx%(I%)=Asc(Mid$(Addx$,I%,1))+72 Addy%(I%)=Asc(Mid$(Addy$,I%,1))+15 If Ggx%=2 Draw Addx%(I%)-K%,Addy%(I%) To Addx%(I%-1)-K%,Addy%(I%-1) Endif If Ggx%=1 Ggx%=2 Else Ggx%=1 Endif Next I% For I%=1 To Dn% X%(I%)=Asc(Mid$(X$,I%,1))+72 Y%(I%)=Asc(Mid$(Y$,I%,1))+15 Deffill 11 Pcircle X%(I%)-K%,Y%(I%),7 Circle X%(I%)-K%,Y%(I%),7 Deftext 1,1,0,4 If Dottype%=1 If I%=20 Ddd$="2O" Text X%(I%)-6-K%,Y%(I%)+2,Ddd$ Goto Skipit11 Endif If I%=10 Ddd$="1O" Text X%(I%)-6-K%,Y%(I%)+2,Ddd$ Goto Skipit11 Endif If Len(Str$(I%))=1 Tt%=3 Else Tt%=6 Endif Text X%(I%)-Tt%-K%,Y%(I%)+2,I% Skipit11: Endif If Dottype%=2 Uc%=I%+64 Uc$=Chr$(Uc%) If Uc$="M" Put X%(I%)-4-K%,Y%(I%)-2,Whitemm$ Goto Skipit2 Endif If Uc$="W" Put X%(I%)-4-K%,Y%(I%)-2,Whiteww$ Goto Skipit2 Endif Text X%(I%)-3-K%,Y%(I%)+2,Uc$ Skipit2: Endif If Dottype%=3 Uc%=I%+96 Uc$=Chr$(Uc%) If Uc$="a" Put X%(I%)-3-K%,Y%(I%)-1,Whitea$ Goto Skipit Endif If Uc$="m" Put X%(I%)-3-K%,Y%(I%)-1,Whitem$ Goto Skipit Endif If Uc$="i" Put X%(I%)-1-K%,Y%(I%)-3,Whitei$ Goto Skipit Endif If Uc$="j" Put X%(I%)-3-K%,Y%(I%)-3,Whitej$ Goto Skipit Endif If Uc$="w" Put X%(I%)-3-K%,Y%(I%)-1,Whitew$ Goto Skipit Endif Text X%(I%)-3-K%,Y%(I%)+2,Uc$ Skipit: Endif Next I% Close #1 Return ' ' ***************** CLEAR/RESTORE SCREEN AREAS AND VARIABLES *************** Procedure Clear_dot_box Deffill 11 Pbox 61,1,318,198 Return ' Procedure Clear_arrays For I%=1 To 27 X%(I%)=0 Y%(I%)=0 Game%(I%)=0 Next I% For I%=1 To 100 Addx%(I%)=0 Addy%(I%)=0 Next I% D%=1 Dn%=0 Z%=1 Return ' Procedure Clear_numbers Color 1 For I%=1 To Dn% Deffill 11 Pcircle X%(I%)-K%,Y%(I%),7 If I%>1 Draw X%(I%)-K%,Y%(I%) To X%(I%-1)-K%,Y%(I%-1) Endif Next I% If Nding%=1 Draw X%(1)-K%,Y%(1) To X%(Dn%)-K%,Y%(Dn%) Endif Return ' Procedure Restore_extra_lines Ggx%=1 For I%=1 To Z% If Ggx%=2 Draw Addx%(I%)-K%,Addy%(I%) To Addx%(I%-1)-K%,Addy%(I%-1) Endif If Ggx%=1 Ggx%=2 Else Ggx%=1 Endif Next I% Return ' Procedure Clear_records For I%=1 To 200 Record_already_chosen%(I%)=0 Next I% Return ' Procedure Restore_numbers Hidem For I%=1 To Dn% If Game%(I%)=0 Numc%=11 Else Numc%=2 Endif If Pdot%=1 Numc%=11 Endif Deffill Numc% Pcircle X%(I%)-K%,Y%(I%),7 Color 1 Circle X%(I%)-K%,Y%(I%),7 Deftext 1,1,0,4 If Dottype%=1 If I%=20 Ddd$="2O" Text X%(I%)-6-K%,Y%(I%)+2,Ddd$ Goto Skipit10 Endif If I%=10 Ddd$="1O" Text X%(I%)-6-K%,Y%(I%)+2,Ddd$ Goto Skipit10 Endif If Len(Str$(I%))=1 Tt%=3 Else Tt%=6 Endif Text X%(I%)-Tt%-K%,Y%(I%)+2,I% Skipit10: Endif If Dottype%=2 Uc%=I%+64 Uc$=Chr$(Uc%) If Uc$="M" If Numc%=11 Dd$=Whitemm$ Else Dd$=Redmm$ Endif Put X%(I%)-4-K%,Y%(I%)-2,Dd$ Goto Skipit3 Endif If Uc$="W" If Numc%=11 Dd$=Whiteww$ Else Dd$=Redww$ Endif Put X%(I%)-4-K%,Y%(I%)-2,Dd$ Goto Skipit3 Endif Text X%(I%)-3-K%,Y%(I%)+2,Uc$ Skipit3: Endif If Dottype%=3 Uc%=I%+96 Uc$=Chr$(Uc%) If Uc$="a" If Numc%=11 Dd$=Whitea$ Else Dd$=Reda$ Endif Put X%(I%)-3-K%,Y%(I%)-1,Dd$ Goto Skip Endif If Uc$="m" If Numc%=11 Dd$=Whitem$ Else Dd$=Redm$ Endif Put X%(I%)-3-K%,Y%(I%)-1,Dd$ Goto Skip Endif If Uc$="i" If Numc%=11 Dd$=Whitei$ Else Dd$=Redi$ Endif Put X%(I%)-1-K%,Y%(I%)-3,Dd$ Goto Skip Endif If Uc$="j" If Numc%=11 Dd$=Whitej$ Else Dd$=Redj$ Endif Put X%(I%)-3-K%,Y%(I%)-3,Dd$ Goto Skip Endif If Uc$="w" If Numc%=11 Dd$=Whitew$ Else Dd$=Redw$ Endif Put X%(I%)-3-K%,Y%(I%)-1,Dd$ Goto Skip Endif Text X%(I%)-3-K%,Y%(I%)+2,Uc$ Skip: Endif Next I% Return ' ' ************************ COLOR PALETTE ACTIVITIES ********************** Procedure Set_color Setcolor 0,4,4,4 !=Color# 0 Setcolor 15,0,0,0 !=Color# 1--black Setcolor 1,7,0,0 !=Color# 2--red Setcolor 2,0,6,0 !=Color# 3--(print) green Setcolor 4,7,4,0 !=Color# 4--(help) orange Setcolor 6,7,6,0 !=Color# 5--gold Setcolor 3,7,7,0 !=Color# 6--yellow Setcolor 5,0,5,7 !=Color# 7--blue Setcolor 7,4,4,4 !=Color# 8 Setcolor 8,3,3,3 !=Color# 9 Setcolor 9,7,3,3 !=Color# 10 Setcolor 10,7,7,7 !=Color# 11--white Setcolor 12,3,3,7 !=Color# 12 Setcolor 14,3,7,7 !=Color# 13 Setcolor 11,7,7,3 !=Color# 14 Setcolor 13,7,3,7 !=Color# 15 Return ' Procedure Save_palette For I%=0 To 15 Palette%(I%)=Xbios(7,W:I%,W:-1) Next I% Return ' Procedure R_palette For I%=0 To 15 Setcolor I%,Palette%(I%) Next I% Return ' Procedure Black_screen For I%=0 To 15 Setcolor I%,4,4,4 Next I% Return ' ' ************************** WATCH THE MOUSE ************************** Procedure Let_go Repeat Mouse Mm%,Nn%,Oo% Until Oo%=0 Return ' Procedure Mouse_sprite Let Muse$=Mki$(0)+Mki$(0) Let Muse$=Muse$+Mki$(0) Let Muse$=Muse$+Mki$(0) Let Muse$=Muse$+Mki$(15) Restore Mouespite_data For I%=1 To 16 Read Foregrnd%,Backgrnd% Let Muse$=Muse$+Mki$(Backgrnd%)+Mki$(Foregrnd%) Next I% Return ' ' ******************************* SCREENS ***************************** Procedure Main_screen Graphmode 2 Deffill 11 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"o" Draw 15,10 To 15,7 Get 10,7,15,10,Whitea$ Deffill 2 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"o" Draw 15,10 To 15,7 Get 10,7,15,10,Reda$ ' Deffill 11 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"n" Deftext 1,1,0,4 Text 12,10,"n" Color 11 Draw 12,10 To 12,8 Draw 15,12 To 15,8 Get 10,7,18,10,Whitem$ Deffill 2 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"n" Deftext 1,1,0,4 Text 12,10,"n" Color 2 Draw 12,10 To 12,8 Draw 15,12 To 15,8 Get 10,7,17,10,Redm$ ' Deffill 11 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"j" Color 11 Draw 13,7 To 14,7 Get 10,6,14,12,Whitej$ Deffill 2 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"j" Color 2 Draw 13,7 To 14,7 Get 10,6,14,12,Redj$ ' Deffill 11 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"M" Get 10,6,13,10,Whitem1$ Get 12,6,15,10,Whitem2$ Deffill 11 Pbox 0,0,319,199 Put 10,6,Whitem1$ Put 14,6,Whitem2$ Draw 13,9 To 14,9 Draw 12,6 Draw 15,6 Color 11 Draw 12,8 Draw 15,8 Get 10,6,17,10,Whitemm$ ' Deffill 2 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"M" Get 10,6,13,10,Redm1$ Get 12,6,15,10,Redm2$ Deffill 2 Pbox 0,0,319,199 Put 10,6,Redm1$ Put 14,6,Redm2$ Draw 13,9 To 14,9 Draw 12,6 Draw 15,6 Color 2 Draw 12,8 Draw 15,8 Get 10,6,17,10,Redmm$ ' Cls Deffill 11 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"W" Get 10,6,13,10,Whiteww1$ Get 12,6,15,10,Whiteww2$ Pause 200 Deffill 11 Pbox 0,0,319,199 Put 10,6,Whiteww1$ Put 14,6,Whiteww2$ Draw 13,7 To 14,7 Draw 12,10 Draw 15,10 Color 11 Draw 12,8 Draw 15,8 Get 10,6,17,10,Whiteww$ Deffill 2 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"W" Get 10,6,13,10,Redww1$ Get 12,6,15,10,Redww2$ Deffill 2 Pbox 0,0,319,199 Put 10,6,Redww1$ Put 14,6,Redww2$ Draw 13,7 To 14,7 Draw 12,10 Draw 15,10 Color 2 Draw 12,8 Draw 15,8 Get 10,6,17,10,Redww$ ' Deffill 11 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"i" Draw 12,5 To 13,5 Color 11 Draw 11,7 Draw 11,10 Get 12,5,13,10,Whitei$ Deffill 2 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"i" Draw 12,5 To 13,5 Color 2 Draw 11,7 Draw 11,10 Get 12,5,13,10,Redi$ ' Deffill 11 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"w" Draw 17,10 To 17,7 Draw 16,10 To 16,7 Draw 13,7 Color 11 Draw 10,10 Draw 17,10 Draw 12,8 To 12,6 Draw 15,8 To 15,6 Get 10,7,18,10,Whitew$ Deffill 2 Pbox 0,0,319,199 Color 1 Deftext 1,1,0,4 Text 10,10,"w" Draw 17,10 To 17,7 Draw 16,10 To 16,7 Draw 13,7 Color 2 Draw 10,10 Draw 17,10 Draw 12,8 To 12,6 Draw 15,8 To 15,6 Get 10,7,18,10,Redw$ Cls @Title Color 1 Restore Screen_data For I%=1 To 7 Read Y1%,Y2%,C% Deffill 11 Pbox 0,Y1%,50,Y2%+2 Box 0,Y1%,50,Y2%+2 Deffill C% Pbox 2,Y1%+2,48,Y2% Box 2,Y1%+2,48,Y2% Next I% Deftext 1,0,0,6 Text 10,11,"EXIT" Text 10,31,"HELP" Text 6,51,"PRINT" Text 13,102,"NEW" Circle 24,151,7 Circle 24,171,7 Circle 24,191,7 Deftext 1,1,0,4 Text 21,153,"1" Text 21,173,"A" Put 21,190,Whitea$ Box 60,0,319,199 @Clear_dot_box ' get the little boxes for use in the help option Get 0,0,50,16,Exi$ Get 0,20,50,36,Hel$ Get 0,40,50,56,Pri$ Get 0,91,50,107,New$ Get 0,143,50,159,Num$ Get 0,163,50,179,Upp$ Get 0,183,50,199,Low$ Return ' Procedure Title K%=30 Numc%=9 Dottype%=1 @Clear_arrays @Clear_records @Title_alert Deftext 2,1,0,13 Text 115,30,"DOT-TO-DOTS" Deftext 1,0,0,6 T$=" "+Chr$(191) Text 47,50,T$ Text 47,50,"Another KIDPRG in GFA Basic" Deftext 1,0,0,6 Text 89,70,"from D.A. Brumleve" C$=" "+Chr$(189) Text 75,89,C$ Text 75,90," 1988 by" Text 70,130,"As published in ST-Log!" Deftext 1,5,0,6 Text 75,90," ST-LOG" Deftext 1,1,0,4 Text 58,110," VERSION 1.9" Deftext 2,1,0,4 Text 55,150,"A COMPANION PROGRAM, DOTMAKER, WILL" Text 55,160,"ALLOW YOU TO MAKE YOUR OWN PUZZLES." @Help_alert2 @Set_color Showm @Help_alert_check Hidem @Title_alert Deftext 2,1,900,13 Text 25,144,"DOT-TO-DOTS" Deftext 2,1,2700,13 Text 294,58,"DOT-TO-DOTS" @Load_it @Title1 @Clear_records Pause 100 Cls Return ' ' ***************************** TITLE DISPLAY *************************** Procedure Title1 Hidem For I%=1 To Dn% Sprite Muse$,X%(I%)-30,Y%(I%) Pause 5 Sound 1,15,4,4,8 Sound 1,15,1,5,4 Sound 1,0,0,0,0 Sprite Muse$ If I%>1 Draw X%(I%-1)-K%,Y%(I%-1) To X%(I%)-K%,Y%(I%) Endif Deffill 2 Pcircle X%(I%)-K%,Y%(I%),7 Color 1 Circle X%(I%)-K%,Y%(I%),7 Deftext 1,1,0,4 If I%=20 Ddd$="2O" Text X%(I%)-6-K%,Y%(I%)+2,Ddd$ Goto Skipit13 Endif If I%=10 Ddd$="1O" Text X%(I%)-6-K%,Y%(I%)+2,Ddd$ Goto Skipit13 Endif If Len(Str$(I%))=1 Tt%=3 Else Tt%=6 Endif Text X%(I%)-Tt%-K%,Y%(I%)+2,I% Skipit13: If I%>1 Pcircle X%(I%-1)-K%,Y%(I%-1),7 Circle X%(I%-1)-K%,Y%(I%-1),7 Deftext 1,1,0,4 If I%-1=20 Ddd$="2O" Text X%(I%-1)-6-K%,Y%(I%-1)+2,Ddd$ Goto Skipit12 Endif If I%-1=10 Ddd$="1O" Text X%(I%-1)-6-K%,Y%(I%-1)+2,Ddd$ Goto Skipit12 Endif If Len(Str$(I%-1))=1 Tt%=3 Else Tt%=6 Endif Text X%(I%-1)-Tt%-K%,Y%(I%-1)+2,I%-1 Skipit12: Endif Pause 10 Game%(I%)=1 Next I% Sprite Muse$ If Nding%=1 Color 1 Draw X%(Dn%)-30,Y%(Dn%) To X%(1)-30,Y%(1) Deffill 2 Pcircle X%(1)-30,Y%(1),7 Pcircle X%(Dn%)-30,Y%(Dn%),7 Color 1 Circle X%(1)-30,Y%(1),7 Circle X%(Dn%)-30,Y%(Dn%),7 If Len(Str$(Dn%))=1 Tt%=3 Else Tt%=6 Endif Deftext 1,1,0,4 Text X%(1)-33,Y%(1)+2,"1" Text X%(Dn%)-Tt%-30,Y%(Dn%)+2,Dn% Pause 10 Endif Pause 100 @Clear_numbers @Restore_extra_lines Sprite Muse$,33,3 Pause 5 Cc%=Random(6)+2 If Cc%=5 Or Cc%=7 Cc%=12 Endif If Cc%=8 Cc%=9 Endif @Other_sound Sprite Muse$ Deffill Cc% Fill 33,3 @Restore_numbers Pause 150 Return ' ' ***************************** DIALOGS ******************************* Procedure Help1 Put 66,12,Exi$ Put 66,35,Hel$ Put 66,58,Pri$ Put 66,81,New$ Put 66,104,Num$ Put 66,127,Upp$ Put 66,150,Low$ Deftext 1,0,0,6 Text 117,18,"Click EXIT to quit the" Text 117,28,"program." Text 117,41,"Click HELP to see this" Text 117,51,"screen." Text 117,64,"Click PRINT to print a" Text 117,74,"puzzle." Text 117,87,"Click NEW to start a" Text 117,97,"new puzzle." Text 117,110,"This option puts numbers" Text 117,120,"in the dots." Text 117,133,"This option puts upper-" Text 117,143,"case letters in the dots." Text 117,156,"This option puts lower-" Text 117,166,"case letters in the dots." Return ' Procedure Alert_box1 @Alert_box2 Deffill 11 Pbox 74,80,154,120 Pbox 165,80,245,120 Color 1 Box 74,80,154,120 Box 75+1,81+1,153-1,119-1 Box 165,80,245,120 Box 166+1,81+1,244-1,119-1 Deftext 1,0,0,6 Text 78,135,"Dots Only" Text 166,135,"Lines Only" Text 135,70,"Print:" Draw 175+3,90 To 235-3,100 Draw 235-3,100 To 200,110 Draw 200,110 To 175+3,90 Circle 84+3,90,7 Circle 144-3,100,7 Circle 109,110,7 Deftext 1,1,0,4 If Dottype%=1 Text 84,90+2,"1" Text 144-6,102,"2" Text 106,112,"3" Endif If Dottype%=2 Text 84,90+2,"A" Text 144-6,102,"B" Text 106,112,"C" Endif If Dottype%=3 Put 84,90-1,Whitea$ Text 144-6,102,"b" Text 106,112,"c" Endif Repeat Mouse Ab%,Ac%,Ad% Until Ad%>0 And Ac%>80 And Ac%<120 And ((Ab%>74 And Ab%<154) Or (Ab%>165 And Ab%<245)) @Let_go If Ab%>74 And Ab%<154 Deffill 3 Fill 75,81 Pdot%=1 Else Deffill 3 Fill 166,81 Pdot%=0 Endif @Alert_sound Pause 15 Return ' Procedure Alert_box2 Deffill 11 Pbox 65,50,254,149 Color 1 Box 65,50,254,149 Box 66,51,253,148 Box 68,53,251,146 Deffill Numc% Pbox 69,54,250,145 Return ' Procedure Alert_box3 Deffill 11 Pbox 74,124,154,140 Pbox 165,124,245,140 Color 1 Box 74,124,154,140 Box 76,126,152,138 Box 165,124,245,140 Box 167,126,243,138 Deftext 1,0,0,6 Text 100,135,"Yes." Text 195,135,"No." Return ' Procedure Alert_check Repeat Mouse Ab%,Ac%,Ad% Until Ad%>0 And Ac%>124 And Ac%<140 And ((Ab%>74 And Ab%<154) Or (Ab%>165 And Ab%<245)) Deffill Numc% If Ab%>74 And Ab%<154 Fill 75,125 Else Fill 166,125 Endif @Alert_sound Pause 15 @Let_go Return ' Procedure Title_alert Color 1 Box 30,0,289,199 Box 31,1,288,198 Deffill 11 Pbox 32,2,287,197 Return ' Procedure Help_alert Deffill 11 Pbox 61,1,318,198 Color 1 Box 61,1,318,198 Deffill Numc% Pbox 63,3,316,196 Box 63,3,316,196 Return ' Procedure Help_alert2 Deffill 11 Pbox 100-K%,175,279-K%,191 Color 1 Box 61-K%,1,318-K%,198 Box 100-K%,175,279-K%,191 Box 102-K%,177,277-K%,189 Deftext 1,0,0,6 Text 117-K%,186," CONTINUE" Return ' Procedure Help_alert_check Repeat Mouse Ab%,Ac%,Ad% Until Ad%>0 And Ac%>175 And Ac%<191 And Ab%>100-K% And Ab%<279-K% Deffill Numc% Fill 101-K%,176 @Alert_sound Pause 15 @Let_go Return ' Procedure Print_dialog Deftext 1,0,0,6 Text 66,68," Something is wrong!" Text 66,88," Is your printer on?" Text 69,108," Is it connected to" Text 69,118," your computer?" Return ' ' ******************************* SOUNDS ********************************* Procedure Congrats_sound Get 0,0,50,199,Selector$ Deffill 0 Deftext 2,0,0,32 For I%=1 To 5 Pbox 0,0,50,199 Text 20,45,"W" Sound 1,15,1,4,8 Text 20,105,"O" Sound 1,15,5,4,8 Text 20,165,"W" Sound 1,15,8,4,8 Sound 1,0,0,0,8 Next I% Pause 200 Put 0,0,Selector$ Return ' Procedure Select_sound Sound 1,15,6,3,2 Sound 1,15,6,4,2 Sound 1,15,8,4,6 Sound 1,0,0,0,0 Return ' Procedure Other_sound Sound 1,15,6,4,2 Sound 1,15,1,4,5 Sound 1,0,0,0,0 Return ' Procedure Buzz_sound Sound 1,15,1,1,10 Sound 1,0,0,0,0 Return ' Procedure Finale_sound Hidem Pause 15 Restore Finale_data Read N% For I%=1 To N% Read Nt%,Oct%,Dur% Sound 1,15,Nt%,Oct%,Dur% Sound 1,0,0,0,0 Pause 5 Next I% Return ' Procedure Alert_sound Sound 1,15,10,3,2 Sound 1,0,0,0,0 Return ' ' ******************************* DATA ******************************** Finale_data: Data 7 Data 6,4,16 Data 1,4,8 Data 1,4,8 Data 3,4,16 Data 1,4,32 Data 5,4,16 Data 6,4,64 ' Screen_data: ' exit: Data 0,14,2 ' help: Data 20,34,4 ' print: Data 40,54,3 ' new: Data 91,105,5 ' numbers: Data 143,157,11 ' uppercase: Data 163,177,11 ' lowercase: Data 183,197,11 ' Won_data: Data 38,54,2 Data 58,74,3 Data 78,94,4 Data 98,114,6 Data 118,134,9 Data 138,154,12 Data 158,174,11 Data 178,194,11 ' Mouespite_data: Data 0,49152,16384,40960,24576,36864,28672,34816,30720,33792,31744,33280,32256,33024,32512,32896 Data 32640,32832,31744,33760,27648,37376,17920,43264,1536,51456,768,33920,768,1152,0,896 ' ' ********************************************************************* ' D O T M A K E R ' Puzzle Editor for DOT-TO-DOTS ' yet another kidprg in GFA Basic from ' D.A. Brumleve ' Copyright 1989 by ST-LOG ' ********************************************************************** ' Version 3.2 ' February 21, 1989 ' ********************************************************************** ' REFERENCE ' ********************************************************************** ' VARIABLES ' Aa% ' Ab% ' Ac% ' Ad% ' Addx$ ' Addx%() ' Addxx$ ' Addy$ ' Addy%() ' Addyy$ ' Adx%() ' Ady%() ' Alrt$ ' Bb% ' C$ ' C% ' Cc% ' Ch% ' Ch1% ' D$ ' D% ' Ddd$ ' Dn% ' Dot_mode% ' Dummy% ' Dur% ' Edit_option$ ' Got_dot% ' Grid$ ' Hh% ' I% ' Ii% ' J% ' Jj% ' Just_starting% ' K% ' Lnumber% ' Lsuccess% ' Main_option$ ' Main_screen$ ' Mm% ' N% ' Nding$ ' Nding% ' Nn% ' No_dot% ' Nt% ' Numc% ' Oct% ' Oo% ' P$ ' Palette%() ' Pdot% ' Recno% ' Rez% ' Rr% ' Screen$ ' T$ ' Temp_grid$ ' Tt% ' Ttt% ' Undo$ ' X$ ' X%() ' Xd% ' Xx$ ' Y$ ' Y%() ' Y1% ' Y2% ' Yd% ' Yy$ ' Z$ ' Z% ' Zn% ' Zz% ' ' ********************* INITIALIZE AND SET UP SCREEN ********************** Sget Screen$ Rez%=Xbios(4) If Rez%<>0 Alrt$=" |This kidprg requires|low resolution." Alert 3,Alrt$,1,"Oops!",Dummy% End Endif Hidem Defmouse 0 Dim X%(27),Y%(27),Palette%(15),Addx%(100),Addy%(100),Ady%(100),Adx%(100) @Save_palette @Black_screen Cls Graphmode 2 @Main_screen Cls @Edit_screen Cls @Title Cls Sput Main_screen$ D%=1 Nding%=0 Lnumber%=0 Z%=1 Zz%=1 Defmouse 0 Showm ' ' ***************************** MAIN LOOP *************************** Do Mouse Aa%,Bb%,Cc% Vsync If Cc%>0 If Aa%>0 And Aa%<50 ' *** exit If Bb%>0 And Bb%<16 Deffill 2 Fill 6,1 Sget Screen$ Numc%=2 @Select_sound @Alert_box2 @Alert_box3 Deftext 1,0,0,6 Text 89,85,"Do you really want" Text 88,105," to stop?" @Alert_check If Ab%>74 And Ab%<154 Pause 15 @Finale_sound Cls @R_palette End Else Sput Screen$ Pause 15 Deffill 11 Fill 6,1 Endif Endif ' *** help If Bb%>19 And Bb%<35 Deffill 4 Fill 6,34 @Select_sound Sget Screen$ Numc%=4 K%=0 @Help_alert @Help_alert2 @Help1 @Help_alert_check Sput Screen$ Pause 15 Deffill 11 Fill 6,34 Endif ' *** print If Bb%>38 And Bb%<54 And X%(1)<>0 Sget Screen$ Deffill 3 Fill 1,39 @Select_sound Numc%=3 @Alert_box2 @Alert_box3 Deftext 1,0,0,6 Text 87,85," Do you want to" Text 88,105,"print this puzzle?" @Alert_check If Ab%>74 And Ab%<154 @Print_it Else Sput Screen$ Endif @Let_go Pdot%=0 Pause 15 Endif ' *** save If Bb%>130 And Bb%<146 If X%(D%-1)<>0 Sget Screen$ Deffill 5 Fill 1,131 @Select_sound @Let_go Numc%=5 @Connect_q @Alert_box2 @Alert_box3 Deftext 1,0,0,6 Text 87,85," Do you want to" Text 84,105," save this puzzle?" @Alert_check If Ab%>74 And Ab%<154 @Save_it Endif Sput Screen$ Pause 15 Endif Endif ' *** load If Bb%>164 And Bb%<180 Sget Screen$ Deffill 14 Fill 1,165 @Select_sound Pause 15 @Let_go @Clear_arrays Inc Lnumber% @Load_it Pause 15 Sput Screen$ If Lsuccess%=1 @Clear_dot_box @Restore_extra_lines2 @Redraw_pic Endif Showm Endif ' *** edit If Bb%>74 And Bb%<90 Hidem @Make_mouse Defmouse Cross$ Deffill 9 Fill 1,75 @Select_sound @Let_go Pause 15 Put 0,0,Edit_option$ Deffill 5 Fill 1,75 Just_starting%=1 Dot_mode%=1 Showm @Place_dots Hidem Defmouse 0 Showm Put 0,0,Main_option$ Endif ' *** new If Bb%>183 And Bb%<199 Deffill 12 Fill 1,184 @Select_sound @Clear_arrays @Erase_sound Pause 15 Sput Main_screen$ Endif Endif Endif Loop ' ' ******************************* EDITOR ****************************** Procedure Place_dots Do @Let_go Repeat Mouse Aa%,Bb%,Cc% Until Cc%>0 Exit If Aa%>0 And Aa%<50 And Bb%>0 And Bb%<16 If Aa%>0 And Aa%<50 ' *** undo If Bb%>183 And Bb%<199 And Just_starting%=0 Deffill 6 Fill 1,184 @Select_sound Put 60,0,Temp_grid$ If Dot_mode%=1 X%(D%-1)=0 Y%(D%-1)=0 Dec D% Else If Zz%=1 Z%=Z%-2 Else Z%=Z%-1 Endif Zz%=1 Endif Pause 15 Put 0,183,Undo$ Just_starting%=1 Goto No_dot Endif ' *** alter a dot If Bb%>93 And Bb%<109 And X%(D%-1)<>0 Deffill 13 Fill 1,94 @Select_sound @Let_go Sget Screen$ Deftext 1,1,0,4 Text 72,196," CLICK ON THE DOT YOU WANT TO CHANGE." @Determine_dot Sget Screen$ Hidem Defmouse 0 Showm @Alert_box4 @Alert_check2 Hidem Defmouse Cross$ Showm Sput Screen$ If Ab%>103 And Ab%<183 @Replace_dots @Clear_dot_box @Restore_extra_lines2 @Redraw_pic @Let_go Else @Delete_dots Endif Clr Temp_grid$ Just_starting%=1 @Let_go Deffill 11 Fill 1,94 Goto No_dot Endif ' *** show If Bb%>19 And Bb%<35 And X%(1)<>0 Hidem Deffill 3 Fill 6,20 @Select_sound Sget Screen$ Numc%=3 Show%=1 @Alert_box2 @Alert_box3 Deftext 1,0,0,6 Text 87,85," Do you want to" Text 86,105," see this puzzle?" Defmouse 0 Showm @Alert_check If Ab%>74 And Ab%<154 @Show_it Endif Hidem Defmouse Cross$ Showm Sput Screen$ @Let_go Pdot%=0 Show%=0 Pause 15 Deffill 11 Fill 6,20 Endif ' *** dot mode If Bb%>74 And Bb%<90 And Dot_mode%=0 Put 0,0,Edit_option$ Deffill 5 Fill 1,75 @Select_sound Dot_mode%=1 Just_starting%=1 Clr Temp_grid$ Goto No_dot Endif ' *** line mode If Bb%>130 And Bb%<146 And Dot_mode%=1 Put 0,0,Edit_option$ Deffill 10 Fill 1,131 @Select_sound Dot_mode%=0 Just_starting%=1 Clr Temp_grid$ Goto No_dot Endif Endif ' *** in the grid area in line mode If Aa%>60 And Bb%>0 And Aa%<319 And Bb%<199 And Dot_mode%=0 If Aa%>71 And Bb%>15 And Aa%<305 And Bb%<185 And Dot_mode%=0 @Let_go If Z%<101 If Zz%=1 Get 60,0,319,199,Temp_grid$ Endif Color 2 Draw Aa%,Bb% Adx%(Z%)=Aa% Ady%(Z%)=Bb% Just_starting%=0 If Zz%=2 Draw Adx%(Z%-1),Ady%(Z%-1) To Aa%,Bb% Addx%(Z%)=Aa% Addy%(Z%)=Bb% Addx%(Z%-1)=Adx%(Z%-1) Addy%(Z%-1)=Ady%(Z%-1) Endif Inc Z% If Zz%=1 Zz%=2 Else Zz%=1 Endif @Other_sound Else Hidem Sget Screen$ Deftext 1,1,0,4 Text 72,196," WHOOPS! YOU ALREADY HAVE 5O LINES!" @Buzz_sound Pause 100 Sput Screen$ Showm Endif Else @Dud_sound Endif Goto No_dot Endif ' *** in the grid area in dot mode If Aa%>60 And Bb%>0 And Aa%<319 And Bb%<199 And Dot_mode%=1 If Aa%>71 And Bb%>15 And Aa%<305 And Bb%<185 And Dot_mode%=1 If D%<27 Xd%=Aa% Yd%=Bb% No_dot%=0 If D%>1 For I%=1 To D%-1 If Abs(X%(I%)-Xd%)<16 And Abs(Y%(I%)-Yd%)<16 No_dot%=1 Endif Exit If No_dot%=1 Next I% If Abs(X%(I%)-Xd%)<16 And Abs(Y%(I%)-Yd%)<16 Hidem Sget Screen$ Deftext 1,1,0,4 Text 76,196," THAT'S TOO CLOSE TO ANOTHER DOT!" @Dud_sound Pause 100 Sput Screen$ Showm Goto No_dot Endif Endif Sound 1,15,4,4,8 Sound 1,15,1,5,4 Sound 1,0,0,0,0 Color 1 Deffill 11 Get 60,0,319,199,Temp_grid$ X%(D%)=Aa% Y%(D%)=Bb% If D%>1 Draw X%(D%-1),Y%(D%-1) To X%(D%),Y%(D%) Endif Pcircle X%(D%),Y%(D%),7 Circle X%(D%),Y%(D%),7 If D%=20 Ddd$="2O" Text X%(D%)-6,Y%(D%)+2,Ddd$ Goto No_dot2 Endif If D%=10 Ddd$="1O" Text X%(D%)-6,Y%(D%)+2,Ddd$ Goto No_dot2 Endif If Len(Str$(D%))=1 Tt%=3 Else Tt%=6 Endif Deftext 1,1,0,4 Text X%(D%)-Tt%,Y%(D%)+2,D% No_dot2: If D%>1 I%=D%-1 Pcircle X%(D%-1),Y%(D%-1),7 Circle X%(D%-1),Y%(D%-1),7 If I%=20 Ddd$="2O" Text X%(I%)-6,Y%(I%)+2,Ddd$ Goto No_dot3 Endif If I%=10 Ddd$="1O" Text X%(I%)-6,Y%(I%)+2,Ddd$ Goto No_dot3 Endif If Len(Str$(D%-1))=1 Tt%=3 Else Tt%=6 Endif Text X%(D%-1)-Tt%,Y%(D%-1)+2,D%-1 Endif No_dot3: Inc D% Just_starting%=0 Else Hidem Sget Screen$ Deftext 1,1,0,4 Text 76,196," WHOOPS! YOU ALREADY HAVE 26 DOTS!" @Buzz_sound Pause 100 Sput Screen$ Showm Endif Else @Dud_sound Endif Endif No_dot: Loop Deffill 9 Fill 1,1 @Select_sound @Let_go If Zz%=2 Zz%=1 Put 60,0,Temp_grid$ Endif Pause 15 Return ' ' ****************************** DETERMINE DOT **************************** Procedure Determine_dot Got_dot%=0 Again: Repeat Mouse Hh%,Ii%,Jj% Until Jj%>0 And Hh%>64 And Ii%>8 And Hh%<312 And Ii%<192 @Let_go For I%=1 To D%-1 If Hh%>X%(I%)-7 And Hh%Y%(I%)-7 And Ii%1 For Ttt%=J% To D%-1 X%(Ttt%)=X%(Ttt%+1) Y%(Ttt%)=Y%(Ttt%+1) Next Ttt% Endif D%=D%-1 @Clear_dot_box @Restore_extra_lines2 @Redraw_pic Return ' ' ******************************** REPLACE DOTS **************************** Procedure Replace_dots Deffill 11 Pcircle X%(J%),Y%(J%),7 Color 1 Circle X%(J%),Y%(J%),7 Try2: Deftext 1,1,0,4 Text 72,196," CLICK ON THE GRID FOR A NEW DOT." Repeat Mouse Aa%,Bb%,Cc% Until Cc%>0 And Aa%>71 And Bb%>15 And Aa%<305 And Bb%<185 No_dot%=0 For I%=1 To D%-1 If Abs(X%(I%)-Aa%)<16 And Abs(Y%(I%)-Bb%)<16 No_dot%=1 Endif If I%=J% No_dot%=0 Endif Exit If No_dot%=1 Next I% If No_dot%=1 Hidem Deffill 11,2,8 Pbox 61,188,318,198 Deftext 1,1,0,4 Text 76,196," THAT'S TOO CLOSE TO ANOTHER DOT!" @Dud_sound Pause 100 Deffill 11,2,8 Pbox 61,188,318,198 Showm Goto Try2 Endif @Let_go Sound 1,15,4,4,8 Sound 1,15,1,5,4 Sound 1,0,0,0,0 X%(J%)=Aa% Y%(J%)=Bb% Return ' ' *************************** DISK ACTIVITIES *************************** Procedure Load_it If Exist("dot2dots.dat") Hidem Open "r",#1,"dot2dots.dat",255 Field #1,1 As Nding$,1 As D$,1 As Z$,100 As Addx$,100 As Addy$,26 As X$,26 As Y$ Rr%=Lof(#1)/255 If Lnumber%>Rr% Lnumber%=1 Endif Get #1,Lnumber% Dn%=Asc(D$) Zn%=Asc(Z$) Nding%=Asc(Nding$) Color 1 For I%=1 To Zn% Addx%(I%)=Asc(Mid$(Addx$,I%,1))+72 Addy%(I%)=Asc(Mid$(Addy$,I%,1))+15 Next I% For I%=1 To Dn% X%(I%)=Asc(Mid$(X$,I%,1))+72 Y%(I%)=Asc(Mid$(Y$,I%,1))+15 Next I% Close #1 D%=Dn%+1 Z%=Zn%+1 Lsuccess%=1 Else Numc%=14 K%=0 Pause 15 @Buzz_sound @Help_alert @Help_alert2 @Load_dialog Showm @Help_alert_check Lsuccess%=0 Endif Return ' Procedure Save_it Hidem Xx$="" Yy$="" Addxx$="" Addyy$="" X$=String$(26,0) Y$=X$ Addx$=String$(100,0) Addy$=Addx$ For I%=1 To 100 Addxx$=Addxx$+Chr$(Addx%(I%)-72) Addyy$=Addyy$+Chr$(Addy%(I%)-15) Next I% For I%=1 To D%-1 Xx$=Xx$+Chr$(X%(I%)-72) Yy$=Yy$+Chr$(Y%(I%)-15) Next I% Open "r",#1,"dot2dots.dat",255 Field #1,1 As Nding$,1 As D$,1 As Z$,100 As Addx$,100 As Addy$,26 As X$,26 As Y$ Recno%=(Lof(#1)/255)+1 If Dfree(0)>(Recno%)*255 Lset Nding$=Chr$(Nding%) Lset D$=Chr$(D%-1) Lset Z$=Chr$(Z%-1) Lset Addx$=Addxx$ Lset Addy$=Addyy$ Lset X$=Xx$ Lset Y$=Yy$ Put #1,Recno% Close #1 Showm Else Close #1 Numc%=6 K%=0 Pause 15 @Buzz_sound @Help_alert @Help_alert2 @Save_dialog Showm @Help_alert_check Endif Return ' ' ***************** CLEAR/RESTORE SCREEN AREAS AND VARIABLES *************** Procedure Clear_dot_box Deffill 11 Pbox 61,1,318,198 Put 60,0,Grid$ Return ' Procedure Clear_arrays For I%=1 To 27 X%(I%)=0 Y%(I%)=0 Next I% For I%=1 To 100 Addx%(I%)=0 Addy%(I%)=0 Next I% D%=1 Dn%=0 Zn%=0 Z%=1 Return ' Procedure Clear_numbers Color 1 For I%=1 To D%-1 Deffill 11 Pcircle X%(I%),Y%(I%),7 Next I% For I%=2 To D%-1 Draw X%(I%-1),Y%(I%-1) To X%(I%),Y%(I%) Next I% If Nding%=1 Draw X%(1),Y%(1) To X%(D%-1),Y%(D%-1) Endif Return ' Procedure Restore_extra_lines If Z%>1 For I%=2 To Z% Step 2 Color 1 Draw Addx%(I%-1),Addy%(I%-1) To Addx%(I%),Addy%(I%) Next I% Endif Return ' Procedure Restore_extra_lines2 If Z%>1 For I%=2 To Z% Step 2 Color 2 Draw Addx%(I%-1),Addy%(I%-1) To Addx%(I%),Addy%(I%) Next I% Endif Return ' Procedure Restore_numbers For I%=1 To D%-1 Deffill 11 Pcircle X%(I%),Y%(I%),7 Color 1 Circle X%(I%),Y%(I%),7 Deftext 1,1,0,4 If I%=10 Text X%(I%)-6,Y%(I%)+2,"1O" Goto Did_it1 Endif If I%=20 Text X%(I%)-6,Y%(I%)+2,"2O" Goto Did_it1 Endif If Len(Str$(I%))=1 Tt%=3 Else Tt%=6 Endif Text X%(I%)-Tt%,Y%(I%)+2,I% Did_it1: Next I% Return ' Procedure Redraw_pic If D%-1>0 For I%=1 To D%-1 If I%>1 Color 1 Draw X%(I%),Y%(I%) To X%(I%-1),Y%(I%-1) Endif Next I% For I%=1 To D%-1 Deffill 11 Pcircle X%(I%),Y%(I%),7 Color 1 Circle X%(I%),Y%(I%),7 Deftext 1,1,0,4 If I%=10 Text X%(I%)-6,Y%(I%)+2,"1O" Goto Did_it Endif If I%=20 Text X%(I%)-6,Y%(I%)+2,"2O" Goto Did_it Endif If Len(Str$(I%))=1 Tt%=3 Else Tt%=6 Endif Text X%(I%)-Tt%,Y%(I%)+2,I% Did_it: Next I% Endif Return ' ' ***************************** SCREENS ********************************** Procedure Main_screen Deffill 11 Pbox 0,0,319,199 Deffill 7,3,12 Fill 72,16 Get 72,16,304,184,Grid$ Cls Deffill 1,2,8 @Clear_dot_box Graphmode 2 Color 1 Restore Screen_data For I%=1 To 7 Read Y1%,Y2%,C% Deffill 11 Pbox 0,Y1%,50,Y2%+2 Box 0,Y1%,50,Y2%+2 Deffill C% Pbox 2,Y1%+2,48,Y2% Box 2,Y1%+2,48,Y2% Next I% Deftext 1,0,0,6 Text 10,11,"EXIT" Text 10,30,"HELP" Text 6,49,"PRINT" Text 10,85,"EDIT" Text 10,141,"SAVE" Text 9,175,"LOAD" Text 6,194,"BLANK" Deffill 11 Pbox 60,0,319,199 Color 1 Box 60,0,319,199 Put 72,16,Grid$ Get 60,0,319,199,Grid$ Get 0,0,50,199,Main_option$ Sget Main_screen$ Return ' Procedure Edit_screen Color 1 Restore Screen2_data For I%=1 To 6 Read Y1%,Y2%,C% Deffill 11 Pbox 0,Y1%,50,Y2%+2 Box 0,Y1%,50,Y2%+2 Deffill C% Pbox 2,Y1%+2,48,Y2% Box 2,Y1%+2,48,Y2% Next I% Deftext 1,0,0,6 Text 10,11,"DONE" Text 13,85,"DOT" Text 9,30,"SHOW" Text 6,104,"ALTER" Text 10,141,"LINE" Text 10,194,"UNDO" Get 0,183,50,199,Undo$ Get 0,0,50,199,Edit_option$ Return ' Procedure Title K%=30 Numc%=9 @Clear_arrays @Title_alert Deftext 2,1,0,13 Text 98,30,"D O T M A K E R" Deftext 1,0,0,6 T$=" "+Chr$(191) Text 47,50,T$ Text 47,50,"Another KIDPRG in GFA Basic" Deftext 1,0,0,6 Text 89,70,"from D.A. Brumleve" C$=" "+Chr$(189) Text 75,89,C$ Text 75,90," 1988 by" Text 70,130,"As published in ST-Log!" Deftext 1,5,0,6 Text 75,90," ST-LOG" Deftext 1,1,0,4 Text 58,110," VERSION 3.2" Deftext 2,1,0,4 Text 45,150,"PUZZLE FILES CREATED WITH THIS PROGRAM" Text 43,160,"CAN BE USED WITH THE GAME, DOT-TO-DOTS." @Help_alert2 @Set_color Showm @Help_alert_check Hidem Return ' ' ************************ COLOR PALETTE ACTIVITIES ********************** Procedure Set_color Setcolor 0,4,4,4 !=Color# 0 Setcolor 15,0,0,0 !=Color# 1--black Setcolor 1,7,0,0 !=Color# 2--red Setcolor 2,0,6,0 !=Color# 3--(print) green Setcolor 4,7,4,0 !=Color# 4--(help) orange Setcolor 6,7,6,0 !=Color# 5--gold Setcolor 3,7,0,7 !=Color# 6 Setcolor 5,0,5,7 !=Color# 7--blue Setcolor 7,5,5,5 !=Color# 8 Setcolor 8,3,3,3 !=Color# 9 Setcolor 9,7,3,3 !=Color# 10 Setcolor 10,7,7,7 !=Color# 11--white Setcolor 12,3,3,7 !=Color# 12 Setcolor 14,5,4,7 !=Color# 13 Setcolor 11,7,3,5 !=Color# 14 Setcolor 13,0,5,0 !=Color# 15 Return ' Procedure Black_screen For I%=0 To 15 Setcolor I%,4,4,4 Next I% Return ' Procedure Save_palette For I%=0 To 15 Palette%(I%)=Xbios(7,W:I%,W:-1) Next I% Return ' Procedure R_palette For I%=0 To 15 Setcolor I%,Palette%(I%) Next I% Return ' ' ************************** MOUSE ACTIVITIES *************************** Procedure Let_go Repeat Mouse Mm%,Nn%,Oo% Until Oo%=0 Return ' Procedure Make_mouse Let Cross$=Mki$(7)+Mki$(8) Let Cross$=Cross$+Mki$(0) Let Cross$=Cross$+Mki$(11) Let Cross$=Cross$+Mki$(1) Restore Ms_data For I%=1 To 16 Read Backgrnd% Let Cross$=Cross$+Mki$(Backgrnd%) Next I% For I%=1 To 16 Read Foregrnd% Let Cross$=Cross$+Mki$(Foregrnd%) Next I% Return ' ' ******************************* DIALOGS ******************************* Procedure Alert_box1 @Alert_box2 Deffill 11 Pbox 74,80,154,120 Pbox 165,80,245,120 Color 1 Box 74,80,154,120 Box 75+1,81+1,153-1,119-1 Box 165,80,245,120 Box 166+1,81+1,244-1,119-1 Deftext 1,0,0,6 Text 78,135,"Dots Only" Text 166,135,"Lines Only" If Show%=1 Text 137,70," See:" Else Text 137,70,"Print:" Endif Draw 178,90 To 232,100 Draw 232,100 To 200,110 Draw 200,110 To 178,90 Circle 87,90,7 Circle 141,100,7 Circle 109,110,7 Deftext 1,1,0,4 Text 84,92,"1" Text 138,102,"2" Text 106,112,"3" Repeat Mouse Ab%,Ac%,Ad% Until Ad%>0 And Ac%>80 And Ac%<120 And ((Ab%>74 And Ab%<154) Or (Ab%>165 And Ab%<245)) @Let_go If Ab%>74 And Ab%<154 Deffill 3 Fill 75,81 Pdot%=1 Else Deffill 3 Fill 166,81 Pdot%=0 Endif @Alert_sound Pause 15 Return ' Procedure Alert_box2 Deffill 11 Pbox 65,50,254,149 Color 1 Box 65,50,254,149 Box 66,51,253,148 Box 68,53,251,146 Deffill Numc% Pbox 69,54,250,145 Return ' Procedure Alert_box3 Ch%=0 Ch1%=0 Deffill 11 Pbox 74,124,154,140 Pbox 165,124,245,140 Color 1 Box 74,124,154,140 Box 76,126,152,138 Box 165,124,245,140 Box 167,126,243,138 Deftext 1,0,0,6 Text 100,135,"Yes." Text 195,135,"No." Return ' Procedure Alert_box4 Ch%=59 Ch1%=29 Deffill 11 Pbox 103,185,183,199 Pbox 194,185,274,199 Color 1 Box 103,185,183,199 Box 105,187,181,197 Box 194,185,274,199 Box 196,187,272,197 Deftext 1,0,0,6 Text 114,195,"Replace." Text 209,195,"Remove." Return ' Procedure Alert_check Repeat Mouse Ab%,Ac%,Ad% Until Ad%>0 And Ac%>124+Ch% And Ac%<140+Ch% And ((Ab%>74+Ch1% And Ab%<154+Ch1%) Or (Ab%>165+Ch1% And Ab%<245+Ch1%)) Deffill Numc% If Ch%=59 Ch%=61 Endif If Ab%>74+Ch1% And Ab%<154+Ch1% Fill 75+Ch1%,125+Ch% Else Fill 166+Ch1%,125+Ch% Endif @Alert_sound Pause 15 @Let_go Return ' Procedure Alert_check2 Repeat Mouse Ab%,Ac%,Ad% Until Ad%>0 And Ac%>183 And Ac%<199 And ((Ab%>103 And Ab%<183) Or (Ab%>194 And Ab%<274)) Deffill 9 If Ch%=59 Ch%=61 Endif If Ab%>103 And Ab%<183 Fill 104,186 Else Fill 195,186 Endif @Alert_sound Pause 15 @Let_go Return ' Procedure Title_alert Color 1 Box 30,0,289,199 Box 31,1,288,198 Deffill 11 Pbox 32,2,287,197 Return ' Procedure Help_alert Deffill 11 Pbox 61,1,318,198 Color 1 Box 61,1,318,198 Deffill Numc% Pbox 63,3,316,196 Box 63,3,316,196 Return ' Procedure Help_alert2 Deffill 11 Pbox 100-K%,175,279-K%,191 Color 1 Box 61-K%,1,318-K%,198 Box 100-K%,175,279-K%,191 Box 102-K%,177,277-K%,189 Deftext 1,0,0,6 Text 117-K%,186," CONTINUE" Return ' Procedure Help_alert_check Repeat Mouse Ab%,Ac%,Ad% Until Ad%>0 And Ac%>175 And Ac%<191 And Ab%>100-K% And Ab%<279-K% Deffill Numc% Fill 101-K%,176 @Alert_sound Pause 15 @Let_go Return ' Procedure Help1 Deftext 1,0,0,6 Text 66,18,"Use this program to create puz-" Text 66,28,"zles for use with DOT2DOTS.PRG." Text 66,38,"Choose EDIT to create or change" Text 66,48,"a puzzle. Each puzzle may have" Text 66,58,"up to 26 dots and 5O extra" Text 66,68,"lines. When drawing, you can" Text 66,78,"delete your last drawing action" Text 66,88,"by clicking UNDO, but only if" Text 66,98,"you haven't made any further" Text 66,108,"selections. Dots must be" Text 66,118,"placed several pixels apart." Text 66,138,"For further information, refer" Text 66,148,"to the issue of ST-Log in" Text 66,158,"which this program appeared." Return ' Procedure Print_dialog Deftext 1,0,0,6 Text 66,68," Something is wrong!" Text 66,88," Is your printer on?" Text 69,108," Is it connected to" Text 69,118," your computer?" Return ' Procedure Save_dialog Deftext 1,0,0,6 Text 63,68," Sorry!" Text 66,88," There is not enough" Text 69,98," room on this disk to" Text 66,108," save your work." Return ' Procedure No_way_jose Deftext 1,0,0,6 Text 63,68," Hey!" Text 66,88," You've only got one" Text 66,98," puzzle dot in this picture!" Text 65,108,"I can't show or print the lines" Text 69,118," 'between' one dot!" Return ' Procedure Load_dialog Deftext 1,0,0,6 Text 68,68," Sorry!" Text 68,88," There is no DOT2DOTS.DAT" Text 68,98," file on this disk!" Return ' Procedure Connect_q @Alert_box2 @Alert_box3 Deftext 1,0,0,6 Text 87,85," Do you want the" Text 84,95,"first and last dots" Text 84,105," to be connected?" @Alert_check @Let_go If Ab%>74 And Ab%<154 Nding%=1 Else Nding%=0 Endif Return ' ' ******************************* SHOW *********************************** Procedure Show_it @Alert_box1 If Pdot%=0 And X%(2)<>0 @Connect_q Endif If Pdot%=0 And X%(2)=0 Hidem Numc%=3 K%=0 Pause 25 @Buzz_sound @Help_alert @Help_alert2 @No_way_jose Showm @Help_alert_check Hidem Goto No_show Endif Hidem Deffill 11 Pbox 60,0,319,199 Color 1 Box 60,0,319,199 Deftext 1,1,0,4 Text 72,197," CLICK MOUSE BUTTON TO RESUME." If Pdot%=1 ' show dots only @Restore_extra_lines @Restore_numbers Else ' show lines only @Clear_numbers @Restore_extra_lines Endif Repeat Until Mousek No_show: Return ' ' ******************************** PRINT *********************************** Procedure Print_it @Alert_box1 If Pdot%=0 And X%(2)<>0 @Connect_q Endif If Pdot%=0 And X%(2)=0 Numc%=3 K%=0 Pause 25 @Buzz_sound @Help_alert @Help_alert2 @No_way_jose Showm @Help_alert_check Hidem Goto No_prnt Endif If Out?(0)<>0 @Black_screen Cls Deffill 11 Pbox 60,0,319,199 Color 1 Box 60,0,319,199 If Pdot%=1 ' print dots only @Restore_extra_lines @Restore_numbers Get 60,0,319,199,P$ Cls Put 30,0,P$ Setcolor 0,7,7,7 Setcolor 15,0,0,0 Setcolor 10,7,7,7 Hardcopy Else ' print lines only @Clear_numbers @Restore_extra_lines Get 60,0,319,199,P$ Cls Put 30,0,P$ Setcolor 0,7,7,7 Setcolor 15,0,0,0 Setcolor 10,7,7,7 Hardcopy Endif @Black_screen Cls Else Numc%=3 K%=0 Pause 15 @Buzz_sound @Help_alert @Help_alert2 @Print_dialog Showm @Help_alert_check Endif @Set_color No_prnt: Sput Screen$ Showm Return ' ' ******************************* SOUNDS ********************************* Procedure Select_sound Sound 1,15,6,3,2 Sound 1,15,6,4,2 Sound 1,15,8,4,6 Sound 1,0,0,0,0 Return ' Procedure Buzz_sound Sound 1,15,1,1,10 Sound 1,0,0,0,0 Return ' Procedure Other_sound Sound 1,15,6,4,2 Sound 1,15,1,4,5 Sound 1,0,0,0,0 Return ' Procedure Finale_sound Hidem Pause 15 Restore Finale_data Read N% For I%=1 To N% Read Nt%,Oct%,Dur% Sound 1,15,Nt%,Oct%,Dur% Sound 1,0,0,0,0 Pause 5 Next I% Return ' Procedure Erase_sound For Oct%=6 Downto 3 For N%=12 Downto 1 Sound 1,15,N%,Oct%,3 Next N% Next Oct% Sound 1,0,0,0,0 Return ' Procedure Dud_sound Sound 1,15,10,3,2 Sound 1,15,1,3,8 Sound 1,0,0,0,0 Return ' Procedure Alert_sound Sound 1,15,10,3,2 Sound 1,0,0,0,0 Return ' ' ******************************* DATA ******************************** Finale_data: Data 7 Data 6,4,16 Data 1,4,8 Data 1,4,8 Data 3,4,16 Data 1,4,32 Data 5,4,16 Data 6,4,64 ' Screen_data: ' exit: Data 0,14,2 ' help: Data 19,33,4 ' print: Data 38,52,3 ' edit: Data 74,88,11 ' save: Data 130,144,5 ' load: Data 164,178,14 ' new: Data 183,197,12 ' Screen2_data: ' done: Data 0,14,11 ' show: Data 19,33,3 ' add dot: Data 74,88,5 ' change: Data 93,107,13 ' line: Data 130,144,10 ' undo: Data 183,197,6 ' Ms_data: Data 0,896,640,640,640,640,640,65278,32770,65278,640,640,640,640,640,896 Data 0,0,256,256,256,256,256,256,32508,256,256,256,256,256,256,0 ' `F |F"|0<2<# QQNqNf` Efv*oM m !HPHUBg?<JNA(m)m - :gS)@ #OK1PC#HNxHxHNA@)@l/h&@XЬld/`ARCpr Ѝ"QHNFALN4Hz2& NA\pdAxr0XQ)K\NN 4JrBjNu~~&NN\NCAp$L xp N9lrBlJpNNpM@Hr 0 0tr R9lNupealp`aJ BWNANC2 @p2rҌ0<NB0,rNurA9A `v C9Crtd 9A9BrrҌpsNu9@`rDNuC2 @ e}bvvr,vNu   +Uw!pa4|a@:>< |a6RGk0Gg`a(VfA1G<ap?^NM& u??< NMXVHnp 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0+2$NuE`B<gJEgEjCDEDF Fe( dF8BCHC`0bHC8v` HD8HDkDуb NuDdDA@kgAр[SBk0ZlJBk&Nu0g H@rB Jk`0 pʠ2HPAJgPpr$< _8 Nu&8*"JBgJjEB:HC҅H@|ۆ҄ۆ<HC>H@4 HA@B@H@хk H8SÀbNvpNuú&EBQ*HE?<>0rHGG GGdSW°i\N SW2 H@DB?<,>CEdH@``0VBTD &AdRfB|=|  g+g -f.g20 b0e9b . da`RF`fajSEgefX0e9oSH0| &Hz1 E Do`HJjDDDS4</NTJFkSFk&aQ `Ha"FFL8N(6.JgtBn务<r,k4< pAC v r Jjv-|v k>aaNRFBd?<2SFegdRB`ApdR e <rRF&0žxfEv+0JFjDFjHƌd0BFHF HFA]`2:HQ A dg4k( bJ@`@[H@0NuЀNu$B$ BjDB䨡DpDf XfJAkJpNdRr<a( fBWH DBDA@JBftJ EDD@JEfvNuaغBAVCDEaEf fDU]'DftNu"l`Qd&&|-KNuNep[B c R nPNu _\E`$@Hz ?<&NN\A `p ap CTpln<,(AL$I"vz x `gfURf~N j0)4\Fk.aPHS&I.N``p???<NM\Q&|HQ/g @NAXXJkp%"Nu09NNTDp`pddAgH.9@(*Bl킀"Ej`0<9@, INZJ@g@8 F Edb JfE e4r$W(1GRhgbHhBg?,(/ Jk@$_>g8 Z"XPf, HQH?, g p x?&p%\, @fp7`&(*NTNNvND)@p `H@rt RAHplrJB 2p,B6papapralTTB'a(NNT@B){L9t 0<rtdRp9@p`pvX"v`v`vj`v `v`v`v`?Aa*` Al 2l 4)lV4 )lRpVNuL VA0000009Cp vv `zNJ VB0BPt ~`9@Z0<ptB0ZGr0Ppg aBp0, Nua40,H*40t24NuNR|Bl rҌpsNBNu$g4<rЀ[ɨfpiNu0<}& NNC`& T"@ C <`N@.X@LvA H.up9@HA)A, FNZ @e024E $ Bb5B5A6CC5CK^,08:Dk`Ek\<,>,SFSGFnHGnDDDk9DlDEEFcT Gcl0,b  cNupm )H" pFfHHP&4 _:8><DbFEbGCHHP@dʾAdBD2ƞE2 C???F F22N23BRG0@\@:"2)INa:/Jg,Af*EJ, ,F G"P0(1|J#HJ@NHD"j R4RB`5 Gf //o~4$_<F"OSG !H@Ь 2 Q)@RHRprR2 !g"P@g2RADAH""l`r2oZ e 1@ )I`Nuk BdpAtrdJhk\:pa H ld$"Hg0 k&@ S`#&@0+S@H3 &fLNupND0pN$d $BS@kH2T C ұdZPg" $D#Nu@NNJ@gpNu _0HpE eHHQ0)$_$ZRL`$Y0gHR@@"D%$~2g# %~p$ $dP.gRG,D%pr Y2.!p4Ae4v`VfA* WHNu2R A IJAfr4Ae*RBBc0*SA?n $E$R`4\`ځv0i 4R$D`a Ö" IHPg"B  g &gN@߁t BNuRtrrae OgTXgjHgSRBFb$0k c_ b退`tSkN0b  fрd`H&NրjNuHpx$ 8" &Ak eѐ""&A2AIɄރԀ0` JQfpDNq Y QfdЀЀ 0N4.h$_&փփ!8NN2,~,Nq8DRzXEEg"7PR$HBJBgpJgJ `eetЂ`"ЀeЁdp` e$W.H@@/\N N2L"2`#qR YEjrd0` SjN" KC`e td h BLd 3## # # # # # # # B`2# # # # # # # # # # # # # # # # # # # # # # # # # Nu2"""z""z""""z0""""""""""""""""""""""""z8??<NMXNuC l ", Ⲭ dfѬ SA 0! "NJf#`pak 저 akfptddA0oHx?B BNA Jk.,` *kBg?/Np` )H9@JpP'J&f H LNu &NuQ` J,'f&g A#ȇeC! B$-W)K20, 8k8@ gJl"Nu g"P 8 @/ Nf  8fQg#B <``L@ H)l26)z @WJf`CfSHj-D@Hd0H `\@a" pNNNHP~ NA\H@aa/a aBu09c^Nu| PC>$Error ][Abort]ä\f.B~ &lX)K\)l8`" p ,B.j(VYp-KNu"l`Yd&Nep&#k"C"Cփk 2##`1"`2`& $Y8gHRDD*D%H8#$c2g# %H` NNT+@/z -JfN":N& |This kidprg requires|low solution.CHxHm Oops!or"_~N dot2s.datNDpJBgF$|#0> |You must have DOT2S.DAT|on your disk to run tI |program!HPn m l9can us MAKER.PRG |create a  file.Thanks! pCNCd <AcfJ\fdbe,Ur+|" 2:BJV^Jfp NrN֡ NH &vJnDBj vN0zN"/&<x*+v&<%pp:n0d82Vpvp pUrYVDosally wan"pirX Wstop?4&&&c&t pNp ǖ˖r,&przhr2h"H44X44(\p7z8W Ŭpri his puzzle?(*Z\ZZSgG:fVXĸ|TT)p>\ULrJn`Nz\ְ:6v p Z: Xph8R.<...*.L.6$$..<..+v.@...vxx$.z:g BjH "CNBr$L8nntA?< pr _NprBgp<|Sn-p ?>~ (&"gn/JS&pp/"pxpN6 2PT 1N(NUlAWƠɚ?A  tpl1 Y0` 2OC&ˠpŞ zF1@Zn+|v~몫h38@+@J6CHmpM "_NZJBf2bfЬVȣXvWvvvvv446¬t`ta3n 6bvmv4xvvvDviv5vFvbvjvvv\vwv6vvbPvօ/pdSn(A`vvxppNpp :Sg:&<x*ƥ8\ 2OC".. p9@14Z9+| >>L̡LUH<&0+@66(C2HmpM"_NZ;F?뮠 2W2<22222ꞿXԣzWzA&vzzaH=NHHH HA2m2>2222D2i2?h222b2j2@ld222\2w2A222P2L/LLTrANR"&nèABrNfdfBj&&x* pJBgp\&"WH$6Bj?<pr pNBgpR `NN\p N Pr2dpN6p p rԠh Color4p the rPuzzl)|Q + npAn FN+@r-\&Trr+Xt`VNq¶r DONENBgBg:2Ǡt" .pT'r<V nWPnzNV88zrvJJ,$VgGTDDDFf~~4^4]R+m.  .HR  FHpܡ~zGP"pS l4`⁘pNČÌXpNN$tRxIc풁6hVSHp Lr<l"?d(^?<0Nqpp N$ZB"Np0pp :O nNN2OCǒǒŒ-^~\TZfx fx1xxxxX@Z`hj-pp~PQ⢾@.66(CܠpMZJBfPˆRNR, DbWbQ2bbbbb0d8W8U48`8aR\ZU4bmbbbbb>bibSbbbhbjbTbbbVbwbbb&bJb|^^"Nt`"NqpNNNp Npr= ">d+| npAnF/pNdNqNqd"B&r@26&&ɨ^pSnV~(F2NqJSg^WHpb&"ȺrźUXRNDhX F(0>8Ȯz졈NN\BJt 2f2VP2ZZpp :pZ YN2OCRRR-^>\TZAx fbx1xxxx@ZFj-pp~Px]@+@6(CHmpM "_NZJBf[  [^&jӒ\" "& 2W2\2\,2\82222F@Ы@Wa`aϦ^ͦ]8ɦ] ۦ*ߦȦ٦a2m22^T>2^`D22222i2_2_"h2_.b v22j2`2V2\dd222w2aN2`J2`P222||/|T8ANNt`NqNNpp@pWBg?<NN\pW" t   t : BnpAnF/?ߺ::::::Dt::jΞ  zVߴzzzz\zzMx\zz6  ~D2BzȉtNNN풿pWN̺Ⱥ к߾߾ؾzȿNiz:B& .l.^h߬^^^ż^^b߼^^w^ZҌH:<溢ḡvJlHPNAsrNf)|1 +npAnNFN+@ --Tr2Xr0~t`|Nq||| |~EXITxpHELP3r PRINT4fr NEWr|r1AJ"L `<`8UL8BgBg2z$8[kvN^ 2z:"ZX:VFF˖:rs2 DOT-TO-S HP h "_NC큤p2r/2Another KIDPRG in GFA Basic|pFrYfrom D.A. Brumleveģ\cbb8pYrKbZ&1988 byr As publishedCST-Log!DDɺOGĎpnr$ VERSION 1.9r7> #A COMPAN PROGRAM, MAKER, WILL LLOW YOU TO R OWUZZLES.ƢxޥnaNz\RNzrJ Ȧ:"&zJTwഉ pdNN풅pF|n -& nNFHmnNBN0H <r$x L8Np/ЀXʡ?<prp\rBgp~lSnN(xNbbb8^?V4~(FDp6 ;gyNN2OC6-^"Thnzhx xx1xxxx@ZSpj-pp~̩N~dṈ\&<x*JBf|b0`&t}Znb}b}br@ p N/p dNt`NqNlJ@6&4^?6X?~N(pɴp8n8nnnn4h4p4>pp ,r,rp1(&*p6AV NfWP Hmpr! _"p <N&x*~+@..&< pJBgpX$f| QX  .Fl⇐r?<^dDfp=Dr>fԖhuἂ| CONTINUErrr0~@Ȫ Ln&<f eD"^xpDrB†† Something is wrong!pXIs your printer on?NplrEit connected tov compu઀BgBg?<2 A" N*<, +| npAnFprrz-rpWr( pr _NpTpiOBgdPt`NNq rxvxx N\ B N+@"-0pNqNqNψ <76416148332564640142203440591105 1431571177893887789911191112104915638t9602457636868672W8@307K3794282253025926#7764737U|^3651476311^0)!܄  .BFF fVn  r hV > |6 TXXbbL8ppZppph>>4f$ XL lh: B L@vvx8nt~n!   4>4 "V &oG K` r@HEQ`QpmW KC ,H <""*H <n""(H <T^"" "KHH@HtJgpӑbCgA,0</|N< |a6RGk0Gg`a(VfA1G<ap?^NM& u??< NMXVHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0+2$NuE`B<gJEgEjCDEDF Fe( dF8BCHC`0bHC8v` HD8HDkDуb NuDdDA@kgAр[SBk0ZlJBk&Nu0g H@rB Jk`0 pʠ2HPAJgPpr$< _8 Nu&8*"JBgJjEB:HC҅H@|ۆ҄ۆ<HC>H@4 HA@B@H@хk H8SÀbNFpNuú&EBQ*HE?<>0rHGG GGdSW°i\N SW2 H@D?<,>CEdH@``0VBTD &AdRfB|=|Z  g+g -f.g20 b0e9b . da`RF`fajSEgefX0e9oSH0| &Hz1 E Do`HJjDDDS4</N$JFkSFk&aQ `Ha"FFL86.ZJgtBnZ<r,k4< pAC v r Jjv-|v k>aaNRFBd?<2SFegdRB`ApdR e <rRF&0žxfEv+0JFjDFjHƌd0BFHF HFA]`2:HQ A d<>Hl6`,A,D FJ@kl䪁t aHQ` ( gS@@CNuS    aH@@`"ah`a0) 4a3B HA2;i`0^ M / hawAnFNuAXr %e%M.&HP 0&& NN\) p6`p5`p4`p3` p2r g@A1||9XgBX)HJPfNu"l-Qf2")IBQlk0N` QNu2p~?`@`~@St4f9G/:^AA".j>(1GRhgbHhBg?,(/Jk@$_>g8 Z"XPf, HQH?, g p x?&p%@ @fp7`vN)@p `H@rt "AHplr\B 2p>papapralTTB'a:NNT@B){L9 0<rt"p9@p`pvX v`v`vjF `v`v`v`?Aa*` Al 2l 4)lV4 )lRpVNuL VA0000009Cp vv `zN$ VB0BPt ~`9@Z0<ptB0ZGr0Ppg aBp0, Nua40,H*40t24NuNR|BlrҌpsNBNu0<}&  NNC`& T"@ C <`N@. X@Lv> Hlup9@HA)A,Nv FNz e024E $ Bb5B5A6CC5CKj08:Dk`Ek\<,>,SFSGFnHGnDDDk9DlDEEFc Gcl0,b  cNujpmX )H"JpHHP&4 _:8><DbFEbGCHHP@dʾAdBD2ƞE2N C???F F22N23BRG0@\@:,"2)INj(* 9AJA)H@@[000][ˈ Evz`* [g"]g|g QSz` zQSpQ][DvxxxBp4Nԡ0b 9@JpNNAH2 erp0tpoN"Nr|<xepw2$JBjDFHB t`09F&TAtp  JVR4RB`5 Gf //o~4$_<F"OSG !H@Ь 2 Q)@RHRpr'"2(g"P@g2RADAH""l`r2oZe 1@#)I`Nuk NdpAtrdJhk\Qpa H ld$"Hg0 k&@ S`#&@0+S@H3 &fLNupNd0pN$P$BS@k\TC ұd"X0Pg" $D#NuNJ@gpNu _0HpE eHHQ0)$_$ZRL`$Y0gHR@@"D%$~2g# %~2 A IJAfr4XAe*RBBc0*SA?"E$R`★`ځ0ij 4R$DDa " IHPg"B  g &gNߡ6t BNu6Rtrae OgTXgjHgSRBFb$0k c_ b退`tSkNhb  fрd`2p <0` H&N>րjNu, $F Z2Ad@` ` 0Nupx$( 8" &Ak eѐ""""&A2AIජޣP` JQfpDNq Y Q dЀЀ 0N4.h$_&փփ!8NN2,~,Nq8DRzXEEg"7PR$HBJBgpJgJ `eetЂ`"ЀeЁdp` e$W.H@@/\N N2L"2`#qR YEjrd0` SjN" KC`e hd h Ld 3## # # # # # # # B`2# # # # # # # # # # # # # # # # # # # # # # # # # Nu2"""z""z""""z0""""""""""""""""""""""""z8??<NMXNuC l ", Ⲭ dfѬ SA 0! "NJf#`~ak 저 akfptddA0oHx?B BNA Jk.,` *kBg?/Np` )H9@JpP'J&f H LNu &NuQ` J,'f&g A#ȇeC! B$-W)K20, 8k8@ gJl"Nu g"P 8 @/ Nf  8fQg#B <``L@ H)l26)z @WJf`CfSHj-D@Hd0H `\@a" pNNNHP~ NA\H@aa/a aBu09c^Nu| PC>$Error ][Abort]ä\f.B~ &lX)K\)l8`" p ,B.j(VYp-KNu"l`Yd&Nep&#k"C"Cփk 2##`1"`2`& $Y8gHRDD*D%H8#$c2g# (%H`"X0gBPHR@@"D#NuAbN.NNT+@ -JfN!R& |This kidprg requires|low solution.CHxHm Oops!or"_`N*\R pC:N^dFLXRAPaR NbpNY[] zB+|"B:D:> $..Jn°*Nhz HpJBgp/&<x*<N$j&<$Bpr> >~~ðhPjppUrYDo you ally wantpirD to stop?4k000  &pNHb$hBp ǚ˚v0%p"vdžl>xNorprq>>b>>/pDBp6&6px'rW rpri his puzzle?&|{`l.F^ǐl(H"H <r$ L8N@JT P>FFxF<<<T< save<<<:L@tP<)$ƈƈ͈ǂPRIN -Sg ̠SnVVzHں$$* \JöHp pK8BgBg4"2hʢ@*"2\t>><>*p F,VZzZ`ZB+@.h.Jo`zH&p-FpRR?<<¦,hdr$zL8N堄/pC:Nd@SX"鶠Є慌|XXĸB6./hp .p^0b2.ppp"rH1N& CLICK ON THE DOT YOU WANT TO CHANGE.N@N\ᢁ(zipm\AB٠܌Ԑ/0FPSnV:EȀp Ɉbp1ÒvrԪnD><hPh2pUrW Do you want topirV see this puzzle?4ܪk6<0yBBFB4ľ^f@@BgBgb"`pxK4zjPֶP&<D2D D @DDPO*T60`HHHH  %em Sg4B?<^Ž㌤? ޫt?Nt?Vtdj̵HL R"BV@rN\bN.rL‚%$ WHOOPS! YOU ALREADY HAVE 26 DOTS!A ~NfpdNXzH`p pr^bUĊ@˜ ?<N $g4Bz^,^^LbH|XJD8HZ8zbHnZHZ60I$\nppr=">>L# THAT'S TOOOSE ANOR!(`fppp>z4FbNf?< pr _NrDBgp(/d8d. dot2s.dat0NJBNKrHHPHP* _r"~ADr JrP&r,΃.6(6nPJ8~F&|D:⃼^HmJp"&HFĞPڠ4NqNql&4,&R"$|L8>vNpj~ġjopRw8qXB஦ \A C2\8V\4~(ʡ,䁘JJhŮpdŰV^\BH <r$Lp墡®df\>.tr "G82|8|†8伡8N8prH dot2s.datHP  _rȁ J&P&,D&<x*HN&¸::2p-NJBfOD BJVP\&2,8"<d4P~v  p Npr=" >N>?<xNqSgRp NNj8SnlSfŜp"ļ䘡߶СŶrBT$BBBBBBŸ›F|ppN k FU:HHHT N1ONV2`znUpz TTzHJBfpYvWb@砥dNq* X0rr X X 㘱 X Xȿ HpD@"?>|p pr?<H?<0A" NNbNpA@Pf)01 ⥊pN+@L-Tr2Plr0|Nq~᪥~~p r 4EXITpHELP1r PRINT4UDzSAVEr LOADBLANK<x N^X^oLTrb>D O T M A K E 4B HP  H"_NdCp2r/ᘠAnother KIDPRG in GFA Basic|pFrYfrom D.A. Brumleve8cbbvbYrKbZ &1988 by"rF As publishedCST-Log!DDɺOGJnr: VERSION 3. >r-'&PUZZLE FILES CREATED WITH THIS PROGRAMr+ 'CAN BE USE GAME, -TO-S.npRd_NzqL\&pp@pWNN\pW   tX  :B^p^N~,?-` `NqNqN/-^?<Cd B??NH +@Jfަ^THPp "_NdCHm T)| +,,N+@  - $$NXhPX>pPrJpx"<>pP$ <r$&<x* NN/"P.HHHHH|p >rNN Dots Only4Nb Line-SgNepF See: Print:ހvZd~NHnpZrWb|pdnrmp\rT1^Hfpf2prj3 H +@ -nhz HpJBgp:-h&<@N $gAb^NfZZ$fh"pzpQrK+|F8:BFrfpNNNp 2rAx>‚3rB5rD>6rElPnrd|rJҠd|H`~rL䃪"rdYes.No.4(;nrgv\rirrReplaceRemove H +@zh-n~ZL8vDƂ  $gp 2gNlТ,=ndd$f~mllKn}"A~fpNb^rr&<82ڭ`&<ʴj붦p nDDoH rh$oX"00 pNprB!pr  pr⡺>r=케>pr?<NrdD@p=Dr>fzppuN CONTINUE4NRRRh~@NȪL8zfv eD"^xprB†!Use this program to create puz-tp zles for u with DOT2S.PRG.Bp&ChooEDITchange0a zle. Each may hav:up26 dots and 5O extraDlinesWhen drawing, you canNrdeleOr last actioXby clickUNDO, but only ifbB'n'tde? y furtherlsp;Dmujbvplaced several pixelpart.ҢFg inma, refern issu'f ST-Lognjwhi*appearedj<0  Somewrong!fIs2printon?lrEZit conntoĚ compu?66b Sorry<T_e not enoughfroomÏdisk;sv5work.888 Hey!:You'g7on: puzzle"icturelrANI6show 0] 'between'xHrD=A DOT2S.DATdfi;d AhPNfPUrWt Do wa~_rTh first and laļi beՃpkfb^ -Nh&<x*<d HpJBgp/N$fNy+|:BcxFz pC:N6xzN\N>TNpN~opRvzqX\{\p pprrH!pCLICK MOUSE BUTTON TO RESUME.Sg {>>~JtJ}ab$$t}Lt?<