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