'================ 'WRITTEN IN STONE v1.2 for smart BASIC '================ ' 'A Word puzzle game by Dav, June 20th, 2015 'Originally coded in QB64 - Ported to smart BASIC. 'This game should run on iPad,iPad Mini & iPad Air. ' 'THIS GAME REQUIRES THE 'winstone-data' FOLDER 'AND ITS FILES TO BE IN THE CURRENT DIRECTORY. ' 'NOTE: This game was made for a PC screen, so the 'graphics are in a 1024x768,300 dpi resolution. 'The playing board was rather small for the iPad, 'and hard to select letters quickly. Therefore I 'Changed the board grid from 35x35 to 55x55 and 'scaled its images to fit to those demensions. 'That is why the scale values are all different. ' 'FIXED IN v1.2: Stopped roll sfx when animation ' done rolling in & out of the help ' and config screens. Also reset ' music pointer when starting sfx ' again. Crumble animation was too ' fast on faster ipads. Fixed that. ' Also stopped roll sfx when going ' into credits screen. Fixed quote ' #46 which was missing a word. ' Cleaned up code a bit.... ' 'FIXED IN v1.1: Enlarged letters. Changed timer ' routine to only update every new ' second and not constantly. The ' touch should be more responsive. ' Replaced half of the quotes to ' fit the new fixed playing board. ' Fixed some screen showing errors. ' '================================================== 'Visit my BASIC site: http://www.qbasicnews.com/dav '================================================== '_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 'This game is only for the iPad. if capstr$(device_type$()) <> "IPAD" then print "Sorry, this game is only for iPad." end end if 'check for files first. Halt game if missing files. gosub checkfiles '_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| ' INITIALIZE... option base 1 'indexes start at 1, not 0 set toolbar off 'hide toolbar, use fullscreen set orientation 2 'go to side view graphics 'go into graphics mode graphics clear 0,0,0 'clear screen to black refresh off 'turn off screen writes now 'while we load some things '_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| ' SOME VARIABLES TO USE... dpi=4.16667 'scale for 300dpi images 'failsafe flags musicflag = 1 'flag for music on/off sfxflag = 1 'flag for sfx on/off timerflag = 1 'flag for timer on/off maxquote = 50 'max# of quotes (dont change) unsolved = 0 'How many quotes are solved '_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| gosub loadconfig 'Load config file (settings) '_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 'load & start game music first, if musicflag on notes load "winstone-data/sfx/sfx_music.mid" if musicflag=1 then notes play '_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| ' LOAD OFTEN USED SOUND FILES (SFX) music "dropdown" load "winstone-data/sfx/sfx_dropdown.mp3" music "boom" load "winstone-data/sfx/sfx_boom.mp3" music "pop" load "winstone-data/sfx/sfx_pop1.mp3" music "click" load "winstone-data/sfx/sfx_click.mp3" music "click2" load "winstone-data/sfx/sfx_click2.mp3" music "click5" load "winstone-data/sfx/sfx_click5.mp3" music "roll" load "winstone-data/sfx/sfx_roll.mp3" music "crumble" load "winstone-data/sfx/sfx_crumble.mp3" music "slideup" load "winstone-data/sfx/sfx_slideup.mp3" music "clap" load "winstone-data/sfx/sfx_clap.mp3" music "rumble" load "winstone-data/sfx/sfx_rumble.mp3" music "rumble2" load "winstone-data/sfx/sfx_rumble2.mp3" music "select" load "winstone-data/sfx/sfx_select.mp3" '_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 'LOAD SPRITES (images that will move) sprite "title" load "winstone-data/img/paper-title.jpg" sprite "title" resize 1024,768 sprite "help" load "winstone-data/img/helpscreen.jpg" sprite "help" resize 1024,768 sprite "config" load "winstone-data/img/configscreen2.jpg" sprite "config" resize 1024,768 sprite "titleleft" load "winstone-data/img/paper-title-left.jpg" sprite "titleleft" resize 512,768 sprite "titleright" load "winstone-data/img/paper-title-right.jpg" sprite "titleright" resize 512,768 sprite "board" load "winstone-data/img/board6.jpg" sprite "board" resize 1024,768 sprite "timeup" load "winstone-data/img/paper-timeup.jpg" sprite "timeup" resize 1024,768 '_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| 'LOAD SCREENS (often used image files) title$ ="winstone-data/img/paper-title.jpg" menu$ ="winstone-data/img/menu_top2.jpg" configscreen$="winstone-data/img/configscreen2.jpg" helpscreen$="winstone-data/img/helpscreen.jpg" selectscreen$="winstone-data/img/select.jpg" board$="winstone-data/img/board6.jpg" timegrn$="winstone-data/img/time_grn2.jpg" timered$="winstone-data/img/time_red2.jpg" timeyel$="winstone-data/img/time_yel2.jpg" timeup$ ="winstone-data/img/paper-timeup.jpg" '__________________________________________________ pause 1 'allow user time to turn ipad... '__________________________________________________ '================================================== ' LOAD TITLE SCREEN '================================================== refresh on 'now turn on screen writes call droptitle("title", sfxflag) 'show title pause 2 'a pause for the cause '======== titlemenu: '======== refresh off draw image title$ at 0,0 scale dpi sprite "title" hide refresh on if sfxflag=1 then music "pop" play draw image menu$ at 238,152 scale dpi call DrawButton("config.jpg", 565, 229,dpi) call DrawButton("help.jpg", 565, 177, dpi) call DrawButton("startbtn.jpg", 565, 335, dpi) call DrawButton("quitbtn.jpg", 565, 283, dpi) '=== wait for a click do gosub checkmusic '=== Catch mouse mx= touch_x(0) my= touch_y(0) '=== if start button clicked IF mx > 565 AND mx < 721 AND my > 335 AND my < 375 THEN call ClickButton("startbtn.jpg", 565, 335,dpi,sfxflag) draw image title$ at 0,0 scale dpi pause .25 refresh off graphics clear 0,0,0 sprite "title" at 0,0 sprite "title" show refresh on 'slide up title screen for y = 0 to -767 step -20 sprite "title" at 0 , y pause .01 next y break END IF ' === If quit button clicked IF mx > 565 AND mx < 721 AND my > 283 AND my < 323 THEN call ClickButton("quitbtn.jpg", 565, 283,dpi,sfxflag) GOTO Quit END IF '=== if help button clicked IF mx > 565 AND mx < 721 AND my > 177 AND my < 217 THEN ClickButton("help.jpg", 565, 177,dpi,sfxflag) if sfxflag= 1 then music "pop" play draw image title$ at 0,0 scale dpi pause .25 gosub helpscreen pause .25 GOTO titlemenu END IF '=== if config button clicked IF mx > 565 AND mx < 721 AND my > 229 AND my < 269 THEN ClickButton("config.jpg", 565, 229,dpi,sfxflag) if sfxflag= 1 then music "pop" play draw image title$ at 0,0 scale dpi pause .25 gosub configscreen pause .25 GOTO titlemenu END IF until 0 '================================================== ' START THE GAME '================================================== quote = 1 'just a safety... RANDOMIZE gosub selectquote 'user selects quote # gosub getquote 'gets quote data '======= newboard: '======= gosub scrolldownboard gosub drawrows '================================================== ' MAIN GAME LOOP '================================================== '======= mainloop: '======= TIME RESET 'reset timer starttime = TIME() poppy = 0 'flag popup messages shown rumbleon = 0 'flag for if rumble sound is happening '===quote info here... tx$ = "Quote:" & quote & " (" & trim$(str$(unsolved)) & " left)" draw color 100/255,100/255,100/255 draw text tx$ at 765,212 DO gosub checkmusic 'get a screen touch do get touch 0 as mx,my gosub updatetimer gosub checkmusic until mx > 0 '=== break up screen in 55x55 grid col = int(mx / 55) '-1 '<<<<- row = int(my / 55) '-1 '<<<<- '=== clicked quote button here... IF mx > 392 AND mx < 582 AND my > 270 AND my < 320 THEN '=== turn off rumble if it was on IF rumbleon = 1 THEN IF sfxflag = 1 THEN IF music_playing("rumble") = 1 THEN music "rumble" stop END IF END IF call ClickButton("quote.jpg", 392, 270, 5.1, sfxflag) '===== SCROOL UP SCREEN HERE 'ScrollScreenUp 0, 60 'scroll up current screen gosub scrollupscreen gosub selectquote gosub getquote GOTO newboard END IF '==== Clicked HINT button IF mx > 610 AND mx < 800 AND my > 270 AND my < 320 THEN call ClickButton("hint.jpg", 610,270, 5.1,sfxflag) 'Find first hint letter here, and select it for user. 'hint letter is first letter in row that doesn't line up with origrow 'Look in 1st row first found = 0 FOR tt = 1 TO LEN(row1$) 'check row1 data H1$ = capstr$(MID$(row1$, tt, 1)) 'get letter in row1 H2$ = capstr$(MID$(OrigRow1$, tt, 1)) 'compare with original spot 'If row1$ part needs moved, then mark this IF H1$ <> H2$ THEN hintcol = tt hintrow = 1 found = 1 break END IF NEXT tt IF found = 0 THEN FOR tt = 1 TO LEN(row2$) 'check row1 data H1$ = capstr$(MID$(row2$, tt, 1)) 'get letter in row1 H2$ = capstr$(MID$(OrigRow2$, tt, 1)) 'compare with original spot 'If row2$ part needs moved, then mark this IF H1$ <> H2$ THEN hintcol = tt hintrow = 2 found = 1 break END IF NEXT tt END IF IF found = 0 THEN FOR tt = 1 TO LEN(row3$) 'check row1 data H1$ = capstr$(MID$(row3$, tt, 1)) 'get letter in row1 H2$ = capstr$(MID$(OrigRow3$, tt, 1)) 'compare with original spot 'If row3$ part needs moved, then mark this IF H1$ <> H2$ THEN hintcol = tt hintrow = 3 found = 1 break END IF NEXT tt END IF IF found = 1 THEN 'flash hint letter FOR fl = 1 TO 3 dx = (hintcol * 55)-35 dy = (hintrow * 55)-30 di$ = "winstone-data/fnt2/_" & H1$ & ".jpg" draw image di$ at dx, dy scale 6.1 pause .15 di$ = "winstone-data/fnt2/" & H1$ & ".jpg" draw image di$ at dx, dy scale 6.1 pause .15 NEXT fl END IF END IF '=== clicked title menu button here... IF mx > 829 AND mx < 1019 AND my > 270 AND my < 320 THEN '=== turn off rumble if it was on IF rumbleon = 1 THEN IF sfxflag = 1 THEN IF music_playing("rumble") THEN music "rumble" stop END IF END IF ClickButton("title.jpg", 829, 270,5.1, sfxflag) '=================== scroll current up here 'ScrollScreenUp 0, 75 'scroll up current screen gosub scrollupscreen 'DO screen curtain slide in IF sfxflag = 1 THEN music "roll" play 'ScreenCurtain "CLOSE", left&, right&, 180 gosub screencurtain 'draw image title$ at 0,0 scale dpi pause .25 GOTO titlemenu END IF '===If inbound col & row fields clicked IF col <= 23 AND col > 0 AND row <= 3 AND row > 0 THEN IF selected = 0 THEN '=== If no letter selected yet, then... '=== Get 1st selected letter on current row gosub selectletter ELSE '=== must already but one selected, so... '=== get another selected letter (only on same Col) '=== then do the swap in rows$, then redraw new placements. '=== if same column (but not same row)...ok IF col = selectedcol AND row <> selectedrow THEN '=== get 2nd selected letter if row = 1 then sel2$ = MID$(row1$, col, 1) if row = 2 then sel2$ = MID$(row2$, col, 1) if row = 3 then sel2$ = MID$(row3$, col, 1) '=== only select if not a space or empty place IF sel2$ <> " " AND sel2$ <> "" THEN '=== load 2st selected letter (highlighted one) di$ = "winstone-data/fnt2/_" & sel2$ & ".jpg" dx = (col * 55)-35 dy = (row * 55)-30 draw image di$ at dx, dy scale 6.1 IF sfxflag = 1 THEN music "click2" play '=== SWAP LETTER DISPLAY HERE FOR o = 1 TO 2 'load 2nd letter normal di$ = "winstone-data/fnt2/" & sel2$ & ".jpg" dx = (col * 55)-35 dy = (row * 55)-30 draw image di$ at dx, dy scale 6.1 'load first letter normal di$ = "winstone-data/fnt2/" & sel$ & ".jpg" dx = (col * 55)-35 dy = (selectedrow * 55)-30 draw image di$ at dx, dy scale 6.1 pause .05 'load 2nd letter highlighted di$ = "winstone-data/fnt2/_" & sel2$ & ".jpg" dx = (col * 55)-35 dy = (row * 55)-30 draw image di$ at dx, dy scale 6.1 'load first letter highlighted di$ = "winstone-data/fnt2/_" & sel$ & ".jpg" dx = (col * 55)-35 dy = (selectedrow * 55)-30 draw image di$ at dx, dy scale 6.1 '_DELAY .02 NEXT o pause .2 '=== SWAP LETTERS INTERNALLY HERE 'replace current row letter with 1st sel$ letter if row = 1 then row1$ = changebyte$(row1$, col, sel$) if row = 2 then row2$ = changebyte$(row2$, col, sel$) if row = 3 then row3$ = changebyte$(row3$, col, sel$) 'replace 1st select row with curr row letter if selectedrow = 1 then row1$ = changebyte$(row1$, col, sel2$) if selectedrow = 2 then row2$ = changebyte$(row2$, col, sel2$) if selectedrow = 3 then row3$ = changebyte$(row3$, col, sel2$) '=== DONE Redraw rows''' selected = 0 gosub drawrows END IF ELSE '=== must be a new column, so '=== un select letters, select this new one... gosub drawrows '=== fresh look gosub selectletter END IF END IF END IF '==== If rows match original, YOU GOT IT!!!! IF row1$ = OrigRow1$ AND row2$ = OrigRow2$ AND row3$ = OrigRow3$ THEN '=== turn off rumble if it was on IF rumbleon = 1 THEN IF sfxflag = 1 THEN IF music_playing("rumble") THEN music "rumble" stop END IF END IF IF sfxflag = 1 THEN music "clap" play '=== Popup a good message rndpop$ = trim$(STR$(RND(16) + 1)) 'get 1 of 16 pi$ = "winstone-data/img/pop-z-" & rndpop$ & ".jpg" draw image pi$ at 0,450 scale dpi '==== flash letters here... gosub flashrows pause 1 '=== Mark quote # as solved in config$ data config$ = changebyte$(config$, quote, "1") gosub updateconfig IF unsolved > 0 THEN unsolved = unsolved - 1 'decrease one from unsolved count END IF 'scroll screen up here 'ScrollScreenUp 0, 60 gosub scrollupscreen '=== IF ALL QUOTES SOLVED - WIN - SHOW CREDITS IF unsolved = 0 THEN if musicflag=1 then notes stop gosub credits if musicflag=1 then notes play sprite "title" at 0,0 GOTO quit END IF '=== if already solved next quote, go to select quote quote = quote + 1 IF MID$(config$, quote, 1) = "1" THEN gosub selectquote '=== if at last quote, then go to select menu IF quote > maxquote THEN gosub selectquote END IF '==== next quote , scroll down board again.. 'scrool down board here again gosub scrolldownboard gosub getquote gosub drawrows GOTO mainloop END IF 'gosub updatetimer 'not needed i think... until 0 '_________________________________________________ quit: '_________________________________________________ if sfxflag= 1 then music "pop" play refresh off graphics clear 0,0,0 sprite "title" at 0,0 sprite "title" show refresh on pause .5 if sfxflag =1 then music "crumble" play ' shake screen for r =1 to 2 FOR g = 6 TO 1 STEP -1 FOR S = 1 TO 6 refresh off sprite "title" at RND(S * g), RND(S * g) scale 1+rnd(.07) refresh on pause .015 NEXT S NEXT g next r sprite "title" at 0,0'make sure it's centered if musicflag=1 then notes stop end if if sfxflag =1 then music "crumble" stop music "slideup" play end if txx$="This game was made on an iPad using smart BASIC" draw color .5,.5,.5 draw text txx$ at 240,350 'slide up title screen for y = 0 to -767 step -20 sprite "title" at 0 , y pause .01 next y pause .25 set orientation top set toolbar on text end updatetimer: '=== update timer stuff here... L = int(TIME() - starttime) + 1 'only draw every new second here..... if timey<>L then 'New way to draw timer because hint delay made it skip a draw sometimes FOR V = 0 TO L IF V > 0 AND V <= 34 THEN vx = 10 + (V * 12) draw image timegrn$ at vx, 208 scale 5.1 end if IF V > 34 AND V <= 49 THEN vx = 10 + (V * 12) draw image timeyel$ at vx, 208 scale 5.1 end if IF V > 49 THEN vx = 10 + (V * 12) draw image timered$ at vx, 208 scale 5.1 end if NEXT V timey=L end if '============ GET A POPUP here ========================== rrr= rnd(6)+1 rndpop$ = trim$(STR$(rrr)) '======================================================== '=== open pop.... IF L = 2 AND poppy <> L THEN '<<<<<<<< poppy popi$ = "winstone-data/img/pop-a-" & rndpop$ & ".jpg" draw image popi$ at 0,450 scale dpi poppy = L '<<<<<<<< poppy END IF IF L = 10 AND poppy <> L THEN popi$ = "winstone-data/img/pop-b-" & rndpop$ & ".jpg" draw image popi$ at 0,450 scale dpi poppy = L '<<<<<<<< poppy END IF IF L = 18 AND poppy <> L THEN popi$ = "winstone-data/img/pop-c-" & rndpop$ & ".jpg" draw image popi$ at 0,450 scale dpi poppy = L '<<<<<<<< poppy END IF IF L = 26 AND poppy <> L THEN popi$ = "winstone-data/img/pop-d-" & rndpop$ & ".jpg" draw image popi$ at 0,450 scale dpi poppy = L '<<<<<<<< poppy END IF '==== yellow.... IF L = 34 AND poppy <> L THEN popi$ = "winstone-data/img/pop-e-" & rndpop$ & ".jpg" draw image popi$ at 0,450 scale dpi poppy = L '<<<<<<<< poppy END IF IF L = 41 AND poppy <> L THEN popi$ = "winstone-data/img/pop-f-" & rndpop$ & ".jpg" draw image popi$ at 0,450 scale dpi poppy = L '<<<<<<<< poppy END IF '=== red..... IF L = 49 AND poppy <> L THEN popi$ = "winstone-data/img/pop-g-" & rndpop$ & ".jpg" draw image popi$ at 0,450 scale dpi poppy = L '<<<<<<<< poppy END IF IF L = 54 AND poppy <> L THEN popi$ = "winstone-data/img/pop-h-" & rndpop$ & ".jpg" draw image popi$ at 0,450 scale dpi poppy = L '<<<<<<<< poppy END IF '=== Start rumble is time near end (dooom coming...) IF L > 54 AND rumbleon = 0 THEN '<<<< was 114 IF sfxflag = 1 THEN music "rumble2" play rumbleon = 1 'tag as rumble is playing END IF '======================================================== IF L => 60 THEN '<<<< 60 seconds and timer is up '=========== Play drop down sound IF sfxflag = 1 THEN music "dropdown" play endif '=== drop down screen call droptitle("timeup", sfxflag) refresh off draw image "winstone-data/img/paper-timeup.jpg" at 0,0 scale dpi sprite "timeup" at -2000,-2000 refresh on if sfxflag = 1 then music "rumble2" stop 'music "rumble" stop '? end if '=== shake (BOOM) 'IF sfxflag = 1 THEN music "boom" play 'ScreenShake timesup&, 5, 4, 60 pause 1.5 IF sfxflag = 1 THEN music "roll" play b$="winstone-data/vid/roll" x =-135 do for t = 0 to 5 step 1 a$ = LTRIM$(STR$(t)) IF LEN(a$) = 2 THEN a$ = "00" & a$ IF LEN(a$) = 1 THEN a$ = "000" & a$ c$ = b$ & a$ & ".jpg" refresh off draw image c$ at x,0 scale dpi fill color 0,0,0 fill rect x-20,0 to x,768 refresh on x=x+20 pause .012 next t until x > 1024 + 135 '=== do retry quote here, or main menu.... gosub selectquote gosub getquote 'Place board back down gosub scrolldownboard gosub drawrows GOTO Mainloop END IF return '================================================= '================================================= selectletter: 'gets a selected letter, only if no space... 'make sure col is in bounds with len of row1$ if col > len(row1$) then selected = 1 else if row = 1 then sel$ = MID$(row1$, col, 1) if row = 2 then sel$ = MID$(row2$, col, 1) if row =3 then sel$ = MID$(row3$, col, 1) '=== dont select if a space or empty place IF sel$ = " " OR sel$ = "" THEN selected = 0 ELSE IF sfxflag = 1 THEN music "select" play '=== load 1st selected letter (highlighted one) si$ = "winstone-data/fnt2/_" & sel$ & ".jpg" sx = (col*55)-35 sy = (row * 55)-30 draw image si$ at sx,sy scale 6.1 selected = 1 selectedrow = row selectedcol = col END IF end if '=== select sound '=== time for finger to get up pause .2 return '============================== def DrawButton(img$, x, y, dpi) 'draws image in winstone-data/img/ if dpi = 0 then dpi = 1 c$ = "winstone-data/img/"& img$ draw image c$ at x,y scale dpi END def '=================================== def ClickButton(img$,x,y,dpi,snd) if dpi=0 then dpi =1 IF snd= 1 THEN music "click" play c$="_"&img$ call DrawButton(c$, x, y,dpi) pause .2 call DrawButton(img$, x, y,dpi) pause .3 end def '================================= def droptitle(a$, snd) if snd =1 then music "dropdown" play sprite a$ at -767,0 'drop down title screen sprite a$ show for y = -767 to 0 step 15 sprite a$ at 0 , y pause .01 next y if snd=1 then music "boom" play ' shake screen FOR g = 6 TO 1 STEP -1 FOR S = 1 TO 6 refresh off sprite a$ at RND(S * g), RND(S * g) scale 1+rnd(.07) refresh on pause .015 NEXT S NEXT g sprite a$ at 0,0'make sure it's centered end def '======== def changebyte$(string$, num, repl$) lstr$=left$(string$, num-1) sl=len(string$) rstr$=right$(string$, sl-num) changebyte$ = lstr$&repl$&rstr$ end def '================================================= '================================================= configscreen: '============= IF sfxflag = 1 THEN music "roll" time 0 music "roll" play end if b$="winstone-data/vid/roll" sprite "config" at -2000,-2000 sprite "config" show x =-135 do for t = 0 to 5 step 1 a$ = LTRIM$(STR$(t)) IF LEN(a$) = 2 THEN a$ = "00" & a$ IF LEN(a$) = 1 THEN a$ = "000" & a$ c$ = b$ & a$ & ".jpg" refresh off draw image c$ at x,0 scale dpi if x > 1024 then sprite "config" at 0, rnd(3) else sprite "config" at x-1024, rnd(3) end if refresh on x=x+22 pause .012 next t until x > 1024 + 135 'turn off roll sound if still playing IF sfxflag = 1 THEN IF music_playing("roll") = 1 THEN music "roll" stop END IF refresh off draw image configscreen$ at 0,0 scale dpi sprite "config" at -2000,-2000 refresh on draw image configscreen$ at 0,0 scale dpi configtop: ' mark current settings fill color 0/255,255/255,0/255 'green IF musicflag = 1 THEN fill rect 451, 252 to 476, 275 ELSE fill rect 585, 252 to 610, 275 END IF IF sfxflag = 1 THEN fill rect 451, 309 to 476, 332 ELSE fill rect 587, 309 to 612, 332 END IF IF timerflag = 1 THEN fill rect 451, 369 to 477, 393 ELSE fill rect 588, 370 to 614, 394 END IF DO gosub checkmusic 'get a screen touch 'do ' get touch 0 as mx,my ' until mx > 0 '=== Catch mouse mx= touch_x(0) my= touch_y(0) '=== if back button IF mx > 417 AND mx < 573 AND my > 687 AND my < 727 THEN ClickButton("back.jpg", 417, 687,dpi,sfxflag) break END IF 'Music ON click IF mx > 451 AND mx < 477 AND my > 252 AND my < 276 THEN musicflag = 1 config$=changebyte$(config$,51,"1") 'UPDATE CONFIG FILE HERE !!!! notes play IF sfxflag = 1 THEN music "click2" play fill color 0/255,255/255,0/255 'green fill rect 451, 252 to 476, 275 fill color 255/255,255/255,255/255 'white fill rect 585, 252 to 610, 275 pause .3 END IF 'Music OFF clicked IF mx > 585 AND mx < 610 AND my > 252 AND my < 275 THEN musicflag = 0 config$=changebyte$(config$,51,"0") 'UPDATE CONFIG FILE,!!!!!! notes stop IF sfxflag = 1 THEN music "click2" play fill color 1,1,1 fill rect 451, 252 to 476, 275 fill color 0,1,0 fill rect 585, 252 to 610, 275 pause .3 END IF 'SFX ON clicked IF mx > 451 AND mx < 477 AND my > 309 AND my < 333 THEN sfxflag = 1 config$=changebyte$(config$,52,"1") 'UPDATE CONFIG HERE music "click2" play fill color 0, 1, 0 FILL RECT 451, 309 to 476, 332 fill color 1,1,1 FILL RECT 587, 309 to 612, 332 pause .3 END IF 'SFX OFF clicked IF mx > 587 AND mx < 612 AND my > 309 AND my < 332 THEN sfxflag = 0 config$=changebyte$(config$,52,"0") music "click2" play fill color 1,1,1 FILL RECT 451, 309 to 476, 332 fill color 0,1,0 FILL RECT 587, 309 to 612, 332 pause .3 END IF 'TIMER OFF CLICKED IF mx > 588 AND mx < 614 AND my > 370 AND my < 394 THEN timerflag = 1 'MID$(config$, 53, 1) = CHR$(1) 'MARK CONFIG SPOT AS TIMER ON 'UPDATE CONFIG HERE IF sfxflag = 1 THEN music "click2" play pause .3 'load timer wimp notice draw image "winstone-data/img/timernotice.jpg" at 218, 160 scale dpi '=== wait for Reply... DO gosub checkmusic 'get a screen touch 'do 'get touch 0 as mx2,my2 'until mx2 > 0 '=== Catch mouse mx2=touch_x(0) my2=touch_y(0) IF mx2 > 286 AND mx2 < 717 AND my2 > 466 AND my2 < 520 THEN ClickButton("wimp.jpg", 286, 466, dpi, sfxflag) break END IF until 0 draw image configscreen$ at 0,0 scale dpi GOTO ConfigTop END IF '==== RESET GAME CLICKED IF mx > 369 AND mx < 617 AND my > 585 AND my < 639 THEN ClickButton("reset.jpg", 369, 585, dpi, sfxflag) draw image "winstone-data/img/resetnotice.jpg" at 276, 160 scale dpi '=== Get YES or NO DO gosub checkmusic 'GET TOUCH HERE 'get a screen touch 'do ' get touch 0 as mx2,my2 'until mx2 > 0 '=== Catch mouse mx2=touch_x(0) my2=touch_y(0) 'YES button poll IF mx2 > 318 AND mx2 < 474 AND my2 > 395 AND my2 < 435 THEN ClickButton("yes.jpg", 318, 395, dpi, sfxflag) '=== RESET CONFIG DATA HERE (ONLY QUOTE STUFF) config$="" FOR cc = 1 TO 50 config$= config$&"0" NEXT cc unsolved = 50 if musicflag =1 then config$=config$&"1" else config$=config$&"0" end if if sfxflag =1 then config$=config$&"1" else config$=config$&"0" end if if timerflag =1 then config$=config$&"1" else config$=config$&"0" end if BREAK END IF 'NO BUTTON poll IF mx2 > 516 AND mx2 < 672 AND my2 > 395 AND my2 < 435 THEN ClickButton("no.jpg", 516, 395,dpi,sfxflag) break END IF until 0 draw image configscreen$ at 0,0 scale dpi GOTO ConfigTop END IF until 0 sprite "title" at -2000,-2000 sprite "title" show IF sfxflag = 1 THEN music "roll" time 0 music "roll" play end if x =1024 do for t = 5 to 0 step -1 a$ = LTRIM$(STR$(t)) IF LEN(a$) = 2 THEN a$ = "00" & a$ IF LEN(a$) = 1 THEN a$ = "000" & a$ c$ = b$ & a$ & ".jpg" refresh off draw image c$ at x,0 scale dpi if x > -135 then sprite "title" at x+135, rnd(3) else sprite "title" at 0, rnd(3) end if refresh on x=x-22 pause .012 next t until x <-135 'turn off roll sound if still playing IF sfxflag = 1 THEN IF music_playing("roll") = 1 THEN music "roll" stop END IF refresh off draw image title$ at 0,0 scale dpi sprite "title" at -2000,-2000 refresh on '======== updateconfig: '====== cfile$ = "winstone-data/winstone.dat" file cfile$ delete for t = 1 to 50 cv$=mid$(config$,t,1) file cfile$ write cv$ next t if musicflag =1 then file cfile$ write "1" else file cfile$ write "0" end if if sfxflag =1 then file cfile$ write "1" else file cfile$ write "0" end if if timerflag=1 then file cfile$ write "1" else file cfile$ write "0" end if return '========== helpscreen: '========== IF sfxflag = 1 THEN music "roll" time 0 music "roll" play end if b$="winstone-data/vid/roll" sprite "help" at -2000,-2000 sprite "help" show x =-135 do for t = 0 to 5 step 1 a$ = LTRIM$(STR$(t)) IF LEN(a$) = 2 THEN a$ = "00" & a$ IF LEN(a$) = 1 THEN a$ = "000" & a$ c$ = b$ & a$ & ".jpg" refresh off draw image c$ at x,0 scale dpi if x > 1024 then sprite "help" at 0, rnd(3) else sprite "help" at x-1024, rnd(3) end if refresh on x=x+25 pause .012 next t until x > 1024 + 135 refresh off draw image helpscreen$ at 0,0 scale dpi sprite "help" at -2000,-2000 refresh on 'turn off roll sound if still playing IF sfxflag = 1 THEN IF music_playing("roll") = 1 THEN music "roll" stop END IF do gosub checkmusic 'get a screen touch 'do ' get touch 0 as mx,my ' until mx > 0 '=== Catch mouse mx= touch_x(0) my= touch_y(0) '=== if back button IF mx > 417 AND mx < 573 AND my > 687 AND my < 727 THEN call ClickButton("back.jpg", 417, 687, dpi, sfxflag) break END IF until 0 sprite "title" at -2000,-2000 sprite "title" show IF sfxflag = 1 THEN music "roll" time 0 music "roll" play end if x =1024 do for t = 5 to 0 step -1 a$ = LTRIM$(STR$(t)) IF LEN(a$) = 2 THEN a$ = "00" & a$ IF LEN(a$) = 1 THEN a$ = "000" & a$ c$ = b$ & a$ & ".jpg" refresh off draw image c$ at x,0 scale dpi if x > -135 then sprite "title" at x+135, rnd(3) else sprite "title" at 0, rnd(3) end if refresh on x=x-25 pause .012 next t until x <-135 refresh off draw image title$ at 0,0 scale dpi sprite "title" at -2000,-2000 refresh on 'turn off roll sound if still playing IF sfxflag = 1 THEN IF music_playing("roll") = 1 THEN music "roll" stop END IF return '========== selectquote: '============================================================ '=== Play Select menu fly in vid b$ = "winstone-data/vid/sel" for t = 15 to 0 step -1 a$ = LTRIM$(STR$(t)) IF LEN(a$) = 2 THEN a$ = "00" & a$ IF LEN(a$) = 1 THEN a$ = "000" & a$ c$ = b$ & a$ & ".jpg" draw image c$ at 0,0 pause .008 next t draw image "winstone-data/img/select.jpg" at 0,0 scale dpi solved$ = "winstone-data/img/solved.jpg" '=== If quotes have been solved, put solved tag image .. IF MID$(config$, 1, 1) = "1" THEN draw image solved$ at 209, 173 scale dpi IF MID$(config$, 2, 1) = "1" THEN draw image solved$ at 284, 173 scale dpi IF MID$(config$, 3, 1) = "1" THEN draw image solved$ at 359, 173 scale dpi IF MID$(config$, 4, 1) = "1" THEN draw image solved$ at 434, 173 scale dpi IF MID$(config$, 5, 1) = "1" THEN draw image solved$ at 509, 173 scale dpi IF MID$(config$, 6, 1) = "1" THEN draw image solved$ at 584, 173 scale dpi IF MID$(config$, 7, 1) = "1" THEN draw image solved$ at 659, 173 scale dpi IF MID$(config$, 8, 1) = "1" THEN draw image solved$ at 734, 173 scale dpi IF MID$(config$, 9, 1) = "1" THEN draw image solved$ at 209, 235 scale dpi IF MID$(config$, 10, 1) = "1" THEN draw image solved$ at 284, 235 scale dpi IF MID$(config$, 11, 1) = "1" THEN draw image solved$ at 359, 235 scale dpi IF MID$(config$, 12, 1) = "1" THEN draw image solved$ at 434, 235 scale dpi IF MID$(config$, 13, 1) = "1" THEN draw image solved$ at 509, 235 scale dpi IF MID$(config$, 14, 1) = "1" THEN draw image solved$ at 584, 235 scale dpi IF MID$(config$, 15, 1) = "1" THEN draw image solved$ at 659, 235 scale dpi IF MID$(config$, 16, 1) = "1" THEN draw image solved$ at 734, 235 scale dpi IF MID$(config$, 17, 1) = "1" THEN draw image solved$ at 209, 297 scale dpi IF MID$(config$, 18, 1) = "1" THEN draw image solved$ at 284, 297 scale dpi IF MID$(config$, 19, 1) = "1" THEN draw image solved$ at 359, 297 scale dpi IF MID$(config$, 20, 1) = "1" THEN draw image solved$ at 434, 297 scale dpi IF MID$(config$, 21, 1) = "1" THEN draw image solved$ at 509, 297 scale dpi IF MID$(config$, 22, 1) = "1" THEN draw image solved$ at 584, 297 scale dpi IF MID$(config$, 23, 1) = "1" THEN draw image solved$ at 659, 297 scale dpi IF MID$(config$, 24, 1) = "1" THEN draw image solved$ at 734, 297 scale dpi IF MID$(config$, 25, 1) = "1" THEN draw image solved$ at 209, 359 scale dpi IF MID$(config$, 26, 1) = "1" THEN draw image solved$ at 284, 359 scale dpi IF MID$(config$, 27, 1) = "1" THEN draw image solved$ at 359, 359 scale dpi IF MID$(config$, 28, 1) = "1" THEN draw image solved$ at 434, 359 scale dpi IF MID$(config$, 29, 1) = "1" THEN draw image solved$ at 509, 359 scale dpi IF MID$(config$, 30, 1) = "1" THEN draw image solved$ at 584, 359 scale dpi IF MID$(config$, 31, 1) = "1" THEN draw image solved$ at 659, 359 scale dpi IF MID$(config$, 32, 1) = "1" THEN draw image solved$ at 734, 359 scale dpi IF MID$(config$, 33, 1) = "1" THEN draw image solved$ at 209, 421 scale dpi IF MID$(config$, 34, 1) = "1" THEN draw image solved$ at 284, 421 scale dpi IF MID$(config$, 35, 1) = "1" THEN draw image solved$ at 359, 421 scale dpi IF MID$(config$, 36, 1) = "1" THEN draw image solved$ at 434, 421 scale dpi IF MID$(config$, 37, 1) = "1" THEN draw image solved$ at 509, 421 scale dpi IF MID$(config$, 38, 1) = "1" THEN draw image solved$ at 584, 421 scale dpi IF MID$(config$, 39, 1) = "1" THEN draw image solved$ at 659, 421 scale dpi IF MID$(config$, 40, 1) = "1" THEN draw image solved$ at 734, 421 scale dpi IF MID$(config$, 41, 1) = "1" THEN draw image solved$ at 209, 483 scale dpi IF MID$(config$, 42, 1) = "1" THEN draw image solved$ at 284, 483 scale dpi IF MID$(config$, 43, 1) = "1" THEN draw image solved$ at 359, 483 scale dpi IF MID$(config$, 44, 1) = "1" THEN draw image solved$ at 434, 483 scale dpi IF MID$(config$, 45, 1) = "1" THEN draw image solved$ at 509, 483 scale dpi IF MID$(config$, 46, 1) = "1" THEN draw image solved$ at 584, 483 scale dpi IF MID$(config$, 47, 1) = "1" THEN draw image solved$ at 659, 483 scale dpi IF MID$(config$, 48, 1) = "1" THEN draw image solved$ at 734, 483 scale dpi IF MID$(config$, 49, 1) = "1" THEN draw image solved$ at 209, 545 scale dpi IF MID$(config$, 50, 1) = "1" THEN draw image solved$ at 284, 545 scale dpi '===load select menu message based on solved # IF unsolved = 0 THEN draw image "winstone-data/img/select-champ.jpg" at 376, 547 scale dpi ELSE draw image "winstone-data/img/select-msg.jpg" at 400, 548 scale dpi END IF DO gosub checkmusic 'get a screen touch 'do ' get touch 0 as mx,my 'until mx > 0 '=== Catch mouse mx= touch_x(0) my= touch_y(0) '== 1 IF mx > 209 AND mx < 277 AND my > 173 AND my < 227 THEN call SelectNumber("1", 209, 173, dpi, sfxflag) quote = 1 end if '== 2 IF mx > 284 AND mx < 353 AND my > 173 AND my < 227 THEN call SelectNumber("2", 284, 173, dpi, sfxflag) quote=2 END IF '== 3 IF mx > 359 AND mx < 428 AND my > 173 AND my < 227 THEN call SelectNumber("3", 359, 173, dpi, sfxflag) quote=3 END If '== 4 IF mx > 434 AND mx < 503 AND my > 173 AND my < 227 THEN call SelectNumber("4", 434, 173, dpi, sfxflag) quote=4 END IF '== 5 IF mx > 509 AND mx < 578 AND my > 173 AND my < 227 THEN call SelectNumber("5", 509, 173, dpi, sfxflag) quote=5 END IF '== 6 IF mx > 584 AND mx < 652 AND my > 173 AND my < 227 THEN call SelectNumber("6", 584, 173, dpi, sfxflag) quote=6 END IF '== 7 IF mx > 659 AND mx < 727 AND my > 173 AND my < 227 THEN call SelectNumber("7", 659, 173, dpi, sfxflag) quote=7 END IF '== 8 IF mx > 734 AND mx < 803 AND my > 173 AND my < 227 THEN call SelectNumber("8", 735, 173, dpi, sfxflag) quote=8 END IF '== 9 IF mx > 209 AND mx < 278 AND my > 235 AND my < 289 THEN call SelectNumber("9", 209, 235, dpi, sfxflag) quote=9 END IF '== 10 IF mx > 284 AND mx < 353 AND my > 235 AND my < 289 THEN call SelectNumber("10", 284, 235, dpi, sfxflag) quote=10 END IF '== 11 IF mx > 359 AND mx < 428 AND my > 235 AND my < 289 THEN call SelectNumber("11", 359, 235, dpi, sfxflag) quote=11 END IF '== 12 IF mx > 434 AND mx < 503 AND my > 235 AND my < 289 THEN call SelectNumber("12", 434, 235, dpi, sfxflag) quote=12 END IF '== 13 IF mx > 509 AND mx < 578 AND my > 235 AND my < 289 THEN call SelectNumber("13", 509, 235, dpi, sfxflag) quote=13 END IF '=== 14 IF mx > 584 AND mx < 653 AND my > 235 AND my < 289 THEN call SelectNumber("14", 584, 235, dpi, sfxflag) quote=14 END IF '=== 15 IF mx > 659 AND mx < 728 AND my > 235 AND my < 289 THEN call SelectNumber("15", 659, 235, dpi, sfxflag) quote=15 END IF '=== 16 IF mx > 734 AND mx < 803 AND my > 235 AND my < 289 THEN call SelectNumber("16", 734, 235, dpi, sfxflag) quote=16 END IF '=== 17 IF mx > 209 AND mx < 278 AND my > 297 AND my < 351 THEN call SelectNumber("17", 209, 297, dpi, sfxflag) quote=17 END IF '=== 18 IF mx > 284 AND mx < 353 AND my > 297 AND my < 351 THEN call SelectNumber("18", 284, 297, dpi, sfxflag) quote= 18 END IF '=== 19 IF mx > 359 AND mx < 428 AND my > 297 AND my < 351 THEN call SelectNumber("19", 359, 297, dpi, sfxflag) quote=19 END IF '=== 20 IF mx > 434 AND mx < 503 AND my > 297 AND my < 351 THEN call SelectNumber("20", 434, 297, dpi, sfxflag) quote=20 END IF '=== 21 IF mx > 509 AND mx < 578 AND my > 297 AND my < 351 THEN call SelectNumber("21", 509, 297, dpi, sfxflag) quote=21 END IF '=== 22 IF mx > 584 AND mx < 653 AND my > 297 AND my < 351 THEN call SelectNumber("22", 584, 297, dpi, sfxflag) quote=22 END IF '=== 23 IF mx > 659 AND mx < 728 AND my > 297 AND my < 351 THEN call SelectNumber("23", 659, 297, dpi, sfxflag) quote=23 END IF '=== 24 IF mx > 734 AND mx < 803 AND my > 297 AND my < 351 THEN call SelectNumber("24", 734, 297, dpi, sfxflag) quote=24 END IF '=== 25 IF mx > 209 AND mx < 278 AND my > 359 AND my < 413 THEN call SelectNumber("25", 209, 359, dpi, sfxflag) quote=25 END IF '=== 26 IF mx > 284 AND mx < 353 AND my > 359 AND my < 413 THEN call SelectNumber("26", 284, 359, dpi, sfxflag) quote=26 END IF '=== 27 IF mx > 359 AND mx < 428 AND my > 359 AND my < 413 THEN call SelectNumber("27", 359, 359, dpi, sfxflag) quote=27 END IF '=== 28 IF mx > 434 AND mx < 503 AND my > 359 AND my < 413 THEN call SelectNumber("28", 434, 359, dpi, sfxflag) quote =28 END IF '=== 29 IF mx > 509 AND mx < 578 AND my > 359 AND my < 413 THEN call SelectNumber("29", 509, 359, dpi, sfxflag) quote = 29 END IF '=== 30 IF mx > 584 AND mx < 653 AND my > 359 AND my < 413 THEN call SelectNumber("30", 584, 359, dpi, sfxflag) quote =30 END IF '=== 31 IF mx > 659 AND mx < 728 AND my > 359 AND my < 413 THEN call SelectNumber("31", 659, 359, dpi, sfxflag) quote=31 END IF '=== 32 IF mx > 734 AND mx < 803 AND my > 359 AND my < 413 THEN call SelectNumber("32", 734, 359, dpi, sfxflag) quote =32 END IF '=== 33 IF mx > 209 AND mx < 278 AND my > 421 AND my < 475 THEN call SelectNumber("33", 209, 421, dpi, sfxflag) quote =33 END IF '=== 34 IF mx > 284 AND mx < 353 AND my > 421 AND my < 475 THEN call SelectNumber("34", 284, 421, dpi, sfxflag) quote =34 END IF '=== 35 IF mx > 359 AND mx < 428 AND my > 421 AND my < 475 THEN call SelectNumber("35", 359, 421, dpi, sfxflag) quote =35 END IF '=== 36 IF mx > 434 AND mx < 503 AND my > 421 AND my < 475 THEN call SelectNumber("36", 434, 421, dpi, sfxflag) quote =36 END IF '=== 37 IF mx > 509 AND mx < 578 AND my > 421 AND my < 475 THEN call SelectNumber("37", 509, 421, dpi, sfxflag) quote =37 END IF '=== 38 IF mx > 584 AND mx < 653 AND my > 421 AND my < 475 THEN call SelectNumber("38", 584, 421, dpi, sfxflag) quote =38 END IF '=== 39 IF mx > 659 AND mx < 728 AND my > 421 AND my < 475 THEN call SelectNumber("39", 659, 421, dpi, sfxflag) quote =39 END IF '=== 40 IF mx > 734 AND mx < 803 AND my > 421 AND my < 475 THEN call SelectNumber("40", 734, 421, dpi, sfxflag) quote =40 END IF '=== 41 IF mx > 209 AND mx < 278 AND my > 483 AND my < 537 THEN call SelectNumber("41", 209, 483, dpi, sfxflag) quote =41 END IF '=== 42 IF mx > 284 AND mx < 353 AND my > 483 AND my < 537 THEN call SelectNumber("42", 284, 483, dpi, sfxflag) quote =42 END IF '=== 43 IF mx > 359 AND mx < 428 AND my > 483 AND my < 537 THEN call SelectNumber("43", 359, 483, dpi, sfxflag) quote=43 END IF '=== 44 IF mx > 434 AND mx < 503 AND my > 483 AND my < 537 THEN call SelectNumber("44", 434, 483, dpi, sfxflag) quote =44 END IF '=== 45 IF mx > 509 AND mx < 578 AND my > 483 AND my < 537 THEN call SelectNumber("45", 509, 483, dpi, sfxflag) quote =45 END IF '=== 46 IF mx > 584 AND mx < 653 AND my > 483 AND my < 537 THEN call SelectNumber("46", 584, 483, dpi, sfxflag) quote =46 END IF '=== 47 IF mx > 659 AND mx < 728 AND my > 483 AND my < 537 THEN call SelectNumber("47", 659, 483, dpi, sfxflag) quote =47 END IF '=== 48 IF mx > 734 AND mx < 803 AND my > 483 AND my < 537 THEN call SelectNumber("48", 734, 483, dpi, sfxflag) quote =48 END IF '=== 49 IF mx > 209 AND mx < 278 AND my > 545 AND my < 599 THEN call SelectNumber("49", 209, 545, dpi, sfxflag) quote =49 END IF '=== 50 IF mx > 284 AND mx < 353 AND my > 545 AND my < 599 THEN call SelectNumber("50", 284, 545, dpi, sfxflag) quote =50 END IF until mx > 0 b$ = "winstone-data/vid/sel" for t = 0 to 15 a$ = LTRIM$(STR$(t)) IF LEN(a$) = 2 THEN a$ = "00" & a$ IF LEN(a$) = 1 THEN a$ = "000" & a$ c$ = b$ & a$ & ".jpg" draw image c$ at 0,0 pause .01 next t return getquote: '=== Gets new quote to solve based on quote value, '=== Sets the Row data... '' QUOTES MUST NOT BE LONGER THAN 23 LETTERS ON ONE ROW '' AND ALL ROWS SHOULD BE SAME LENGTH (PAD WITH SPACES) if quote = 1 then OrigRow1$ = "GREAT MINDS " ! row1$ = OrigRow1$ OrigRow2$ = "THINK ALIKE " ! row2$ = OrigRow2$ OrigRow3$ = " " ! row3$ = OrigRow3$ end if if quote = 2 then OrigRow1$ = "TO ERR IS HUMAN " ! row1$ = OrigRow1$ OrigRow2$ = "TO FORGIVE DEVINE" ! row2$ = OrigRow2$ OrigRow3$ = " " ! row3$ = OrigRow3$ end if if quote = 3 then OrigRow1$ = "IT AINT OVER TILL " ! row1$ = OrigRow1$ OrigRow2$ = "THE FAT LADY SINGS " ! row2$ = OrigRow2$ OrigRow3$ = " " ! row3$ = OrigRow3$ end if if quote = 4 then OrigRow1$ = "A ROLLING STONE " ! row1$ = OrigRow1$ OrigRow2$ = "GATHERS NO MOSS " ! row2$ = OrigRow2$ OrigRow3$ = " " ! row3$ = OrigRow3$ end if if quote = 5 then OrigRow1$ = "LAUGHTER IS THE " ! row1$ = OrigRow1$ OrigRow2$ = "BEST MEDICINE " ! row2$ = OrigRow2$ OrigRow3$ = " " ! row3$ = OrigRow3$ end if if quote = 6 then OrigRow1$ = "ABSENCE MAKES THE " ! row1$ = OrigRow1$ OrigRow2$ = "HEART GROW FONDER " ! row2$ = OrigRow2$ OrigRow3$ = " " ! row3$ = OrigRow3$ end if if quote = 7 then OrigRow1$ = "YOU CANT HAVE " ! row1$ = OrigRow1$ OrigRow2$ = "YOUR CAKE AND " ! row2$ = OrigRow2$ OrigRow3$ = "EAT IT TOO " ! row3$ = OrigRow3$ end if if quote = 8 then OrigRow1$ = "IF AT FIRST YOU" ! row1$ = OrigRow1$ OrigRow2$ = "DONT SUCCEED " ! row2$ = OrigRow2$ OrigRow3$ = "TRY TRY AGAIN" ! row3$ = OrigRow3$ end if if quote = 9 then OrigRow1$ = "NECESSITY IS " ! row1$ = OrigRow1$ OrigRow2$ = "THE MOTHER OF " ! row2$ = OrigRow2$ OrigRow3$ = "INVENTION " ! row3$ = OrigRow3$ end if if quote = 10 then OrigRow1$ = "CLEANLINESS " ! row1$ = OrigRow1$ OrigRow2$ = "IS NEXT TO " ! row2$ = OrigRow2$ OrigRow3$ = "GODLINESS " ! row3$ = OrigRow3$ end if if quote = 11 then OrigRow1$ = "THE BIGGER THEY " ! row1$ = OrigRow1$ OrigRow2$ = "ARE THE HARDER " ! row2$ = OrigRow2$ OrigRow3$ = "THEY FALL " ! row3$ = OrigRow3$ end if if quote = 12 then OrigRow1$ = "ACTIONS SPEAK " ! row1$ = OrigRow1$ OrigRow2$ = "LOUDER THAN " ! row2$ = OrigRow2$ OrigRow3$ = "WORDS " ! row3$ = OrigRow3$ end if if quote = 13 then OrigRow1$ = "A CHAIN IS ONLY " ! row1$ = OrigRow1$ OrigRow2$ = "AS STRONG AS ITS " ! row2$ = OrigRow2$ OrigRow3$ = "WEAKEST LINK " ! row3$ = OrigRow3$ end if if quote = 14 then OrigRow1$ = "BIRDS OF A " ! row1$ = OrigRow1$ OrigRow2$ = "FEATHER FLOCK " ! row2$ = OrigRow2$ OrigRow3$ = "TOGETHER " ! row3$ = OrigRow3$ end if if quote = 15 then OrigRow1$ = "WHEN THE CATS " ! row1$ = OrigRow1$ OrigRow2$ = "AWAY THE MICE " ! row2$ = OrigRow2$ OrigRow3$ = "WILL PLAY " ! row3$ = OrigRow3$ end if if quote = 16 then OrigRow1$ = "A FOOL AND HIS " ! row1$ = OrigRow1$ OrigRow2$ = "MONEY ARE SOON " ! row2$ = OrigRow2$ OrigRow3$ = " PARTED " ! row3$ = OrigRow3$ end if if quote = 17 then OrigRow1$ = "NONE SO BLIND " ! row1$ = OrigRow1$ OrigRow2$ = "AS THOSE WHO " ! row2$ = OrigRow2$ OrigRow3$ = "WILL NOT SEE " ! row3$ = OrigRow3$ end if if quote = 18 then OrigRow1$ = "YOU CANT JUDGE " ! row1$ = OrigRow1$ OrigRow2$ = "A BOOK BY ITS " ! row2$ = OrigRow2$ OrigRow3$ = "COVER " ! row3$ = OrigRow3$ end if if quote = 19 then OrigRow1$ = "DONT PUT ALL " ! row1$ = OrigRow1$ OrigRow2$ = "YOUR EGGS IN " ! row2$ = OrigRow2$ OrigRow3$ = "ONE BASKET " ! row3$ = OrigRow3$ end if if quote = 20 then OrigRow1$ = "FOOLS RUSH IN " ! row1$ = OrigRow1$ OrigRow2$ = "WHERE ANGELS " ! row2$ = OrigRow2$ OrigRow3$ = "FEAR TO TREAD " ! row3$ = OrigRow3$ end if if quote = 21 then OrigRow1$ = "ALL WORK AND NO " ! row1$ = OrigRow1$ OrigRow2$ = "PLAY MAKES JACK " ! row2$ = OrigRow2$ OrigRow3$ = "A DULL BOY " ! row3$ = OrigRow3$ end if if quote = 22 then OrigRow1$ = "OLD SOLDIERS NEVER " ! row1$ = OrigRow1$ OrigRow2$ = "DIE THEY SIMPLY " ! row2$ = OrigRow2$ OrigRow3$ = " FADE AWAY " ! row3$ = OrigRow3$ end if if quote = 23 then OrigRow1$ = "DONT COUNT YOUR " ! row1$ = OrigRow1$ OrigRow2$ = "CHICKENS BEFORE " ! row2$ = OrigRow2$ OrigRow3$ = "THEY ARE HATCHED" ! row3$ = OrigRow3$ end if if quote = 24 then OrigRow1$ = "LIGHTNING NEVER " ! row1$ = OrigRow1$ OrigRow2$ = "STRIKES TWICE IN " ! row2$ = OrigRow2$ OrigRow3$ = "THE SAME PLACE " ! row3$ = OrigRow3$ end if if quote = 25 then OrigRow1$ = "ONE MANS TRASH " ! row1$ = OrigRow1$ OrigRow2$ = "IS ANOTHER MANS" ! row2$ = OrigRow2$ OrigRow3$ = " TREASURE " ! row3$ = OrigRow3$ end if if quote = 26 then OrigRow1$ = "DONT CROSS YOUR " ! row1$ = OrigRow1$ OrigRow2$ = "BRIDGES BEFORE " ! row2$ = OrigRow2$ OrigRow3$ = "YOU COME TO THEM" ! row3$ = OrigRow3$ end if if quote = 27 then OrigRow1$ = "IT WAS THE LAST " ! row1$ = OrigRow1$ OrigRow2$ = "STRAW THAT BROKE " ! row2$ = OrigRow2$ OrigRow3$ = "THE CAMELS BACK" ! row3$ = OrigRow3$ end if if quote = 28 then OrigRow1$ = "YOU CAN CATCH MORE " ! row1$ = OrigRow1$ OrigRow2$ = "FLIES WITH HONEY " ! row2$ = OrigRow2$ OrigRow3$ = "THAN WITH VINEGAR " ! row3$ = OrigRow3$ end if if quote = 29 then OrigRow1$ = "DONT PUT OFF UNTIL" ! row1$ = OrigRow1$ OrigRow2$ = "TOMORROW WHAT YOU " ! row2$ = OrigRow2$ OrigRow3$ = "CAN DO TODAY " ! row3$ = OrigRow3$ end if if quote = 30 then OrigRow1$ = "IF YOU LIE DOWN " ! row1$ = OrigRow1$ OrigRow2$ = "WITH DOGS YOU WILL" ! row2$ = OrigRow2$ OrigRow3$ = "GET UP WITH FLEAS " ! row3$ = OrigRow3$ end if if quote = 31 then OrigRow1$ = "DISCRETION IS " ! row1$ = OrigRow1$ OrigRow2$ = "THE GREATER PART " ! row2$ = OrigRow2$ OrigRow3$ = "OF VALOR " ! row3$ = OrigRow3$ end if if quote = 32 then OrigRow1$ = "DONT THROW OUT " ! row1$ = OrigRow1$ OrigRow2$ = "THE BABY WITH " ! row2$ = OrigRow2$ OrigRow3$ = "THE BATH WATER "! row3$ = OrigRow3$ end if if quote = 33 then OrigRow1$ = "THE APPLE DOESNT " ! row1$ = OrigRow1$ OrigRow2$ = "FALL FAR FROM " ! row2$ = OrigRow2$ OrigRow3$ = "THE TREE " ! row3$ = OrigRow3$ end if if quote = 34 then OrigRow1$ = "HOPE FOR THE " ! row1$ = OrigRow1$ OrigRow2$ = "BEST BUT PREPARE " ! row2$ = OrigRow2$ OrigRow3$ = "FOR THE WORST " ! row3$ = OrigRow3$ end if if quote = 35 then OrigRow1$ = "WHEN THE GOING " ! row1$ = OrigRow1$ OrigRow2$ = "GETS TOUGH THE "! row2$ = OrigRow2$ OrigRow3$ = "TOUGH GET GOING " ! row3$ = OrigRow3$ end if if quote = 36 then OrigRow1$ = "DONT TALK THE TALK" ! row1$ = OrigRow1$ OrigRow2$ = "IF YOU CANT WALK " ! row2$ = OrigRow2$ OrigRow3$ = " THE WALK " ! row3$ = OrigRow3$ end if if quote = 37 then OrigRow1$ = "BEAUTY IS IN THE" ! row1$ = OrigRow1$ OrigRow2$ = "EYE OF THE " ! row2$ = OrigRow2$ OrigRow3$ = " BEHOLDER " ! row3$ = OrigRow3$ end if if quote = 38 then OrigRow1$ = "YOU CANT TEACH " ! row1$ = OrigRow1$ OrigRow2$ = "AN OLD DOG " ! row2$ = OrigRow2$ OrigRow3$ = " MEW TRICKS " ! row3$ = OrigRow3$ end if if quote = 39 then OrigRow1$ = "NEVER LOOK " ! row1$ = OrigRow1$ OrigRow2$ = "A GIFT HORSE" ! row2$ = OrigRow2$ OrigRow3$ = "IN THE MOUTH" ! row3$ = OrigRow3$ end if if quote = 40 then OrigRow1$ = "DONT BITE THE " ! row1$ = OrigRow1$ OrigRow2$ = "HAND THAT FEEDS" ! row2$ = OrigRow2$ OrigRow3$ = "YOU " ! row3$ = OrigRow3$ end if if quote = 41 then OrigRow1$ = "KEEP YOUR FRIENDS " ! row1$ = OrigRow1$ OrigRow2$ = "CLOSE AND YOUR " ! row2$ = OrigRow2$ OrigRow3$ = "ENEMIES CLOSER " ! row3$ = OrigRow3$ end if if quote = 42 then OrigRow1$ = "ALL GOOD THINGS " ! row1$ = OrigRow1$ OrigRow2$ = "MUST COME TO AN " ! row2$ = OrigRow2$ OrigRow3$ = "END " ! row3$ = OrigRow3$ end if if quote = 43 then OrigRow1$ = "FOOL ME ONCE SHAME " ! row1$ = OrigRow1$ OrigRow2$ = "ON YOU FOOL ME " ! row2$ = OrigRow2$ OrigRow3$ = "TWICE SHAME ON ME " ! row3$ = OrigRow3$ end if if quote = 44 then OrigRow1$ = "GOOD THINGS " ! row1$ = OrigRow1$ OrigRow2$ = "COME TO THOSE" ! row2$ = OrigRow2$ OrigRow3$ = "WHO WAIT " ! row3$ = OrigRow3$ end if if quote = 45 then OrigRow1$ = "THE PEN IS "! row1$ = OrigRow1$ OrigRow2$ = "MIGHTIER THAN " ! row2$ = OrigRow2$ OrigRow3$ = " THE SWORD " ! row3$ = OrigRow3$ end if if quote = 46 then OrigRow1$ = "THE ROAD TO HELL" ! row1$ = OrigRow1$ OrigRow2$ = "IS PAVED WITH" ! row2$ = OrigRow2$ OrigRow3$ = "GOOD INTENTIONS " ! row3$ = OrigRow3$ end if if quote = 47 then OrigRow1$ = "ITS NO USE " ! row1$ = OrigRow1$ OrigRow2$ = "CRYING OVER " ! row2$ = OrigRow2$ OrigRow3$ = "SPILLED MILK " ! row3$ = OrigRow3$ end if if quote = 48 then OrigRow1$ = "A LITTLE BIT OF" ! row1$ = OrigRow1$ OrigRow2$ = "KNOWLEDGE IS A " ! row2$ = OrigRow2$ OrigRow3$ = "DANGEROUS THING " ! row3$ = OrigRow3$ end if if quote = 49 then OrigRow1$ = "WHATS GOOD FOR " ! row1$ = OrigRow1$ OrigRow2$ = "THE GOOSE IS GOOD" ! row2$ = OrigRow2$ OrigRow3$ = "FOR THE GANDER " ! row3$ = OrigRow3$ end if if quote = 50 then OrigRow1$ = "DO UNTO OTHERS AS " ! row1$ = OrigRow1$ OrigRow2$ = "YOU WOULD HAVE " ! row2$ = OrigRow2$ OrigRow3$ = "THEM DO UNTO YOU " ! row3$ = OrigRow3$ end if 'failsafes... if quote < 1 and quote > 50 then OrigRow1$ = "TO ERR IS HUMAN " ! row1$ = OrigRow1$ OrigRow2$ = "TO FORGIVE DEVINE" ! row2$ = OrigRow2$ OrigRow3$ = " " ! row3$ = OrigRow3$ end if remix: 'maybe make tag to set if 1&2 were not swapped, swap 1&3, if no space.? '=== Randomly Mix up the letters in rows FOR t = 1 TO LEN(row1$) '=== mix up row 1 with 2 r1$ = MID$(row1$, t, 1) r2$ = MID$(row2$, t, 1) '=== Only swap 1 & 2 when no space present IF r1$ <> " " AND r2$ <> " " THEN IF INT(RND(2))= 1 THEN row1$ = changebyte$(row1$, t, r2$) row2$ = changebyte$(row2$, t, r1$) END IF END IF '=== mix up row 2 with 3 r2$ = MID$(row2$, t, 1) r3$ = MID$(row3$, t, 1) '=== Only swap 2 &3 when no space present IF r2$ <> " " AND r3$ <> " " THEN IF INT(RND(2))= 1 THEN row2$ = changebyte$(row2$, t, r3$) row3$ = changebyte$(row3$, t, r2$) END IF END IF NEXT t '=== just in case no mixing occurred (happens once in a blue moon).. IF OrigRow1$ = row1$ AND OrigRow2$ = row2$ THEN GOTO remix return '============================ def SelectNumber (number$, x, y, dpi, sfxflag) IF sfxflag = 1 THEN music "click" play btn$ = "winstone-data/num/" & number$ & ".jpg" draw image btn$ at x,y scale dpi pause .15 draw image "winstone-data/img/select.jpg" at 0,0 scale dpi pause .15 END def '========================================= drawrows: '== Draws the row1$, row2$, row3$ data to screen. '===draw row1 FOR t = 1 TO LEN(row1$) L$ = capstr$(MID$(row1$, t, 1)) IF L$ <> " " THEN letter$ ="winstone-data/fnt2/" & L$ & ".jpg" lx = (t * 55)-35 draw image letter$ at lx, 55-30 scale 6.1 END IF NEXT t '===draw row2 FOR t = 1 TO LEN(row2$) L$ = capstr$(MID$(row2$, t, 1)) IF L$ <> " " THEN letter$ ="winstone-data/fnt2/" & L$ & ".jpg" lx = (t * 55)-35 draw image letter$ at lx, 110-30 scale 6.1 END IF NEXT t '===draw row3 FOR t = 1 TO LEN(row3$) L$ = capstr$(MID$(row3$, t, 1)) IF L$ <> " " THEN letter$ ="winstone-data/fnt2/" & L$ & ".jpg" lx =(t * 55)-35 draw image letter$ at lx, 165-30 scale 6.1 END IF NEXT t return '=========== flashrows: '=== Animate quote rows for a sec to show solved. FOR flash = 1 TO 5 '===draw row1 highlighted FOR t = 1 TO LEN(row1$) L$ = capstr$(MID$(row1$, t, 1)) IF L$ <> " " THEN letter$ ="winstone-data/fnt2/_" & L$ & ".jpg" lx = (t * 55)-35 draw image letter$ at lx, 55-30 scale 6.1 END IF NEXT t '===draw row2 FOR t = 1 TO LEN(row2$) L$ = capstr$(MID$(row2$, t, 1)) 'IF L$ = " " THEN L$ = "space" IF L$ <> " " THEN letter$ ="winstone-data/fnt2/_" & L$ & ".jpg" lx = (t * 55)-35 draw image letter$ at lx, 110-30 scale 6.1 END IF NEXT t '===draw row3 FOR t = 1 TO LEN(row3$) L$ = capstr$(MID$(row3$, t, 1)) 'IF L$ = " " THEN L$ = "space" IF L$ <> " " THEN letter$ ="winstone-data/fnt2/_" & L$ & ".jpg" lx = (t * 55)-35 draw image letter$ at lx, 165-30 scale 6.1 END IF NEXT t pause .2 gosub drawrows 'Show them normal pause .2 NEXT flash return '======================= scrollupscreen: 'grabs current graphics screen as sprite 'scrolls it up out of sight sprite "screen" scan 0,0,1024,768 refresh off graphics clear 0,0,0 sprite "screen" at 0,0 sprite "screen" show sprite "screen" at 0,0 refresh on for y = 0 to -767 step -20 sprite "screen" at 0 , y pause .01 next y return '================================== scrolldownboard: refresh off sprite "board" show sprite "board" at -2000,-2000 refresh on for y = -767 to 0 step 20 'sprite "board" at -100, y scale 1.151 sprite "board" at 15, y -14 scale 1.2251 pause .02 next y refresh off draw image board$ at -100,-100 scale 5.1 sprite "board" hide refresh on return '=============================== screencurtain: refresh off 'move them out of sight first sprite "titleleft" at -2000,-2000 sprite "titleright" at -2000,-2000 sprite "title" at -2000,-2000 'turn them on now... sprite "title" show sprite "titleleft" show sprite "titleright" show refresh on x2 = 1024 FOR x = -511 TO 0 STEP 15 'The y is randoming shaked up 'for a dragging effect sprite "titleleft" at x, rnd(3) sprite "titleright" at x2, RND(3) x2 = x2 - 15 pause .03 NEXT x '=== make sure image is centered refresh off sprite "titleleft" at -2000,-2000 sprite "titleright" at-2000,-2000 sprite "title" at 0,0 refresh on '=== A little shake to show joining if sfxflag = 1 then music "roll" stop music "boom" play end if ' shake screen FOR g = 4 TO 1 STEP -1 FOR S = 1 TO 4 refresh off sprite "title" at RND(S * g), RND(S * g) scale 1+rnd(.03) refresh on pause .015 NEXT S NEXT g 'refresh off draw image title$ at 0,0 scale dpi sprite "titleleft" at -2000,-2000 sprite "titleright" at -2000,-2000 sprite "title" at -2000,-2000 refresh on return '================================================ loadconfig: cfile$ = "winstone-data/winstone.dat" '=== IF NO CONFIG FILE, MAKE ONE IF FILE_EXISTS(cfile$) = 0 THEN '=== file not there so make a new dat file '=== mark all quotes unsolved config$ = "" FOR i = 1 TO maxquote v$ = "0" config$ = config$ & v$ 'all unsolved for now file cfile$ write v$ unsolved = unsolved + 1 NEXT i '=== add music, sfx & timer settings (all 1 by default) v2$ = "1" config$ = config$ & "111" file cfile$ write v2$ file cfile$ write v2$ file cfile$ write v2$ 'GOTO loadedconfig return END IF '=== see if file isnt large enough to read settings '=== if not then make a new file IF file_size(cfile$) < 53 THEN '(50 quotes & 3 game settings) '=== file must be currupt, so close file, kill it, make new one. file cfile$ delete config$ = "" FOR i = 1 TO maxquote v$ = "0" config$ = config$ & v$ 'all unsolved for now file cfile$ write v$ unsolved = unsolved + 1 NEXT i '=== add music, sfx & timer settings (all 1 by default) v$ = "1" config$ = config$ & "111" file cfile$ write v$ file cfile$ write v$ file cfile$ write v$ 'GOTO loadedconfig return END IF '==== file must be there and large enough so load data. config$ = "" FOR i = 1 TO maxquote file cfile$ read a$ config$ = config$ & a$ IF a$ = "0" THEN unsolved = unsolved + 1 NEXT i '=== get game settings now file cfile$ read a$ IF a$ = "0" THEN musicflag = 0 ! config$ = config$ & "0" ELSE musicflag = 1 ! config$ = config$ & "1" END IF file cfile$ read a$ IF a$ = "0" THEN sfxflag = 0 ! config$ = config$ & "0" ELSE sfxflag = 1 ! config$ = config$ & "1" END IF file cfile$ read a$ IF a$ = "0" THEN timerflag = 0 ! config$ = config$ & "1" ELSE timerflag = 1 ! config$ = config$ & "1" '<<, TIMER ALWAYS 1 for now END IF loadedconfig: return '============================================ Credits: if musicflag=1 then music "roll" play gosub screencurtain pause .15 '=== start crumble sound IF sfxflag = 1 THEN music "crumble" play '=== BIG Shake 'FOR b = 1 TO 2 ' ScreenShake 0, 6, 5, 60 'NEXT 'CRUMLE......... '=== Play Select menu fly in vid b$ = "winstone-data/vid/crum" for t = 0 to 14 a$ = LTRIM$(STR$(t)) IF LEN(a$) = 2 THEN a$ = "00" & a$ IF LEN(a$) = 1 THEN a$ = "000" & a$ c$ = b$ & a$ & ".jpg" draw image c$ at 0,0 pause .02 next t 'WASH OUT..... graphics clear 0,0,0 for t = 0 to 255 step 10 refresh off graphics clear t/255,t/255,t/255 refresh on pause .03 next t for t = 254 to 0 step -10 refresh off graphics clear t/255,t/255,t/255 refresh on pause .03 next t pause .5 IF sfxflag = 1 THEN music "crumble" stop IF sfxflag = 1 THEN 'music "fanfare" load "winstone-data/sfx/sfx_fanfare.mp3" 'music "fanfare" play end if IF musicflag = 1 THEN music "credits" load "winstone-data/sfx/sfx_credits.mp3" music "credits" loop 'notes load "winstone-data/sfx/sfx_music3.mid" 'notes play end if 'if sfxflag=1 then music "fanfare" stop 'pause 1 sprite "win" load "winstone-data/img/win.jpg" sprite "win" resize 1024,5672 sprite "win" at -2000,-2000 sprite "win" show y = 768 button "creditclose" text "Close" at 0,0 DO 'graphics clear 0,0,0 'cls sprite "win" at 0, y y = y -1 IF y < -5672 THEN break 'or y = 0 to start over if button_pressed("creditclose") then break pause .02 until 0 button "creditclose" delete IF musicflag=1 then 'notes stop 'notes load "winstone-data/sfx/sfx_music.mid" music "credits" stop end if refresh off sprite "win" at -2000,-2000 refresh off return ' '===================== checkmusic: 'if music over, reload, start over if musicflag=1 then if notes_time() => notes_length() then notes load "winstone-data/sfx/sfx_music.mid" notes play end if end if return '===================== checkfiles: option base 1 'count files first... restore to filenames totalfiles=-1 while a$<>"#" read a$ ! totalfiles+=1 end while 'divide in half for real number '(half of READ was to get filesize) totalfiles = totalfiles / 2 dim filename$(totalfiles) dim filesize(totalfiles) 'fill arrays with names and sizes RESTORE TO filenames for g = 1 to totalfiles read a$ ! filesize(g) = val(a$) read b$ ! filename$(g) = b$ next g 'Check if folders there... if file_exists("winstone-data/") = 0 then print "The 'winstone-data/' folder not found." print "Please re-install the game." end end if if file_exists("winstone-data/fnt2/") = 0 then print "The 'winstone-data/fnt2/' folder not found." print "Please re-install the game." end end if if file_exists("winstone-data/img/") = 0 then print "The 'winstone-data/img/' folder not found." print "Please re-install the game." end end if if file_exists("winstone-data/num/") = 0 then print "The 'winstone-data/num/' folder not found." print "Please re-install the game." end end if if file_exists("winstone-data/sfx/") = 0 then print "The 'winstone-data/sfx/' folder not found." print "Please re-install the game." end end if if file_exists("winstone-data/vid/") = 0 then print "The 'winstone-data/vid/' folder not found." print "Please re-install the game." end end if 'check if files are there for r = 1 to totalfiles if not file_exists(filename$(r)) then print filename$(r) ; " not found." print "Please re-install game." end end if next r return 'note: file sizes are not used for now... filenames: data "2242","winstone-data/fnt2/A.jpg" data "1101","winstone-data/fnt2/B.jpg" data "1082","winstone-data/fnt2/C.jpg" data "1094","winstone-data/fnt2/D.jpg" data "1063","winstone-data/fnt2/E.jpg" data "1035","winstone-data/fnt2/F.jpg" data "1112","winstone-data/fnt2/G.jpg" data "1081","winstone-data/fnt2/H.jpg" data "1044","winstone-data/fnt2/I.jpg" data "1044","winstone-data/fnt2/J.jpg" data "1097","winstone-data/fnt2/K.jpg" data "996","winstone-data/fnt2/L.jpg" data "1089","winstone-data/fnt2/M.jpg" data "1087","winstone-data/fnt2/N.jpg" data "1118","winstone-data/fnt2/O.jpg" data "1050","winstone-data/fnt2/P.jpg" data "1124","winstone-data/fnt2/Q.jpg" data "1089","winstone-data/fnt2/R.jpg" data "1117","winstone-data/fnt2/S.jpg" data "935","winstone-data/fnt2/space.jpg" data "1029","winstone-data/fnt2/T.jpg" data "1083","winstone-data/fnt2/U.jpg" data "1104","winstone-data/fnt2/V.jpg" data "1091","winstone-data/fnt2/W.jpg" data "1122","winstone-data/fnt2/X.jpg" data "1072","winstone-data/fnt2/Y.jpg" data "1078","winstone-data/fnt2/Z.jpg" data "1101","winstone-data/fnt2/_A.jpg" data "1087","winstone-data/fnt2/_B.jpg" data "1076","winstone-data/fnt2/_C.jpg" data "1081","winstone-data/fnt2/_D.jpg" data "1059","winstone-data/fnt2/_E.jpg" data "1021","winstone-data/fnt2/_F.jpg" data "1102","winstone-data/fnt2/_G.jpg" data "1067","winstone-data/fnt2/_H.jpg" data "1029","winstone-data/fnt2/_I.jpg" data "1026","winstone-data/fnt2/_J.jpg" data "1081","winstone-data/fnt2/_K.jpg" data "982","winstone-data/fnt2/_L.jpg" data "1069","winstone-data/fnt2/_M.jpg" data "1074","winstone-data/fnt2/_N.jpg" data "1108","winstone-data/fnt2/_O.jpg" data "1031","winstone-data/fnt2/_P.jpg" data "1114","winstone-data/fnt2/_Q.jpg" data "1078","winstone-data/fnt2/_R.jpg" data "1107","winstone-data/fnt2/_S.jpg" data "1028","winstone-data/fnt2/_T.jpg" data "1084","winstone-data/fnt2/_U.jpg" data "1087","winstone-data/fnt2/_V.jpg" data "1087","winstone-data/fnt2/_W.jpg" data "1107","winstone-data/fnt2/_X.jpg" data "1056","winstone-data/fnt2/_Y.jpg" data "1066","winstone-data/fnt2/_Z.jpg" data "1544","winstone-data/img/back.jpg" data "55148","winstone-data/img/board6.jpg" data "1694","winstone-data/img/config.jpg" data "193282","winstone-data/img/configscreen2.jpg" data "1466","winstone-data/img/help.jpg" data "197422","winstone-data/img/helpscreen.jpg" data "1389","winstone-data/img/hint.jpg" data "38291","winstone-data/img/menu_top2.jpg" data "1284","winstone-data/img/no.jpg" data "186692","winstone-data/img/paper-timeup.jpg" data "92639","winstone-data/img/paper-title-left.jpg" data "92323","winstone-data/img/paper-title-right.jpg" data "183301","winstone-data/img/paper-title.jpg" data "10996","winstone-data/img/pop-a-1.jpg" data "9575","winstone-data/img/pop-a-2.jpg" data "10025","winstone-data/img/pop-a-3.jpg" data "7404","winstone-data/img/pop-a-4.jpg" data "8612","winstone-data/img/pop-a-5.jpg" data "6395","winstone-data/img/pop-a-6.jpg" data "7381","winstone-data/img/pop-b-1.jpg" data "5979","winstone-data/img/pop-b-2.jpg" data "6606","winstone-data/img/pop-b-3.jpg" data "7093","winstone-data/img/pop-b-4.jpg" data "5228","winstone-data/img/pop-b-5.jpg" data "5863","winstone-data/img/pop-b-6.jpg" data "5615","winstone-data/img/pop-c-1.jpg" data "5865","winstone-data/img/pop-c-2.jpg" data "6980","winstone-data/img/pop-c-3.jpg" data "5748","winstone-data/img/pop-c-4.jpg" data "6015","winstone-data/img/pop-c-5.jpg" data "6585","winstone-data/img/pop-c-6.jpg" data "6214","winstone-data/img/pop-d-1.jpg" data "6653","winstone-data/img/pop-d-2.jpg" data "4651","winstone-data/img/pop-d-3.jpg" data "6624","winstone-data/img/pop-d-4.jpg" data "6142","winstone-data/img/pop-d-5.jpg" data "6878","winstone-data/img/pop-d-6.jpg" data "6545","winstone-data/img/pop-e-1.jpg" data "5404","winstone-data/img/pop-e-2.jpg" data "5027","winstone-data/img/pop-e-3.jpg" data "6183","winstone-data/img/pop-e-4.jpg" data "6007","winstone-data/img/pop-e-5.jpg" data "4484","winstone-data/img/pop-e-6.jpg" data "5438","winstone-data/img/pop-f-1.jpg" data "5766","winstone-data/img/pop-f-2.jpg" data "6131","winstone-data/img/pop-f-3.jpg" data "6240","winstone-data/img/pop-f-4.jpg" data "6006","winstone-data/img/pop-f-5.jpg" data "5659","winstone-data/img/pop-f-6.jpg" data "5073","winstone-data/img/pop-g-1.jpg" data "4976","winstone-data/img/pop-g-2.jpg" data "5959","winstone-data/img/pop-g-3.jpg" data "6729","winstone-data/img/pop-g-4.jpg" data "5791","winstone-data/img/pop-g-5.jpg" data "5928","winstone-data/img/pop-g-6.jpg" data "6246","winstone-data/img/pop-h-1.jpg" data "5840","winstone-data/img/pop-h-2.jpg" data "5831","winstone-data/img/pop-h-3.jpg" data "6608","winstone-data/img/pop-h-4.jpg" data "7125","winstone-data/img/pop-h-5.jpg" data "7437","winstone-data/img/pop-h-6.jpg" data "4716","winstone-data/img/pop-z-1.jpg" data "4759","winstone-data/img/pop-z-10.jpg" data "4976","winstone-data/img/pop-z-11.jpg" data "4820","winstone-data/img/pop-z-12.jpg" data "5154","winstone-data/img/pop-z-13.jpg" data "4941","winstone-data/img/pop-z-14.jpg" data "4688","winstone-data/img/pop-z-15.jpg" data "4473","winstone-data/img/pop-z-16.jpg" data "4816","winstone-data/img/pop-z-2.jpg" data "5920","winstone-data/img/pop-z-3.jpg" data "4959","winstone-data/img/pop-z-4.jpg" data "4629","winstone-data/img/pop-z-5.jpg" data "5146","winstone-data/img/pop-z-6.jpg" data "4402","winstone-data/img/pop-z-7.jpg" data "5366","winstone-data/img/pop-z-8.jpg" data "4794","winstone-data/img/pop-z-9.jpg" data "3800","winstone-data/img/popstrip.jpg" data "1408","winstone-data/img/quitbtn.jpg" data "1559","winstone-data/img/quote.jpg" data "2819","winstone-data/img/reset.jpg" data "18563","winstone-data/img/resetnotice.jpg" data "7381","winstone-data/img/select-champ.jpg" data "6383","winstone-data/img/select-msg.jpg" data "53532","winstone-data/img/select.jpg" data "919","winstone-data/img/solved.jpg" data "1583","winstone-data/img/startbtn.jpg" data "37527","winstone-data/img/timernotice.jpg" data "664","winstone-data/img/time_grn2.jpg" data "676","winstone-data/img/time_red2.jpg" data "661","winstone-data/img/time_yel2.jpg" data "1941","winstone-data/img/title.jpg" data "4522","winstone-data/img/wimp.jpg" data "187273","winstone-data/img/win.jpg" data "1389","winstone-data/img/yes.jpg" data "1639","winstone-data/img/_back.jpg" data "1808","winstone-data/img/_config.jpg" data "1586","winstone-data/img/_help.jpg" data "1499","winstone-data/img/_hint.jpg" data "1405","winstone-data/img/_no.jpg" data "1538","winstone-data/img/_quitbtn.jpg" data "1665","winstone-data/img/_quote.jpg" data "2958","winstone-data/img/_reset.jpg" data "1725","winstone-data/img/_startbtn.jpg" data "2037","winstone-data/img/_title.jpg" data "4757","winstone-data/img/_wimp.jpg" data "1506","winstone-data/img/_yes.jpg" data "1048","winstone-data/num/1.jpg" data "1213","winstone-data/num/10.jpg" data "1161","winstone-data/num/11.jpg" data "1216","winstone-data/num/12.jpg" data "1209","winstone-data/num/13.jpg" data "1216","winstone-data/num/14.jpg" data "1204","winstone-data/num/15.jpg" data "1229","winstone-data/num/16.jpg" data "1193","winstone-data/num/17.jpg" data "1232","winstone-data/num/18.jpg" data "1230","winstone-data/num/19.jpg" data "1097","winstone-data/num/2.jpg" data "1248","winstone-data/num/20.jpg" data "1194","winstone-data/num/21.jpg" data "1249","winstone-data/num/22.jpg" data "1247","winstone-data/num/23.jpg" data "1252","winstone-data/num/24.jpg" data "1261","winstone-data/num/25.jpg" data "1270","winstone-data/num/26.jpg" data "1228","winstone-data/num/27.jpg" data "1264","winstone-data/num/28.jpg" data "1262","winstone-data/num/29.jpg" data "1119","winstone-data/num/3.jpg" data "1264","winstone-data/num/30.jpg" data "1214","winstone-data/num/31.jpg" data "1270","winstone-data/num/32.jpg" data "1259","winstone-data/num/33.jpg" data "1248","winstone-data/num/34.jpg" data "1275","winstone-data/num/35.jpg" data "1276","winstone-data/num/36.jpg" data "1234","winstone-data/num/37.jpg" data "1281","winstone-data/num/38.jpg" data "1285","winstone-data/num/39.jpg" data "1082","winstone-data/num/4.jpg" data "1246","winstone-data/num/40.jpg" data "1203","winstone-data/num/41.jpg" data "1245","winstone-data/num/42.jpg" data "1276","winstone-data/num/43.jpg" data "1251","winstone-data/num/44.jpg" data "1272","winstone-data/num/45.jpg" data "1269","winstone-data/num/46.jpg" data "1227","winstone-data/num/47.jpg" data "1271","winstone-data/num/48.jpg" data "1270","winstone-data/num/49.jpg" data "1119","winstone-data/num/5.jpg" data "1275","winstone-data/num/50.jpg" data "1114","winstone-data/num/6.jpg" data "1078","winstone-data/num/7.jpg" data "1129","winstone-data/num/8.jpg" data "1123","winstone-data/num/9.jpg" data "43094","winstone-data/sfx/sfx_boom.mp3" data "59477","winstone-data/sfx/sfx_clap.mp3" data "10368","winstone-data/sfx/sfx_click.mp3" data "5960","winstone-data/sfx/sfx_click2.mp3" data "10158","winstone-data/sfx/sfx_click5.mp3" data "171699","winstone-data/sfx/sfx_credits.mp3" data "34736","winstone-data/sfx/sfx_crumble.mp3" data "12717","winstone-data/sfx/sfx_dropdown.mp3" data "3858","winstone-data/sfx/sfx_music.mid" data "4444","winstone-data/sfx/sfx_pop1.mp3" data "36907","winstone-data/sfx/sfx_roll.mp3" data "105870","winstone-data/sfx/sfx_rumble.mp3" data "105870","winstone-data/sfx/sfx_rumble2.mp3" data "6396","winstone-data/sfx/sfx_select.mp3" data "13501","winstone-data/sfx/sfx_slideup.mp3" data "61506","winstone-data/vid/crum0000.jpg" data "62013","winstone-data/vid/crum0001.jpg" data "63214","winstone-data/vid/crum0002.jpg" data "64006","winstone-data/vid/crum0003.jpg" data "64119","winstone-data/vid/crum0004.jpg" data "63966","winstone-data/vid/crum0005.jpg" data "63104","winstone-data/vid/crum0006.jpg" data "62907","winstone-data/vid/crum0007.jpg" data "51274","winstone-data/vid/crum0008.jpg" data "42284","winstone-data/vid/crum0009.jpg" data "32678","winstone-data/vid/crum0010.jpg" data "26198","winstone-data/vid/crum0011.jpg" data "18806","winstone-data/vid/crum0012.jpg" data "15227","winstone-data/vid/crum0013.jpg" data "13850","winstone-data/vid/crum0014.jpg" data "17133","winstone-data/vid/roll0000.jpg" data "17074","winstone-data/vid/roll0001.jpg" data "17025","winstone-data/vid/roll0002.jpg" data "16976","winstone-data/vid/roll0003.jpg" data "16857","winstone-data/vid/roll0004.jpg" data "16631","winstone-data/vid/roll0005.jpg" data "25927","winstone-data/vid/sel0000.jpg" data "23638","winstone-data/vid/sel0001.jpg" data "20104","winstone-data/vid/sel0002.jpg" data "17789","winstone-data/vid/sel0003.jpg" data "15694","winstone-data/vid/sel0004.jpg" data "13662","winstone-data/vid/sel0005.jpg" data "12329","winstone-data/vid/sel0006.jpg" data "11103","winstone-data/vid/sel0007.jpg" data "10106","winstone-data/vid/sel0008.jpg" data "9163","winstone-data/vid/sel0009.jpg" data "8398","winstone-data/vid/sel0010.jpg" data "7631","winstone-data/vid/sel0011.jpg" data "7111","winstone-data/vid/sel0012.jpg" data "6553","winstone-data/vid/sel0013.jpg" data "5980","winstone-data/vid/sel0014.jpg" data "4875","winstone-data/vid/sel0015.jpg" data "#"