:"Mineswpr ClrHome CoordOff AxesOff 0->Xmin 94->Xmax ~62->Ymin 0->Ymax 0->S ClrDraw Line(3,~1,3,~9 Line(0,0,6,0 Text(4,8,"exas Line(3,~13,3,~20 Line(1,~12,5,~12 Line(1,~21,5,~21 Text(16,8,"nstruments Line(1,~24,1,~33 Line(1,~24,3,~26 Line(3,~26,5,~24 Line(5,~24,5,~33 Text(28,8,"inesweeper Pt-On(74,~18 For(I,1,4 Circle(74,~18,I End Line(74,~13,74,~12 Line(78,~14,79,~13 Line(79,~18,80,~18 Line(78,~22,79,~23 Line(74,~23,74,~24 Line(70,~22,69,~23 Line(69,~18,68,~18 Line(70,~14,69,~13 Text(39,2,"This game is not produced by Text(45,15,"Texas Instruments. Line(2,~56,4,~56 Pt-On(5,~57 Line(6,~58,6,~60 Pt-On(5,~61 Line(4,~62,2,~62 Pt-On(1,~61 Line(0,~60,0,~58 Pt-On(1,~57 Line(4,~58,3,~58 Pt-On(2,~59 Line(3,~60,4,~60 Text(56,8,"2010 GMadison Pause ClrHome UnArchive L6 If dim(L6)=8 Then If not(L6(8) Then If L6(7)=~1 Then ~1->S Menu("Continue Game?","Yes",Z,"No",N End End End Goto N Lbl Z ClrHome UnArchive [J] UnArchive [I] UnArchive |LR UnArchive |LC L6(1)->N L6(2)->O L6(3)->M L6(4)->L L6(5)->A L6(6)->P Goto S Lbl N 0->S UnArchive L6 ClrList L6 Lbl M1 Menu("Game Mode:","Beginner",B,"Intermediate",I,"Expert",E,"Custom",C,"Instructions",T,"Save Game",Y,"Quit",Q Lbl B 4->N 3->O 2->M Goto S Lbl I 6->N 8->O 10->M Goto S Lbl E 8->N 13->O 27->M Goto S Lbl C 0->N While N<=0 or N>8 Input "Rows (1-8): ",N End 0->O While O<=0 or O>13 Input "Columns (1-13): ",O End 0->M While M<=0 or M>=NO ClrHome Output(8,1,"Rows*Columns= Output(8,14,NO Input "Mines (Mdim([J] Fill(0,[J] [J]->[I] {0}->|LR {0}->|LC For(I,1,M randInt(1,N)->A randInt(1,O)->B While [J](A,B)=~1 A+randInt(~1,1)->A B+randInt(~1,1)->B If not(A N->A If not(B O->B If A>N 1->A If B>O 1->B End ~1->[J](A,B 1->[I](A,B augment(|LR,{A})->|LR augment(|LC,{B})->|LC For(J,~1,1 For(K,~1,1 If J or K Then If A+J>0 and A+J<=N and B+K>0 and B+K<=O Then If [J](A+J,B+K)!=~1 [J](A+J,B+K)+1->[J](A+J,B+K End End End End End M->L M->P End If S!=~1 Then 1->V 1->W End Text(57,0,"Mines left: Text(57,34,L Text(57,64,"Time: If S!=~1 Then Text(57,83,"000 Else 83->B If A<100 Then B+4->B Text(57,83,"0 If A<10 Then B+4->B Text(57,87,"0 End End Text(57,B,A End Pause Pxl-On(7W-6,7V-6 Pxl-On(7W-6,7V-1 Pxl-On(7W-1,7V-6 Pxl-On(7W-1,7V-1 startTmr->T If S=~1 T-A->T 0->theta While theta!=22 0->theta While not(theta If not(theta getKey->theta checkTmr(T)->A Text(57,91-4(A>=10)-4(A>=100),A If not(theta getKey->theta End checkTmr(T)->A Text(57,91-4(A>=10)-4(A>=100),A If theta=24 or theta=25 or theta=26 or theta=34 Then Pxl-Off(7V-6,7W-6 Pxl-Off(7V-1,7W-6 Pxl-Off(7V-6,7W-1 Pxl-Off(7V-1,7W-1 If theta=24 W-1->W If theta=25 V-1->V If theta=26 W+1->W If theta=34 V+1->V If not(V 1->V If not(W 1->W If V>N N->V If W>O O->W Pxl-On(7V-6,7W-6 Pxl-On(7V-6,7W-1 Pxl-On(7V-1,7W-6 Pxl-On(7V-1,7W-1 End If theta=105 Then not(pxl-Test(7V-2,7W-3) and pxl-Test(7V-3,7W-3) and pxl-Test(7V-4,7W-3) and pxl-Test(7V-5,7W-3) and pxl-Test(7V-5,7W-4) and pxl-Test(7V-4,7W-4) and pxl-Test(7V-4,7W-5) and pxl-Test(7V-5,7W-5))->B If [J](V,W)!=~1 and B and not([I](V,W) Then Text(7V-7,7W-5,[J](V,W) Line(7W-5,~7V+7,7W-2,~7V+7 1->[I](V,W P+1->P If not([J](V,W) Then V->|LY(1) W->|LX(1) 1->I Pt-Off(7W-6,~7V+6 Pt-Off(7W-6,~7V+1 Pt-Off(7W-1,~7V+6 Pt-Off(7W-1,~7V+1 While I<=dim(|LY) checkTmr(T)->A Text(57,91-4(A>=10)-4(A>=100),A |LY(I)->E |LX(I)->F For(J,~1,1 For(K,~1,1 If E+J>0 and E+J<=N and F+K>0 and F+K<=O Then If (J or K) and not([I](E+J,F+K) Then Text(7(E+J)-7,7(F+K)-5,[J](E+J,F+K) Line(7(F+K)-5,~7(E+J)+7,7(F+K)-2,~7(E+J)+7 1->[I](E+J,F+K P+1->P If not([J](E+J,F+K)) and sum(|LY=E+J and |LX=F+K)<2 Then augment(|LY,{E+J})->|LY augment(|LX,{F+K})->|LX End End End End End I+1->I End DelVar |LX DelVar |LY Pt-On(7W-6,~7V+6 Pt-On(7W-6,~7V+1 Pt-On(7W-1,~7V+6 Pt-On(7W-1,~7V+1 End Else If B and (not([I](V,W)) or [J](V,W)=~1 Then Line(7W-4,~7V+6,7W-4,~7V+1 Line(7W-3,~7V+6,7W-3,~7V+1 Line(7W-6,~7V+4,7W-1,~7V+4 Line(7W-6,~7V+3,7W-1,~7V+3 checkTmr(T)->A Text(57,91,4(A>=10)-4(A>=100),A Text(57,44,"Lost! For(I,2,dim(|LR) |LR(I)->J |LC(I)->K If J!=V or K!=W Then Line(7K-3,~7J+2,7K-3,~7J+5 Line(7K-4,~7J+5,7K-5,~7J+5 Line(7K-4,~7J+4,7K-5,~7J+4 End End Pause Goto N End End If P=NO Then Pxl-Off(7V-6,7W-6 Pxl-Off(7V-1,7W-6 Pxl-Off(7V-6,7W-1 Pxl-Off(7V-1,7W-1 checkTmr(T)->A Text(57,91-4(A>=10)-4(A>=100),A Text(57,46,"Won! For(I,2,dim(|LR) |LR(I)->J |LC(I)->K Line(7K-3,~7J+2,7K-3,~7J+5 Line(7K-4,~7J+5,7K-5,~7J+5 Line(7K-4,~7J+4,7K-5,~7J+4 End Pause Goto N End End If theta=45 Then If [J](V,W)=~1 or not([I](V,W) Then not(pxl-Test(7V-2,7W-3) and pxl-Test(7V-3,7W-3) and pxl-Test(7V-4,7W-3) and pxl-Test(7V-5,7W-3) and pxl-Test(7V-5,7W-4) and pxl-Test(7V-4,7W-4) and pxl-Test(7V-4,7W-5) and pxl-Test(7V-5,7W-5))->B Line(7W-3,~7V+2,7W-3,~7V+5,B Line(7W-4,~7V+5,7W-5,~7V+5,B Line(7W-4,~7V+4,7W-5,~7V+4,B If B L-1->L If not(B L+1->L Text(57,34," Text(57,34,L End End End Goto M1 Lbl T ClrDraw Text(0,1,"Instructions to Minesweeper Line(0,~7,94,~7 Text(8,0,"-When game parameters are Text(14,4,"set, wait until game info Text(20,4,"shows up below the grid. Text(26,0,"-Press 'Enter' to start and Text(32,4,"to expose a number. Text(38,0,"-Use 'Clear' to mark a mine. Text(44,0,"-'Mode' goes to main menu. Text(50,0,"-Arrows move the cursor. Text(56,0,"-Do not use 'Alpha!' Pause Goto M1 Lbl Y StorePic 3 Archive Pic3 Archive [J] Archive [I] Archive |LR Archive |LC N->L6(1 O->L6(2 M->L6(3 L->L6(4 A->L6(5 P->L6(6 ~1->L6(7 0->L6(8 Archive L6 Goto R Lbl Q UnArchive L6 ClrList L6 Lbl R ClrDraw ClrHome Stop