2011年04月02日投稿 / 投稿者 : 名無しさん / タグ : 投稿プログラム ゲーム QRコード 初代対応
Windowsでおなじみのマインスイーパーを移植してみました。
タッチペンだけで遊べること、なるべくうっかりミスで死なないことを目指し
Windows版と一部操作系を変えています
個人的にDSとマインスイーパはすごく相性がいいと思います
6行目の数字を変えることでマスの数を変えることができますが16×16(Windowsの中級に相当)ぐらいまでにしておくのが無難です。
プチコンmkII 向けの QR コードです。
- CLEAR:PNLTYPE”OFF”
- GPAGE 0:GCLS 0
- GPAGE 1:GCLS 0
- ’マスノヨコ,タテ,シ゛ライノカス゛
- XX= 9:YY= 9:BOMB=10
- ’XX=16:YY=16:BOMB= 40
- ’XX=36:YY=24:BOMB=130
- Z=192/YY:RT=9999
- ’マスノモシ゛トイロ
- DIM N$(12),C(12),V(XX+2,YY+2)
- FOR I=0 TO 11:READ N$(I):NEXT
- FOR I=0 TO 11:READ C(I):NEXT
- DATA ,17,025368,0254586
- DATA 03528,203586,206853,027
- DATA 03680,0862,6053,
- DATA 6,8,8,8,8,8,8,8,8,2,15,1
- ’クリアシ゛ノテ゛ータコウシン
- @STGCLR
- CLS:?”MINE SWEEPER SEMI−AUTO”
- LOCATE 8,4:?”クリアカイスウ x”,CC
- CC=CC+1:IF CC==1 GOTO @START
- IF RT>T THEN RT=T
- ?,,”サイタンキロク”,,RT;” S ”
- ST=ST+T:M=FLOOR(ST/(CC−1))
- ?,,”ヘイキンタイム”,,M;” S ”
- ?,,”クリアタイム”,,T;” S ”
- BGMPLAY 5:VSYNC 300
- ’ケ゛ームオーハ゛ーナラ ココニモト゛ル
- @START
- FOR DX=0 TO XX+1
- FOR DY=0 TO YY+1
- V(DX,DY)=10
- D=11:GOSUB @DRW
- NEXT
- NEXT
- ’シ゛ライセッチ
- FOR I=1 TO BOMB
- @S1
- X=RND(XX)+1:Y=RND(YY)+1
- IF V(X,Y)>18 GOTO @S1
- V(X,Y)=19
- FOR J=X−1 TO X+1
- FOR K=Y−1 TO Y+1
- V(J,K)=V(J,K)+(V(J,K)<18)
- NEXT
- NEXT
- NEXT
- FRM=MAINCNTL:ENDFLG=0
- BGMPLAY 25:GOTO @T2
- ’タッチニュウリョク マチ
- @TCH
- T=FLOOR((MAINCNTL−FRM)/60)
- LOCATE 8,9:?”ケイカシ゛カン”,,T;” S”,
- IF Q==0 GOTO @STGCLR
- IF ENDFLG==1 GOTO @GMOVR
- IF TCHST ==0 GOTO @TCH
- X=FLOOR(TCHX/Z)+1
- Y=FLOOR(TCHY/Z)+1
- IF X>XX OR Y>YY GOTO @TCH
- @T1
- IF TCHST==1 GOTO @T1
- ’タッチシタトキノフ゛ンキ
- V=FLOOR(V(X,Y)/10)
- ON V GOSUB @AUTO,@MAN,@FLG
- @T2
- Q=XX*YY−BOMB
- FOR Y=1 TO YY
- FOR X=1 TO XX
- IF V(X,Y)<9 THEN Q=Q−1
- NEXT
- NEXT
- LOCATE 8,10:?”ノコリ”,,,Q;”マス ”
- GOTO @TCH
- ’アイテルマスヲタッチシテ オーフ゜ン
- @AUTO
- F=0
- FOR I=X−1 TO X+1
- FOR J=Y−1 TO Y+1
- IF V(I,J)>=20 THEN F=F+1
- NEXT
- NEXT
- IF F!=V(X,Y) THEN RETURN
- ’ハタノナイ アイテナイマス ヲアケル
- BEEP 2
- FOR DX=X−1 TO X+1
- FOR DY=Y−1 TO Y+1
- M=V(DX,DY):N=FLOOR(M/10)
- IF N!=1 GOTO @A1
- V(DX,DY)=M−10:D=M−10
- GOSUB @DRW
- @A1
- NEXT
- NEXT
- GOSUB @OPN
- RETURN
- ’アイテナイマスヲタッチ
- @MAN
- F=0
- FOR I=X−1 TO X+1
- FOR J=Y−1 TO Y+1
- IF V(I,J)<9 THEN F=1
- NEXT
- NEXT
- IF F==0 GOTO @MAN1
- ’コリツシテイナイナラ ハタヲタテル
- BEEP 3
- V(X,Y)=V(X,Y)+10
- DX=X:DY=Y:D=10:GOSUB @DRW
- RETURN
- ’コリツシタマスヲクリックシテ オーフ゜ン
- @MAN1
- D=V(X,Y)−10:V(X,Y)=D
- DX=X:DY=Y:GOSUB @DRW
- IF D!=0 GOTO @TCH
- BEEP 32:GOSUB @OPN
- RETURN
- ’ハタヲ ヒッコメル
- @FLG
- DX=X:DY=Y:D=11:GOSUB @DRW
- V(X,Y)=V(X,Y)−10
- GOTO @TCH
- ’ケ゛ームオーハ゛ー
- @GMOVR
- BGMPLAY 6:BEEP 13:VSYNC 300
- GOTO @START
- ’マスノヒ゛ョウシャ
- @DRW
- DD=(DX>XX) OR (DY>YY)
- IF DD THEN RETURN
- DZ=Z/4
- DL=(DX−1)*Z:DT=(DY−1)*Z
- GFILL DL,DT,DL+Z,DT+Z,C(D)
- GBOX DL,DT,DL+Z,DT+Z,0
- IF D==9 THEN ENDFLG=1
- FOR I=0 TO LEN(N$(D))−1
- D0=VAL(MID$(N$(D),I,1))
- D1=DL+(D0%3)*DZ+DZ
- D2=DT+FLOOR(D0/3)*DZ+DZ
- IF I==0 THEN D3=D1:D4=D2
- GLINE D1,D2,D3,D4,1
- D3=D1:D4=D2
- NEXT
- RETURN
- ’0ノマスナラ レンソ゛クシテアケル
- @OPN
- F=0
- FOR X=1 TO XX
- FOR Y=1 TO YY
- IF V(X,Y)!=0 GOTO @OP1
- FOR DX=X−1 TO X+1
- FOR DY=Y−1 TO Y+1
- IF V(DX,DY)<9 GOTO @OP2
- D=V(DX,DY)%10:GOSUB @DRW
- V(DX,DY)=D:F=1
- @OP2
- NEXT
- NEXT
- @OP1
- NEXT
- NEXT
- IF F==1 GOTO @OPN
- RETURN
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.116 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:05 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30