RUBIK BAR.
for PB-100 / PB-SIM / Pokecom GO(slow)
2023/4/26 Programmed by NUAO
立体パズルゲームを一次元にしたら…やっぱり難しかった。
1D Rubik Puzzle!
<遊び方>
プログラムを入力します。プログラムサイズは 410 ステップです。
[Shift]+[P0]で開始します。
中断後の再開は、RUN 40[EXE]です。
タイトル表示後、キューブの数を入力します。3,5,7 のいずれかを入力してください。
最初にシャッフルが行われ、キューブが表示されます。
画面表示
[1]←→[3]で点滅するカーソル「<」を左右に動かします。
[2]を押すと、カーソルが差し示すキューブの「隙間」を中心に左右のキューブが反転(入れ替わり)ます。
反転するキューブの数は「端までが短い側」に合わせます。(例えば以下の例では2個ずつが反転します )
キューブの並びがシャッフル前の「1234567」(キューブ7個の場合)に揃ったらゲームクリアです。
それまでの手数が少ない方が好成績となります 。
プログラム解説書
![](https://www.google.com/images/icons/product/drive-32.png)
PB-SIM形式
[P0]
10 VAC:$="1234567":U$="":V$="":W$="":X$=""
15 PRINT " RUBIK BAR."
20 INPUT "Size3/5/7",E:IF E<>3;IF E<>5;IF E<>7 THEN 20
30 $=MID(1,E):FOR I=0 TO E-1:R$(I)=MID(I+1,1):NEXT I
35 FOR I=1 TO E*2:A=1+INT(RAN#*(E-1):GOSUB 80:NEXT I:A=1
40 D$=R$+S$+T$+U$+V$+W$+X$
45 PRINT CSR0;D$;CSR7;G;
50 IF D$=$;STOP:PRINT "CLEAR!";G:END
55 IF KEY="3";IF A<E-1;A=A+1
60 PRINT CSR A;"<";
65 IF KEY="1";IF A>1;A=A-1
70 IF KEY<>"2" THEN 45
75 G=G+1:GOSUB 80:GOTO 40
80 B=A:C=A-1
85 D$=R$(B):R$(B)=R$(C):R$(C)=D$
90 PRINT CSR B;"^";CSR C;"\DA";
95 B=B+1:IF B>E-1;RETURN
100 C=C-1:IF C<0;RETURN
105 GOTO 85
実機形式