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個の場合)に揃ったらゲームクリアです。 

それまでの手数が少ない方が好成績となります 。

プログラム解説書

Rubik Bar 説明書.pdf

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


実機形式