picoferm.txt 26 Mar 1998 Copyright 1993-98. S. Weyer. All Rights Reserved Worldwide. See picoferm.htm for introduction. Additional implementation notes for picoferm.nwt Contents: - PFB14.pkg -- Newton application - picoferm.txt -- introduction/abstract, general info, help - picoferm.nwt -- Newt source - picoferm.bit -- bitmap icon - picoferm.htm -- HTML help file ---------- Development and "Newt" If you are interested in object-oriented programming, developing applications in NewtonScript and saving as packages directly on your Newton, try the "Newt" development environment. Registered users receive a 80+ pp. manual (Acrobat or paper) and 200+ examples. Also, NewtPFB, an interactive book tutorial (like NewtATut), that describes and implements PFB step-by-step. If you would like to build this application yourself with Newt, obtain the latest version (check my web page) of Newt and Sloup: http://members.bellatlantic.net/~sweyer/newton/index.htm Look at the information that came with Newt and build the "Hello World" application (applic0.nwt or via NewtATut). Transfer picoferm.nwt (and picoferm.bit if you would like to have the Extras icon). and picoferm.htm (if you want to build the help book from HTML using Newt's Cape). Start Newt, select the folder where you stored PFB (see labels: in 2nd line of picoferm.nwt). To include a help book, either uncomment out xPFB.helpBook+pageX and the lines after helpBook:; or if from HTML document, see after build. Tap Expr, select :doObj('build, 'PFB), tap Eval. If creating help book from HTML and Newt's Cape, tap Expr, select :createHelpBook(), tap Eval. After help book successfully created, copy its reference into PFB app: tap Expr, select PFB:setHelpBook(), tap Eval. If you would like to run your version of PFB later without having to recompile the sources in Newt, and you have NewtPack installed, tap the Save button (in Eval Controls) when PFB is open; or Eval :saveApp(PFB) Revision History: ----- 1.4 (26 Mar 98) - updated URLs and help - improved New Game initialization - uses info button - compressed package 1.3 (1 Jan 96) - NOS 2.x compatible - created with Newt Development Environment - includes Newt source 1.2 (3 Sep 94) - fixed bug (when writing too few digits) - added bottom buttons to status bar - replaced About and Help with Info (help book) - misc. internal cleanup, recompilation with NTK 1.0.1 1.1 (2 Mar 94) - new, non-generic icon - autoconfigures for new (smaller) MessagePad screens - changed from "freeware" to "postcardware" - minor cosmetic changes to interface and messages; code cleanup - source code available to Newt users 1.0d2 (29 Sep 93) - initial public version (my first Newton program) Additional Information ----- PFB is similar in concept and strategy to MasterMind and Jotto. After I first saw "Pico Fermi Bagels" (PFB) as a Basic program at the Lawrence Hall of Science in Berkeley in the early '70s, I wrote several Logo versions. Uncheck "Allow Zero" to omit zero as a possible digit. Select "Digits" to change the number of digits (between 2-5). Selecting either of these after you have made your first guess starts a New Game. Your last settings of these should reappear the next time you start PFB (though these don't survive Newton resets). The guess fields expect numbers, but will ignore spaces and periods. Doubletap for a numeric keypad. PFB will complain about non-digits (or zero if "Allow Zero" is unchecked), the wrong number of digits, or duplicate digits. Order of guesses doesn't matter; guesses can be recycled (may be necessary since there are only 16 guess fields -- a protoRollBrowser limit unless I add scrolling). To balance readability and amount of information displayed, guess field changes font size [except when Landscape on NOS 2.x]: - userFont12 (Digits=2,3) - userFont10 (Digits=4) - userFont9 (Digits=5) [long line may still not quite be all visible] Winning is indicated by "Fermi" for all digits, and an audible sound. Possible Next Steps: ----- - allow more guesses (via scrolling) [for now, recycle guesses] - provide feedback via the label (instead of in value field)? - autoexpanding the next guess field (but expandLine doesn't refresh properly?) - add preferences to system soup entry (doesn't seem worth the bother)