This is the classical Lights Out game, written using the Doors CS BASIC Libraries (aka DCSb Libs), a feature of Doors CS 6.7 beta and higher. Use the arrow keys to move the cursor around, [2ND] or [TRACE] to left-click, [CLEAR] to quit. If you turn all the lights out, you win the game. Note that 75% of all randomly-generated Lights Out boards are unsolvable. Doors CS 6.7 or higher required. Because of the way this works, I'll admit it's on the rather slow side; this isn't the best use of the GUI libraries. However, it's a fun one, and it shows what nifty stuff you can do in less than 1KB with Doors CS libraries and a single program. Screenshots and code below for your edification.
Download
Lights Out DE v1.0
Download
Lights Out DE v1.0
BASIC Code wrote:
::DCS6
:"43C20C3010089009200420042244A3C5124812484E7205A0066005A0066003C0
:If 1337≠det([[42
:Then:ClrHome
:"Doors CS 6.7 or","higher requird","dcs.cemetech.net
:Return:End
:real(0,0
:{5,5→dim([J]
:For(A,1,5
:For(B,1,5
:randInt(0,1→[J](A,B
:End:End
:sum(10
:sum(7,2,8,8,"7088A85070","Lights Out
:sum(7,5,32
:sum(7,4,1,32,"By Kerm Martian
:sum(7,4,55,3,0,"Moves
:{45,32→L6
:DelVar QDelVar MRepeat Q
:sum(7,13,50,10,M,M,M
:For(A,1,5
:For(B,1,5
:sum(7,16,9+6B,‾5+6A,5,sub("F8888888F8F8F8F8F8F8",1+10[J](A,B),10
:End:End
:sum(7,14,15,1,30,30
:sum(12,L6(1),L6(2),2→L6
:not(L6(4→Q
:If 5=L6(4
:Then
:int((L6(2)/6)-2→A
:int((L6(1)/6)-3→B
:1-[J](A,B→[J](A,B
:If A≠1
:1-[J](A-1,B→[J](A-1,B
:If A≠5
:1-[J](A+1,B→[J](A+1,B
:If B≠1
:1-[J](A,B-1→[J](A,B-1
:If B≠5
:1-[J](A,B+1→[J](A,B+1
:M+1→M
:End
:sum(8,27
:End
:If Q=2:Then
:sum(8,1
:sum(7,4,10,1,0,"Congratulations!
:"300C481257EA581A2814281428141008100808100420024002400C3010081FF8
:sum(7,17,43,11,2,16,Ans
:sum(7,17,15,11,2,16,Ans
:sum(12,45,32,2
:End
:sum(10
:ClrHome
:Disp "LIGHTS OUT DE","BY Kerm MARTIAN
Generated by SourceCoder, © 2005-2010 Cemetech
:"43C20C3010089009200420042244A3C5124812484E7205A0066005A0066003C0
:If 1337≠det([[42
:Then:ClrHome
:"Doors CS 6.7 or","higher requird","dcs.cemetech.net
:Return:End
:real(0,0
:{5,5→dim([J]
:For(A,1,5
:For(B,1,5
:randInt(0,1→[J](A,B
:End:End
:sum(10
:sum(7,2,8,8,"7088A85070","Lights Out
:sum(7,5,32
:sum(7,4,1,32,"By Kerm Martian
:sum(7,4,55,3,0,"Moves
:{45,32→L6
:DelVar QDelVar MRepeat Q
:sum(7,13,50,10,M,M,M
:For(A,1,5
:For(B,1,5
:sum(7,16,9+6B,‾5+6A,5,sub("F8888888F8F8F8F8F8F8",1+10[J](A,B),10
:End:End
:sum(7,14,15,1,30,30
:sum(12,L6(1),L6(2),2→L6
:not(L6(4→Q
:If 5=L6(4
:Then
:int((L6(2)/6)-2→A
:int((L6(1)/6)-3→B
:1-[J](A,B→[J](A,B
:If A≠1
:1-[J](A-1,B→[J](A-1,B
:If A≠5
:1-[J](A+1,B→[J](A+1,B
:If B≠1
:1-[J](A,B-1→[J](A,B-1
:If B≠5
:1-[J](A,B+1→[J](A,B+1
:M+1→M
:End
:sum(8,27
:End
:If Q=2:Then
:sum(8,1
:sum(7,4,10,1,0,"Congratulations!
:"300C481257EA581A2814281428141008100808100420024002400C3010081FF8
:sum(7,17,43,11,2,16,Ans
:sum(7,17,15,11,2,16,Ans
:sum(12,45,32,2
:End
:sum(10
:ClrHome
:Disp "LIGHTS OUT DE","BY Kerm MARTIAN
Generated by SourceCoder, © 2005-2010 Cemetech