Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] looping - path problem

From: rcm::formix::com::au at: 25-Apr-2006 19:40

Dear Tom and Peter, Thank you both very much for your suggestions and code fragments. I had tried something like either ans/:i == target/:i but must have got it wrong, and had thought of parsing as my next option. I still might, but for now ... success!!! So here is "Bull and Shots" a little game we played at school when things got dull. Thank you again, Rosemary rebol [Title: "Bulls and Shots" File: %bulls-and-shots.r] random/seed now digits: [1 2 3 4 5 6 7 8 9 0] target: copy [] main: layout [ origin 30x30 backdrop water effect [gradient 0x1] box "Bulls and Shots" 360x30 font-size 20 water white edge [size: 1x1 color: pewter] at 50x100 guide btn 100x25 tan "New Game" #"n" [new-game] num: field 100x25 font-size 16 center middle btn 100x25 tan "Guess" #"g" [get-answer show-answer] btn 100x25 tan "Quit" #"q" [quit] at 30x230 guide text as-is white bold { H O W T O P L A Y * Hit New Game or "n" * Enter four digits 0 - 9 * Hit Guess or "g" * Maximum tries = 12 * There are no repeat digits * B U L L - right digit, right place * S H O T - right digit, wrong place} at 220x75 guide h4 "Try: Guess Bulls Shots" 165x20 snow water pad 0x-8 results: area 165x240 font-size 17 wrap pad 80x10 box "Peek" 80x25 font-size 16 water white edge [size: 1x1 color: tan] feel [over: func [face act pos] [ face/text: either act [copy target]["Peek"] show face ]] ] new-game: does [ clear results/text results/line-list: none show results tries: 0 target: copy [] target: to-string random/secure digits remove/part target 6 focus num ] get-answer: does [ ans: to-string num/text answer: copy [] bulls: shots: 0 repeat i 4 [ if find target ans/:i [ either ans/:i == target/:i [bulls: bulls + 1] [shots: shots + 1] ]] tries: tries + 1 either ( tries <= 9 ) [answer: rejoin ["0" tries ": " ans " " bulls " " shots]] [answer: rejoin [tries ": " ans " " bulls " " shots]] ] show-answer: does [ append results/text answer append results/text newline show results if bulls = 4 [alert form ["Bravo - you guessed it !"]] if tries = 12 [alert form ["Game over - no guesses left."]] clear num/text focus num ] center-face main view main do-events -- Formix Australia - www.formix.com.au 613 9354 9585 PO Box 261 Nth Carlton Vic 3054