5 'IMines 10 CLS:CLV:CLP:C=2:M=40 20 FOR I=2 TO 19:FOR J=7 TO 24:LC J,I:?CHR$(2-((I=2)|(I=19)|(J=7)|(J=24)));:NEXT:NEXT:GSB90:GSB100:GSB110:?CHR$(#E0); 30 K=INKEY():IF !K GOTO30 ELSE IF K>27&&K<32 GSB100:?CHR$(C);:X=(X-(K=28)+(K=29))&15:Y=(Y-(K=30)+(K=31))&15:GSB100:C=SCR():GSB110:?CHR$(#E0);:GOTO30 40 IF K!=32&&C=2||C=255 C=(C=2)*255+(C=255)*2:M=M-(C=255)+(C=2):GSB90:GSB110:GOTO30 50 IF C!=2 GOTO30 ELSE IF !O FOR I=1 TO 40:GSB120:NEXT 60 IF !([Y]>>X&1) C=0:FOR I=Y-1 TO Y+1:IF I<0||I>16 NEXT ELSE FOR J=X-1 TO X+1:C=C+[I]>>J&1:NEXT:NEXT:C=C+48*(C>0):GSB100:GSB110:?CHR$(#E0);:O=O+1:IF O<216 GOTO30 ELSE LC 13,21:?"CLEAR!":END 70 C=42:GSB110:FOR Y=0 TO 15:FOR X=0 TO 15:GSB100:S=SCR():H=[Y]>>X&1:IF S=2&&H ?"*"; ELSE IF S=255&&!H ?"x"; 80 NEXT:NEXT:LC 11,21:?"GAME OVER!":END 90 LC 23,1:?M," ";:RTN 100 LC X+8,Y+3:RTN 110 FOR I=0 TO 7:POKE #700+I,~PEEK(C*8+I):NEXT:RTN 120 U=RND(16):V=RND(16):IF ABS(X-U)<2&&ABS(Y-V)<2 GOTO120 ELSE IF [U]>>V&1 GOTO120 ELSE [U]=[U]|1<<V:RTN
windows版と違ってまとめて開くことができない分、こちらの方がより集中力を要求されますね。タイムアタックができるようになったら、一晩中遊んでしまいそうです。あとは、初手は地雷を踏まないという仕様にすると、より一層マインスイーパになりますね。