2012年4月8日投稿 / 投稿者 : わかん / タグ : 投稿プログラム ゲーム トランプゲーム QRコード mkII専用
普通のフリーセルです。フリーセルが分からない方はググってね。
残念ながらWindows付属のフリーセルのゲーム番号には対応していませんが、あらゆるカード配置でゲームが遊べます。
起動すると下画面に説明が出てきますのでそれを読んでください。
プログラム中に説明がありませんが、GAME IDはカードの初期配置を左上から横に読んで、各カードを下のように変換した文字列になります。
- │A23456789гJQK
- ─┼─────────────
- Я│〜。「」、・ヲアイウエオカ
- а│キクケコサシスセソタチツテ
- в│トナニヌネノハヒフヘホマミ
- б│ムメモヤユヨラリルレロワン
上記に無い文字列は無視されますのでSELECT GAMEで入力する際は分かりやすくスペースを挟むとよいでしょう。
ちなみに、SELECT GAMEで入力する時に出る分数は目安ですので、守らなくても、併せてちゃんとしたGAME IDになれば通ります。
ちなみにちなみに、SELECT GAMEの1つ目の入力で"ランダム"と入れればRANDOM GAMEが始まります。
動作しているところを撮影した写真や動画があれば貼り付けてください。
プチコンmkII 向けの QR コードです。
- VISIBLE 1,1,0,0,0,0
- @TITLE
- CLEAR:ACLS:PNLTYPE”OFF”
- LOCATE 4,8
- ′””””””””””””””””””””””””””
- ?”┻┏┏┻┏┫┻┏┏┻┏┏┳┏┫┻┏┏┻ ┻ ”:?” ”;
- ?”┻┠┓┻┠┗┻┠┓┻┠┓┻ ┻┠┓┻ ┻ ”:?” ”;
- ?”┻ ┻┃┓┻ ┻ ┻ ┳┻ ┻ ┻ ”:?” ”;
- ?”┃ ┃ ┃┃┏┏┃┏┏ ┏━┃┏┏┃┏┏┃┏┏”
- ′””””””””””””””””””””””””””
- ′(C)ワカン
- ′カイヘン・リュウヨウ ハ コ゛シ゛ユウニ。
- ′チュウタ゛ン テ゛ータ セーフ゛ヨウノ
- ′ファイルヲ 2ツ シテイ。
- FILE0$=”MEM:FREECELL”
- FILE1$=”MEM:FREECELU”
- ′イチフ゛ テ゛フォルトトハ
- ′コトナル フォントカ゛ アリマス。
- ′CHR$(224)=”■”′ミキ゛ムキ”▲”
- ′CHR$(225)=”●”′ミキ゛ムキ ニシ゛ュウ”△”
- ′CHR$(227)=”▼”′ニシ゛ュウ”△”
- ′CHR$(228)=”□”′ミキ゛ムキ”△”
- ′CHR$(244)=”г”′ヒトモシ゛テ゛”10”
- ′ВВВВВВВВВВВВВВВВВ
- ′В ヘンスウ ナト゛ テイキ゛ В
- ′ВВВВВВВВВВВВВВВВВ
- ′ 0123456789ABCDEF
- S$=” Яавб”
- R$=” A23456789гJQK”
- ′┌────────────────────────┐
- ′│ソレソ゛レノ カ−ト゛ヲ 2ケタノ │
- ′│16シンスウ(カ−ト゛コ−ト゛)テ゛ アラワス。│
- ′│&H10 ノ クライハ ス−ト、 │
- ′│&H01 ノ クライハ ランクヲ アラワス。 │
- ′│EX.”аK”=&H2D │
- ′└────────────────────────┘
- DIM F[9,19]:DIM P[9]
- ′┌──────────────────┐
- ′│フィ−ルト゛ヲ アラワス ハイレツ。│
- ′│F[0]カ゛ フリ−セルヲ、 │
- ′│F[1]カラ F[9]マテ゛ カ゛ │
- ′│ソレソ゛レノ レツヲ アラワス。 │
- ′│ナカミハ カ−ト゛コ−ト゛。 │
- ′│スタックトシテ アツカウタメ、 │
- ′│P[]ニ ソレソ゛レノ レツノ │
- ′│スタックホ゜インタ ヲ カクノウ。 │
- ′└──────────────────┘
- DIM H[4]
- ′┌─────────────────┐
- ′│ホ−ムセルヲ アラワス ハイレツ。│
- ′│ナカミハ イチハ゛ン ウエノ │
- ′│カ−ト゛ノ カ−ト゛コ−ト゛。 │
- ′└─────────────────┘
- UL=129
- DIM U[UL,3]
- ′┌─────────────────────────┐
- ′│UNDOキノウノ タメノ ハイレツ。 │
- ′│U[?]ニ、 │
- ′│イト゛ウモト・イト゛ウサキ・イト゛ウマイスウ ノ │
- ′│クミヲ カクノウ。 │
- ′│イッハ゜イニ ナルト フルイ ホウカラ ウワカ゛キ│
- ′│シ゛ュンカン スルヨウニ ツカウ。 │
- ′│ULハ キオクスル サイタ゛イノ UNDOカイスウ│
- ′│(+1)ヲ キメル テイスウ。 │
- ′└─────────────────────────┘
- GOSUB@INITIALIZE
- GOTO@MENU
- @INITIALIZE ′┐
- ′│ヘンスウ ショキカ。 │
- ′└────────────┘
- FOR I=0 TO 8
- FOR J=0 TO 18
- F[I,J]=0
- NEXT
- P[I]=0
- NEXT
- FOR I=0 TO 3
- H[I]=16*I+16
- NEXT
- C=1:H=0
- ′┌─────────────────────┐
- ′│Cハ カ−ソル。 │
- ′│Hハ ツカンテ゛イル カ−ト゛。 │
- ′│イス゛レモ セイノ カス゛カ゛ レツヲ、 │
- ′│フノ カス゛カ゛ フリ−セルヲ アラワス。│
- ′│タタ゛シ H==0ハ ツカンテ゛イル │
- ′│カ−ト゛カ゛ ナイコトヲ アラワス。 │
- ′└─────────────────────┘
- M=30
- ′┌───────────────────┐
- ′│BGMPLAYノ キョクハ゛ンコ゛ウ。│
- ′│タタ゛シ 30ハ BGMSTOP。 │
- ′└───────────────────┘
- S=0
- ′┌─────────────────┐
- ′│テカス゛。 フリ−セルト レツノ │
- ′│ナカテ゛ イト゛ウスルト フエル。│
- ′└─────────────────┘
- T=0
- ′┌──────────────────┐
- ′│ケ゛−ム スタ−トシ゛ノ シ゛コク。│
- ′└──────────────────┘
- U=0:R=0:D=0
- ′┌───────────────────┐
- ′│Uハ UNDOノ ケ゛ンカイ。 │
- ′│Rハ REDOノ ケ゛ンカイ。 │
- ′│Dハ ト゛コマテ゛ UNDO シタカ。│
- ′└───────────────────┘
- RETURN
- ′ВВВВВВВВВВВВВВВВВ
- ′В フ゜ロク゛ラム ホンリュウ В
- ′ВВВВВВВВВВВВВВВВВ
- @MENU ′─────────┐
- ′│ケ゛−ム モ−ト゛ センタク。│
- ′└───────────────┘
- LOCATE 10,15:?”А:RANDOM GAME”
- LOCATE 10,16:?”Б:SELECT GAME”
- A=0:GOSUB@MANUAL
- SYSBEEP=0
- LOAD FILE0$,0
- SYSBEEP=1
- IF LEN(MEM$)==239 THEN LOCATE 10,17:?”Ф:SUSPENDED GAME”
- @MENU_LOOP
- WAIT 10
- B=BUTTON()
- IF B AND 5 THEN A=(A+3)%4:GOSUB@MANUAL
- IF B AND 10 THEN A=(A+1)%4:GOSUB@MANUAL
- IF B AND 16 GOTO@RGAME
- IF B AND 32 GOTO@SGAME
- IF LEN(MEM$)==239 THEN IF B AND 64 GOTO@SUSGAME
- GOTO@MENU_LOOP
- @RGAME ′───────────────┐
- ′│カ−ト゛ ハイチヲ ランタ゛ムテ゛ カイシ。│
- ′└──────────────────────┘
- G$= ”〜。「」、・ヲアイウエオカ”
- G$=G$+”キクケコサシスセソタチツテ”
- G$=G$+”トナニヌネノハヒフヘホマミ”
- G$=G$+”ムメモヤユヨラリルレロワン”
- FOR I=0 TO 50
- A=RND(52−I)
- G$=LEFT$(G$,A)+MID$(G$,A+1,51−A)+MID$(G$,A,1)
- NEXT I
- GOTO@DEAL
- @SGAME ′─────────────┐
- ′│カ−ト゛ ハイチヲ シテイシテ カイシ。│
- ′└────────────────────┘
- BEEP 3
- CLS:PNLTYPE”KYK”
- @SGAME0
- INPUT”GAME ID(26/52)”;I$
- G$=I$
- IF G$==”ランタ゛ム” GOTO@RGAME
- INPUT”GAME ID(52/52)”;I$
- G$=G$+I$+” ”
- FOR I=0 TO LEN(G$)−1
- A=ASC(MID$(G$,I,1))
- IF 159<A AND A<167 THEN NEXT
- IF 176<A AND A<222 THEN NEXT
- G$=LEFT$(G$,I)+RIGHT$(G$,LEN(G$)−1−I)
- I=I−1
- NEXT
- IF LEN(G$)<52 THEN ?”INPUT AGAIN”:GOTO@SGAME0
- FOR I=LEN(G$)−1 TO 0 STEP −1
- IF INSTR(G$,MID$(G$,I,1))!=I THEN I=−1
- NEXT
- IF I==−2 THEN ?”INPUT AGAIN”:GOTO@SGAME0
- GOTO@DEAL
- @SUSGAME ′───────────┐
- ′│チュウタ゛ンシタ ケ゛−ムヲ サイカイ。│
- ′└────────────────────┘
- G$=MID$(MEM$,0,52)
- FOR I=0 TO 3
- K$=MID$(MEM$,I+52,1)
- IF K$==”0”THEN CC=16*I+16 ELSE GOSUB@KANATOCC
- H[I]=CC
- NEXT
- FOR I=0 TO 8
- X=I
- FOR J=0 TO 18
- K$=MID$(MEM$,56+I*19+J,1)
- GOSUB@KANATOCC
- IF CC>0 THEN V=CC:GOSUB@PUSH
- NEXT
- NEXT
- S=VAL(MID$(MEM$,227,6))
- T=VAL(MID$(MEM$,233,6))
- SYSBEEP=0
- LOAD FILE1$,0
- SYSBEEP=1
- FOR I=0 TO LEN(MEM$)−2 STEP 2
- A=ASC(MID$(MEM$,I,1))
- U[I/2,0]=FLOOR(A/16)−8+(A>127)
- U[I/2,1]=A%16−8+(A%16>7)
- U[I/2,2]=ASC(MID$(MEM$,I+1,1))
- NEXT
- R=I/2:D=R
- GOTO@START
- @DEAL ′─────────────┐
- ′│G$カラ カ−ト゛ ハイチヲ モトメ │
- ′│F[]ニ カ−ト゛コ−ト゛ヲ ハイチ。│
- ′└───────────────────┘
- PNLTYPE”OFF”
- FOR I=0 TO 51
- X=I%8+1
- K$=MID$(G$,I,1)
- GOSUB@KANATOCC
- V=CC
- GOSUB@PUSH
- NEXT
- @START ′─────────┐
- ′│ヒョウシ゛ ナト゛ │
- ′│ケ゛−ム カイシ シ゛ュンヒ゛。│
- ′└────────────────┘
- BGMPLAY 4:WAIT 20
- GOSUB@PRINTBASE
- GOSUB@PRINTCARDS
- GOSUB@PRINTCURSOR
- GOSUB@PRINTSTEPS
- GOSUB@PRINTUNDO
- T=MAINCNTL−T
- @MAIN ′────────────┐
- ′│メインル−フ゜。 │
- ′│オシタ ホ゛タンニ ヨッテ センイ。│
- ′└──────────────────┘
- GOSUB@PRINTTIME
- GOSUB@PRINTCLOCK
- FOR I=0 TO 9
- NEXT
- WAIT 10
- B=BUTTON()
- IF B AND 1 GOTO@UP
- IF B AND 2 GOTO@DOWN
- IF B AND 4 GOTO@LEFT
- IF B AND 8 GOTO@RIGHT
- IF B AND 16 GOTO@ABTN
- IF B AND 32 GOTO@CANCEL
- IF B AND 64 GOTO@TOHC
- IF B AND 128 GOTO@TOFC
- IF B AND 256 GOTO@UNDO
- IF B AND 512 GOTO@REDO
- IF B AND 1024 GOTO@SMENU
- GOTO@MAIN
- @CLEAR ′────────┐
- ′│クリア スルト トンテ゛クル。│
- ′└───────────────┘
- BGMPLAY 5
- COLOR 0
- LOCATE 10,11:?”C L E A R !!”
- LOCATE 11,13:?”А:NEW GAME”
- LOCATE 11,14:?”Б:END GAME”
- @CLEAR_LOOP
- GOSUB@PRINTCLOCK
- WAIT 10
- B=BUTTON()
- IF B AND 16 GOTO@TITLE
- IF B AND 32 GOTO@FINISH
- GOTO@CLEAR_LOOP
- @FINISH ′──────┐
- ′│フ゜ロク゛ラムヲ トシ゛ル。│
- ′└──────────────┘
- ACLS
- WAIT 10:BGMSTOP
- END
- ′ВВВВВВВВВВВВВ
- ′В ホ゛タン ハンノウ В
- ′ВВВВВВВВВВВВВ
- @UP ′↑──────────────────────
- GOSUB@SHIFTTOEMPTY
- IF F GOTO@UP0
- IF !P[0] GOTO@MAIN
- GOSUB@ERASECURSOR
- C=−(C>P[0])*P[0]−(C<=P[0])*C
- GOTO@MOVEEND
- @UP0
- GOSUB@ERASEBLUECARDS
- N=N%L+1
- GOSUB@PRINTBLUECARDS
- GOTO@MOVEEND
- @DOWN ′↓────────────────────
- GOSUB@SHIFTTOEMPTY
- IF F GOTO@DOWN0
- IF !P[0] GOTO@MAIN
- GOSUB@ERASECURSOR
- C=−(C>P[0])*P[0]−(C<=P[0])*C
- GOTO@MOVEEND
- @DOWN0
- GOSUB@ERASEBLUECARDS
- N=(N+L−2)%L+1
- GOSUB@PRINTBLUECARDS
- GOTO@MOVEEND
- @LEFT ′←────────────────────
- GOSUB@SHIFTTOEMPTY
- IF F THEN GOSUB@ERASEBLUECARDS
- GOSUB@ERASECURSOR
- IF C==−1THEN C=−P[0]−1
- IF C==1 THEN C=9
- C=C−SGN(C)
- GOSUB@SHIFTTOEMPTY
- IF F GOTO@CHECKBLUE
- GOTO@MOVEEND
- @RIGHT ′→───────────────────
- GOSUB@SHIFTTOEMPTY
- IF F THEN GOSUB@ERASEBLUECARDS
- GOSUB@ERASECURSOR
- C=C+SGN(C)
- IF C==−P[0]−1 THEN C=−1
- IF C==9 THEN C=1
- GOSUB@SHIFTTOEMPTY
- IF F GOTO@CHECKBLUE
- GOTO@MOVEEND
- @CHECKBLUE
- GOSUB@SHIFTLIMIT
- N=1
- @CHECKBLUE_LOOP
- IF N>=L GOTO@CHECKBLUE_OUT
- X1=H:Y1=P[H]−N−1
- X2=H:Y2=P[H]−N
- GOSUB@JUDGE
- IF !F GOTO@CHECKBLUE_OUT
- N=N+1
- GOTO@CHECKBLUE_LOOP
- @CHECKBLUE_OUT
- L=N
- GOSUB@PRINTBLUECARDS
- GOTO@MOVEEND
- @MOVEEND
- BEEP 2
- GOSUB@PRINTCURSOR
- GOTO@MAIN
- @ABTN ′А────────────────────
- GOTO”@ABTN”+STR$(SGN(H)+1)
- @ABTN1 ′H==0
- IF C>0THEN IF !P[C]GOTO@MISS
- BEEP 3
- GOSUB@ERASECURSOR
- H=C
- GOSUB@PRINTCURSOR
- GOTO@MAIN
- @ABTN0 ′H<0
- IF C<0 GOTO@MISS
- X1=C:Y1=P[C]−1:X2=0:Y2=−H−1
- IF P[C] THEN GOSUB@JUDGE:IF !F GOTO@MISS
- GOSUB@ERASECURSOR
- U0=H:U1=C:U2=1
- GOSUB@MARKUNDO
- X=X2:Y=Y2:GOSUB@INTERCEPT
- X=X1:GOSUB@PUSH
- GOTO@ENDABTN
- @ABTN2 ′H>0
- IF C<0 GOTO@MISS
- IF !P[C] GOTO@ABTN2_OUT
- GOSUB@SHIFTLIMIT
- N=1
- @ABTN2_LOOP
- X1=C:Y1=P[C]−1:X2=H:Y2=P[H]−N
- GOSUB@JUDGE
- IF F GOTO@ABTN2_OUT
- IF N>=L GOTO@MISS
- X1=X2:Y1=Y2−1
- GOSUB@JUDGE
- IF !F GOTO@MISS
- N=N+1
- GOTO@ABTN2_LOOP
- @ABTN2_OUT
- GOSUB@ERASECURSOR
- U0=H:U1=C:U2=N
- GOSUB@MARKUNDO
- X1=H:X2=C:K=N:GOSUB@SHIFT
- @ENDABTN
- BEEP 3
- N=0:H=0
- GOSUB@PRINTCARDS
- GOSUB@PRINTCURSOR
- S=S+1:GOSUB@PRINTSTEPS
- GOTO@MAIN
- @CANCEL ′Б──────────────────
- IF !H GOTO@MAIN
- BEEP 4
- GOSUB@ERASECURSOR
- GOSUB@SHIFTTOEMPTY
- IF F THEN GOSUB@ERASEBLUECARDS
- H=0
- GOSUB@PRINTCURSOR
- GOTO@MAIN
- @TOHC ′Ф────────────────────
- GOTO”@TOHC”+STR$(SGN(C)+1)
- @TOHC0 ′C<0
- A=F[0,−C−1]:GOTO@TOHC_MAIN
- @TOHC2 ′C>0
- IF P[C]<1 GOTO@MISS
- A=F[C,P[C]−1]
- GOTO@TOHC_MAIN
- @TOHC1 ′C==0
- GOTO@MISS
- @TOHC_MAIN
- IF A−H[A/16−1]!=1 GOTO@MISS
- GOSUB@ERASECURSOR
- U0=C:U1=−4−FLOOR(A/16):U2=1
- GOSUB@MARKUNDO
- X=(C>0)*C
- IF X THEN Y=P[C] ELSE Y=−C−1
- GOSUB@INTERCEPT
- H[A/16−1]=H[A/16−1]+1
- BEEP 7
- IF C<−P[0] THEN C=C+2+SGN(C+1)
- H=0
- GOSUB@PRINTCARDS
- GOSUB@PRINTCURSOR
- IF H[0]+H[1]+H[2]+H[3]>211 GOTO@CLEAR
- GOTO@MAIN
- @TOFC ′Х────────────────────
- IF P[0]>3 GOTO@MISS
- IF C<1 GOTO@MISS
- IF !P[C] GOTO@MISS
- GOSUB@ERASECURSOR
- U0=C:U1=−P[0]−1:U2=1
- GOSUB@MARKUNDO
- X=C:GOSUB@POP
- X=0:GOSUB@PUSH
- BEEP 3
- H=0
- GOSUB@PRINTCARDS
- GOSUB@PRINTCURSOR
- S=S+1:GOSUB@PRINTSTEPS
- GOTO@MAIN
- @UNDO ′К────────────────────
- ′レツ←レツ @UNDO→1→ @ENDUNDO
- ′レツ←FC @UNDO→1→2→3→@ENDUNDO
- ′レツ←HC @UNDO→0→ @ENDUNDO
- ′FC←レツ @UNDO→ @ENDUNDO
- ′FC←HC @UNDO→0→3→ @ENDUNDO
- IF D==U GOTO@MISS
- GOSUB@ERASECURSOR
- BEEP 6
- D=(D+UL−1)%UL
- IF U[D,1]<−4 GOTO@UNDO0
- IF 0<U[D,1] GOTO@UNDO1
- X=0:GOSUB@POP
- X=U[D,0]:GOSUB@PUSH
- C=U[D,0]
- GOTO@ENDUNDO
- @UNDO0
- V=H[−U[D,1]−5]
- H[−U[D,1]−5]=V−1
- IF U[D,0]<0 GOTO@UNDO3
- X=U[D,0]:GOSUB@PUSH
- GOTO@ENDUNDO
- @UNDO1
- IF U[D,0]<0 GOTO@UNDO2
- X1=U[D,1]:X2=U[D,0]:K=U[D,2]
- GOSUB@SHIFT
- C=U[D,0]
- GOTO@ENDUNDO
- @UNDO2
- X=U[D,1]:GOSUB@POP
- C=U[D,0]
- @UNDO3
- X=0:Y=−U[D,0]−1
- GOSUB@INSERT
- GOTO@ENDUNDO
- @ENDUNDO
- GOSUB@PRINTCARDS
- GOSUB@PRINTCURSOR
- GOSUB@PRINTUNDO
- GOTO@MAIN
- @REDO ′н────────────────────
- ′レツ→レツ @REDO→ @ENDREDO
- ′レツ→FC @REDO→0→ @ENDREDO
- ′レツ→HC @REDO→0→1→@ENDREDO
- ′FC→レツ @REDO→2→3→@ENDREDO
- ′FC→HC @REDO→2→1→@ENDREDO
- IF D==R GOTO@MISS
- GOSUB@ERASECURSOR
- BEEP 5
- IF U[D,0]<0 GOTO@REDO2
- IF U[D,1]<0 GOTO@REDO0
- X1=U[D,0]:X2=U[D,1]:K=U[D,2]
- GOSUB@SHIFT
- C=U[D,1]
- S=S+1
- GOSUB@PRINTSTEPS
- GOTO@ENDREDO
- @REDO0
- X=U[D,0]:GOSUB@POP
- IF U[D,1]<−4 GOTO@REDO1
- X=0:GOSUB@PUSH
- C=U[D,1]
- S=S+1
- GOSUB@PRINTSTEPS
- GOTO@ENDREDO
- @REDO1
- H[−U[D,1]−5]=V
- IF C<=−P[0] THEN C=C+2+SGN(C+1)
- GOTO@ENDREDO
- @REDO2
- X=0:Y=−U[D,0]−1
- GOSUB@INTERCEPT
- IF 0<U[D,1] GOTO@REDO3
- GOTO@REDO1
- @REDO3
- X=U[D,1]:GOSUB@PUSH
- C=U[D,1]
- S=S+1
- GOSUB@PRINTSTEPS
- GOTO@ENDREDO
- @ENDREDO
- D=(D+1)%UL
- GOSUB@PRINTCARDS
- GOSUB@PRINTCURSOR
- GOSUB@PRINTUNDO
- GOTO@MAIN
- @MISS ′─────────────────────
- BEEP 4
- GOTO@MAIN
- @SMENU ′START───────────────
- T0=MAINCNTL
- BEEP 12
- GOSUB@PRINTBASE
- GOSUB@PRINTSTEPS
- GOSUB@PRINTTIME
- GOSUB@PRINTUNDO
- PNLSTR 22,8,”←”,9
- PNLSTR 26,8,”→”,9
- A=0
- @SMENU_LOOP
- GOSUB@PRINTCLOCK
- PNLSTR 18,9+A, ”А”,9
- PNLSTR 18,9+(A+1)%6,”↓”,9
- PNLSTR 18,9+(A+2)%6,” ”
- PNLSTR 18,9+(A+3)%6,” ”
- PNLSTR 18,9+(A+4)%6,” ”
- PNLSTR 18,9+(A+5)%6,”↑”,9
- WAIT 10
- B=BUTTON()
- IF B AND 1THEN BEEP 2:A=(A+5)%6
- IF B AND 2THEN BEEP 2:A=(A+1)%6
- IF B AND 4THEN M=(M+30)%31:GOSUB@BGM
- IF B AND 8THEN M=(M+1)%31:GOSUB@BGM
- IF B AND 16THEN@SMENU0
- GOTO@SMENU_LOOP
- @SMENU0
- BEEP 12
- IF A THEN@SMENU1
- PNLSTR 22,8,” ”
- PNLSTR 26,8,” ”
- FOR I=9 TO 14
- PNLSTR 18,I,” ”
- NEXT
- GOSUB@PRINTCARDS
- GOSUB@PRINTCURSOR
- T=T−T0+MAINCNTL
- @SMENU1
- ON A GOTO@RETMAIN,@SMANUAL,@RETRY,@TITLE,@SUSPEND,@FINISH
- @BGM
- IF M==30 THEN BGMSTOP ELSE BGMPLAY M
- GOSUB@PRINTBGM
- GOTO@SMENU_LOOP
- @RETMAIN
- GOSUB@SHIFTTOEMPTY
- IF F THEN GOSUB@PRINTBLUECARDS
- GOTO@MAIN
- @SMANUAL
- A=0:GOSUB@MANUAL
- @SMANUAL_LOOP
- PNLSTR 1,23,”PUSH Б TO RETURN”,9
- WAIT 10
- B=BUTTON()
- IF B AND 5 THEN A=(A+3)%4:GOSUB@MANUAL
- IF B AND 10 THEN A=(A+1)%4:GOSUB@MANUAL
- IF B AND 32 GOTO@SMENU
- GOTO@SMANUAL_LOOP
- @RETRY
- GOSUB@INITIALIZE
- GOTO@DEAL
- @SUSPEND
- ′ケ゛−ムキロク
- MEM$=G$
- FOR I=0 TO 3
- CC=H[I]
- IF CC%16==0 THEN K$=”0” ELSE GOSUB@CCTOKANA
- MEM$=MEM$+K$
- NEXT
- FOR I=0 TO 8
- FOR J=0 TO 18
- CC=F[I,J]
- GOSUB@CCTOKANA
- MEM$=MEM$+K$
- NEXT
- NEXT
- MEM$=MEM$+RIGHT$(”00000”+STR$(S),6)
- T=T0−T
- MEM$=MEM$+RIGHT$(”00000”+STR$(T),6)
- SAVE FILE0$
- ′UNDOキロク
- MEM$=””
- @SUSPEND_LOOP
- IF D==U GOTO@SUSPEND_OUT
- IF LEN(MEM$)==256 GOTO@SUSPEND_OUT
- D=(D+UL−1)%UL
- A=U[D,0]+8−(U[D,0]>0)
- A=U[D,1]+8−(U[D,1]>0)+A*16
- MEM$=CHR$(A)+CHR$(U[D,2])+MEM$
- GOTO@SUSPEND_LOOP
- @SUSPEND_OUT
- SAVE FILE1$
- GOTO@FINISH
- ′ВВВВВВВВВВВ
- ′В サフ゛ル−チン В
- ′ВВВВВВВВВВВ
- @KANATOCC ′────────────┐
- ′│GAME IDヨウノ カナ K$ヲ イレルト│
- ′│カ−ト゛コ−ト゛CCヲ ハク。 │
- ′└──────────────────────┘
- CC=ASC(K$)−170
- CC=CC+(CC<0)*10
- CC=FLOOR(CC/13)*16+CC%13+17
- RETURN
- @CCTOKANA ′───────────┐
- ′│カ−ト゛コ−ト゛CCヲ イレルト │
- ′│GAME IDヨウノ カナ K$ヲ ハク。│
- ′└─────────────────────┘
- CC=CC−17
- CC=FLOOR(CC/16)*13+CC%16
- K$=CHR$(CC+170−(CC<7)*10)
- RETURN
- ′╂╂╂╂╂╂╂╂╂╂╂╂
- ′╂ スタック ソウサ ╂
- ′╂╂╂╂╂╂╂╂╂╂╂╂
- @PUSH ′───────────────┐
- ′│Vヲ スタック F[X]ノ ウエニ オク。│
- ′└─────────────────────┘
- F[X,P[X]]=V
- P[X]=P[X]+1
- RETURN
- @POP ′───────────┐
- ′│スタック F[X]ノ ウエカラ │
- ′│ヒトツ トッテ Vニ イレル。 │
- ′└────────────────┘
- P[X]=P[X]−1
- V=F[X,P[X]]
- F[X,P[X]]=0
- RETURN
- @INSERT ′────────────────┐
- ′│Vヲ スタック F[X]ノ Yハ゛ンメニ オク。│
- ′└────────────────────────┘
- FOR I=P[X]−1 TO Y STEP −1
- F[X,I+1]=F[X,I]
- NEXT
- F[X,Y]=V
- P[X]=P[X]+1
- RETURN
- @INTERCEPT ′────────┐
- ′│スタック F[X]ノ Yハ゛ンメカラ │
- ′│ヒトツ トッテ Vニ イレル。 │
- ′└───────────────────┘
- V=F[X,Y]
- FOR I=Y TO P[X]−2
- F[X,I]=F[X,I+1]
- NEXT
- P[X]=P[X]−1
- F[X,P[X]]=0
- RETURN
- @SHIFT ′────────────┐
- ′│X1カラ X2ヘ Kマイ ウコ゛カス。│
- ′└───────────────────┘
- FOR I=K TO 1 STEP −1
- V=F[X1,P[X1]−I]:X=X2
- GOSUB@PUSH
- F[X1,P[X1]−I]=0
- NEXT
- P[X1]=P[X1]−K
- RETURN
- ′╂╂╂╂╂╂╂╂╂╂╂╂╂╂╂╂╂╂
- ′╂ イト゛ウ ハンテイ カンケイ ╂
- ′╂╂╂╂╂╂╂╂╂╂╂╂╂╂╂╂╂╂
- @SHIFTTOEMPTY ′────────┐
- ′│カ−ト゛ヲ カラノ レツニ イト゛ウシヨウト│
- ′│シタトキ Fカ゛ TRUE。 │
- ′│ソノトキタ゛ケ イト゛ウ マイスウノ │
- ′│センタクカ゛ ヒツヨウナ タメ。 │
- ′└──────────────────────┘
- F=FALSE
- IF C<1 THEN RETURN
- IF H<1 THEN RETURN
- IF P[C] THEN RETURN
- F=TRUE
- RETURN
- @SHIFTLIMIT ′───────┐
- ′│サイタ゛イ ナンマイ ウコ゛カセルカヲ│
- ′│Lニ イレル。 │
- ′│カ−ト゛カ゛ ツナカ゛ルカハ │
- ′│ココテ゛ハ カンカ゛エナイ。 │
- ′└───────────────────┘
- L=1
- FOR I=1 TO 8
- L=L*(1+!P[I])
- I=I+(I==C−1)
- NEXT
- L=L*(5−P[0])
- IF L>P[H] THEN L=P[H]
- RETURN
- @JUDGE ′─────────────────┐
- ′│F[X1,Y1] ト F[X2,Y2] ノ │
- ′│カ−ト゛カ゛ ツナカ゛ルカ ヲ F ニ イレル。│
- ′└────────────────────────┘
- F=(F[X1,Y1]−F[X2,Y2]+64)%32==17
- RETURN
- @MARKUNDO ′────────┐
- ′│U0,U1,U2ヲ U[]ニ イレテ│
- ′│U,R,Dヲ チョウセイ。 │
- ′└──────────────────┘
- U[D,0]=U0:U[D,1]=U1:U[D,2]=U2
- D=(D+1)%UL:R=D
- IF U==R THEN U=(U+1)%UL
- GOSUB@PRINTUNDO
- RETURN
- ′╂╂╂╂╂╂╂╂╂
- ′╂ ヒョウシ゛ ╂
- ′╂╂╂╂╂╂╂╂╂
- @PRINTBASE ′────────────────
- CLS:LOCATE 16,0
- COLOR 0
- ?”[ ][ ][ ][ ]”;
- ?”└ ↑Х FREECELLS ┘└ ↑Ф HOMECELLS ┘”;
- ?”┌──────────────────────────────┐”
- LOCATE 0,23
- ?”└──────────────────────────────┘”;
- RESTORE@MAINPANEL
- GOSUB@PRINTPANEL
- GOSUB@PRINTGAMEID
- GOSUB@PRINTBGM
- RETURN
- @PRINTPANEL ′───────────────
- FOR I=0 TO 23
- READ A$
- PNLSTR 0,I,A$
- NEXT
- RETURN
- @MANUAL ′───────────────────
- BEEP 9
- RESTORE”@HOWTO”+STR$(A)
- GOSUB@PRINTPANEL
- PNLSTR 18,23,”←”,9
- PNLSTR 31,23,”→”,9
- RETURN
- @MAINPANEL
- DATA”К───UNDO REDO───н”
- DATA” TO HOMECELL──Ф ”
- DATA” П──CURSOR TO FREECELL─Х А”
- DATA” CANCEL HOLD──Б│”
- DATA” HOLD/SHIFT ───┘”
- DATA” CARDS ”
- DATA” ”
- DATA” ┌GAME ID──┐ ┌START────┐ ”
- DATA” │ │ │BGM │ ”
- DATA” │ │ │ CONTINUE│ ”
- DATA” │ │ │ HOW TO │ ”
- DATA” │ │ │ RETRY │ ”
- DATA” │ │ │ NEW GAME│ ”
- DATA” │ │ │ SUSPEND │ ”
- DATA” │ │ │ END GAME│ ”
- DATA” └─────────┘ └─────────┘ ”
- DATA” ┌STEPS────┐ ┌TIME─────┐ ”
- DATA” │ │ │ │ ”
- DATA” └─────────┘ └─────────┘ ”
- DATA” ┌UNDO─────┐ ┌CLOCK────┐ ”
- DATA” │ к │ │ │ ”
- DATA” └─────────┘ └─────────┘ ”
- DATA” ”
- DATA” ”
- @HOWTO0
- DATA”┌┤HOW TO PLAY├─────────────────┐”
- DATA”│*モクテキ │”
- DATA”│ スヘ゛テノ カ−ト゛ヲ カ゛メン ミキ゛ウエノ ホ−ムセ│”
- DATA”│ ルニ イト゛ウ スルト クリア テ゛ス。 │”
- DATA”│ │”
- DATA”│*ケ゛−ムノ ハシ゛メカタ │”
- DATA”│ タイトル カ゛メンテ゛ Аヲ オスト ランタ゛ムナ カ−│”
- DATA”│ ト゛ ハイチテ゛ ケ゛−ムカ゛ ハシ゛マリマス。 │”
- DATA”│ Бヲ オスト スキナ ケ゛−ムヲ フ゜レイ テ゛キマス。│”
- DATA”│ カ−ト゛ ハイチヲ キメル 52モシ゛ノ カナ モシ゛レツ│”
- DATA”│ (GAME ID)ヲ キ−ホ゛−ト゛カラ ニュウリョク シ│”
- DATA”│ テクタ゛サイ。 │”
- DATA”│ チュウタ゛ン テ゛−タカ゛ アル ハ゛アイ、 Фテ゛ ツ│”
- DATA”│ ツ゛キヲ アソヘ゛マス。 │”
- DATA”│ │”
- DATA”│*カ−ト゛ノ ランク │”
- DATA”│ K>Q>J>г>9>8>7>6>5>4>3>2>A │”
- DATA”│ │”
- DATA”│*カ−ト゛ノ ウコ゛カシカタ │”
- DATA”│ レツハ キホンテキニ イチハ゛ンシタノ カ−ト゛ ノミ │”
- DATA”│ イト゛ウ テ゛キマス。 │”
- DATA”│ │”
- DATA”└──────────────────┐1┌┬─┬┬─┬┬─┬┘”
- DATA” └─┘└─┘└─┘└─┘ ”
- @HOWTO1
- DATA”┌┤HOW TO PLAY├─────────────────┐”
- DATA”│1.ホ−ムセルニ イト゛ウ │”
- DATA”│ ホ−ムセルニハ Aカラ ランクノ チイサイ シ゛ュンニ │”
- DATA”│ ス−ト コ゛トニ カ−ト゛ヲ オイテ イキマス。 シ゛ョウ│”
- DATA”│ ケンヲ ミタシタ レツ マタハ フリ−セルノ カ−ト゛ニ │”
- DATA”│ カ−ソルヲ アワセ Фヲ オスト、 ホ−ムセルニ イト゛ウ│”
- DATA”│ テ゛キマス。 │”
- DATA”│2.フリ−セルニ イト゛ウ │”
- DATA”│ フリ−セルハ イチシ゛テキナ カ−ト゛ オキハ゛トシテ │”
- DATA”│ 4マイマテ゛ カ−ト゛ヲ オケマス。 スキナ レツノ カ−│”
- DATA”│ ト゛ニ カ−ソルヲ アワセ Хヲ オスト、 フリ−セルニ │”
- DATA”│ イト゛ウ テ゛キマス。 │”
- DATA”│3.レツニ イト゛ウ │”
- DATA”│ レツノ イチハ゛ンシタノ カ−ト゛ト ス−トカ゛ イロチ│”
- DATA”│ カ゛イ(Явナラаб、абナラЯв)テ゛ ランクカ゛ ヒト│”
- DATA”│ ツ チイサイ カ−ト゛ヲ、 ホカノ レツヤ フリ−セルカラ│”
- DATA”│ ソノ レツノ シタニ イト゛ウ テ゛キマス。 イト゛ウ シ│”
- DATA”│ タイ カ−ト゛ニ カ−ソルヲ アワセ Аヲ オスト、 ソノ│”
- DATA”│ カ−ト゛カ゛ センタク サレマス。 ソノ シ゛ョウタイテ゛│”
- DATA”│ イト゛ウ サキノ レツニ カ−ソルヲ アワセ Аヲ オスト│”
- DATA”│ カ−ト゛カ゛ イト゛ウ シマス。 ナオ、 Бヲ オスト セ│”
- DATA”│ ンタクカ゛ キャンセル サレマス。 │”
- DATA”└──────────────────┬─┬┐2┌┬─┬┬─┬┘”
- DATA” └─┘└─┘└─┘└─┘ ”
- @HOWTO2
- DATA”┌┤HOW TO PLAY├─────────────────┐”
- DATA”│ レツカラ レツヘノ イト゛ウテ゛、 フリ−セルヤ カラノ│”
- DATA”│ レツヲ リヨウスルト オナシ゛ レツニ スウマイヲ イト゛│”
- DATA”│ ウ テ゛キル ハ゛アイ、 ソノ カテイヲ ショウリャクシテ│”
- DATA”│ イチト゛ニ イト゛ウ テ゛キマス。 │”
- DATA”│ マタ、 カラノ レツニハ シ゛ユウニ カ−ト゛ヲ イト゛│”
- DATA”│ ウ テ゛キマス。 カ−ト゛ヲ センタクチュウニ カラノ レ│”
- DATA”│ ツニ カ−ソルヲ アワセルト イト゛ウ テ゛キル カ−ト゛│”
- DATA”│ カ゛ アオク ヒョウシ゛ サレマスノテ゛、 Пノ ↑↓テ゛│”
- DATA”│ イト゛ウ マイスウヲ エランテ゛ Аヲ オシテ クタ゛サ │”
- DATA”│ イ。 │”
- DATA”│ │”
- DATA”│*アント゛ゥ キノウニ ツイテ │”
- DATA”│ Кヲ オスト イッテ モト゛セマス(アント゛ゥ)。 │”
- DATA”│ нヲ オスト アント゛ゥ スルマエノ テヲ フタタヒ゛ │”
- DATA”│ クリカエシマス(リト゛ゥ)。 │”
- DATA”│ アント゛ゥハ 128カイ マテ゛ キロク テ゛キマス。 │”
- DATA”│ │”
- DATA”│*スタ−ト メニュ− │”
- DATA”│ ケ゛−ムチュウ STARTヲ オスト シタカ゛メンノ メ│”
- DATA”│ ニュ−ヲ ソウサ テ゛キマス。 │”
- DATA”│ [BGM] Пノ ←→テ゛ BGMヲ エラヘ゛マス。 │”
- DATA”└──────────────────┬─┬┬─┬┐3┌┬─┬┘”
- DATA” └─┘└─┘└─┘└─┘ ”
- @HOWTO3
- DATA”┌┤HOW TO PLAY├─────────────────┐”
- DATA”│ [CONTINUE] ケ゛−ムヲ ツツ゛ケマス。 │”
- DATA”│ [HOW TO] HOW TO PLAY ヲ ヒョウシ゛。│”
- DATA”│ [RETRY] イマノ ケ゛−ムヲ サイショカラ ヤリナオ│”
- DATA”│ シマス。 │”
- DATA”│ [NEW GAME] イマノ ケ゛−ムヲ ヤメテ アタラシ│”
- DATA”│ イ ケ゛−ムヲ ハシ゛メマス。 │”
- DATA”│ [SUSPEND] イマノ ケ゛−ムヲ キロクシテ フ゜ロ│”
- DATA”│ ク゛ラムヲ トシ゛マス。 │”
- DATA”│ [END GAME] ケ゛−ムヲ ヤメテ フ゜ロク゛ラムヲ│”
- DATA”│ トシ゛マス。 │”
- DATA”│ │”
- DATA”│*STEPS ト TIME │”
- DATA”│ レツト ホ−ムセルノ アイタ゛テ゛ カ−ト゛ヲ イト゛ウ│”
- DATA”│ シタ カイスウ(リト゛ゥヲ フクム)ヲ STEPS トシテ│”
- DATA”│ ヒョウシ゛ シテイマス。 ヨリ スクナイ STEPS ヲ │”
- DATA”│ メサ゛シマショウ。 │”
- DATA”│ ケ゛−ム カイシ カラノ ヒ゛ョウスウヲ TIME トシ│”
- DATA”│ テ ヒョウシ゛ シテイマス。 ヨリ スクナイ TIME ヲ│”
- DATA”│ メサ゛シマショウ。 スタ−ト メニュ−ヲ ヒライテイル ア│”
- DATA”│ イタ゛ハ TIME カ゛ トマリマスカ゛ カ−ト゛モ ヒョ│”
- DATA”│ ウシ゛ サレナクナリマス。 │”
- DATA”└──────────────────┬─┬┬─┬┬─┬┐4┌┘”
- DATA” └─┘└─┘└─┘└─┘ ”
- @PRINTCARDS ′───────────────
- FOR I=0 TO 3
- LOCATE 4*I+1,0
- CC=F[0,I]:GOSUB@PRINTACARD
- NEXT I
- FOR I=0 TO 3
- LOCATE 4*I+17,0
- CC=H[I]:GOSUB@PRINTACARD
- NEXT I
- FOR I=1 TO 8
- FOR J=0 TO 18
- LOCATE 4*I−3,J+3
- CC=F[I,J]:GOSUB@PRINTACARD
- NEXT J
- NEXT I
- RETURN
- @PRINTBLUECARDS
- BLUE=TRUE
- FOR I=1 TO N
- LOCATE 4*C−3,N−I+4
- CC=F[H,P[H]−I]:GOSUB@PRINTACARD
- NEXT
- BLUE=FALSE
- RETURN
- @ERASEBLUECARDS
- FOR I=1 TO 13
- LOCATE 4*C−3,I+3:?” ”
- NEXT
- RETURN
- @PRINTACARD
- C$=MID$(S$,CC/16,1)+MID$(R$,CC%16,1)
- IF CC AND 16THEN COLOR 0 ELSE COLOR 12
- IF BLUE THEN COLOR 9
- ?C$;
- RETURN
- @PRINTCURSOR ′──────────────
- COLOR 9
- GOTO”@PRINTCURSOR”+STR$(SGN(H)+1)
- @PRINTCURSOR0 ′H<0
- LOCATE −4*H−4,0
- IF E THEN?” ” ELSE?”□”
- GOTO@PRINTCURSOR1
- @PRINTCURSOR2 ′H>0
- LOCATE 4*H−3,P[H]+3
- IF E THEN?” ” ELSE?”△”
- @PRINTCURSOR1
- GOTO”@PRINTCURSOR”+STR$(SGN(C)+4)
- @PRINTCURSOR3 ′C>0
- LOCATE −4*C−4,0
- IF E THEN?” ” ELSE?CHR$(224+(C==H))
- GOTO@PRINTCURSOR4
- @PRINTCURSOR5 ′C<0
- LOCATE 4*C−3,P[C]+3
- IF E THEN?” ” ELSE?CHR$(226+(C==H))
- @PRINTCURSOR4
- RETURN
- @ERASECURSOR ′──────────────
- E=TRUE:GOSUB@PRINTCURSOR
- E=FALSE:RETURN
- @PRINTGAMEID ′──────────────
- FOR I=0 TO 6
- PNLSTR 5,8+I,MID$(G$,8*I ,4)
- PNLSTR 10,8+I,MID$(G$,8*I+4,4)
- NEXT
- @PRINTBGM ′─────────────────
- IF M==30 THEN PNLSTR 23,8,”OFF”,0:RETURN
- PNLSTR 23,8,” ”+RIGHT$(”0”+STR$(M),2),0
- RETURN
- @PRINTSTEPS ′───────────────
- PNLSTR 8,17,RIGHT$(” ”+STR$(S),6),0
- RETURN
- @PRINTTIME ′────────────────
- T$=STR$(FLOOR((MAINCNTL−T)/60))
- T$=RIGHT$(” ”+T$,6)
- PNLSTR 21,17,T$,0
- RETURN
- @PRINTUNDO ′────────────────
- PNLSTR 6,20,RIGHT$(” ”+STR$((D−U+UL)%UL),3),0
- PNLSTR 11,20,RIGHT$(” ”+STR$((R−U+UL)%UL),3),0
- RETURN
- @PRINTCLOCK ′───────────────
- PNLSTR 19,20,TIME$,0
- RETURN
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.175 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:20 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30