Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2017/06/04 16:33:14

MixJuice GET URL : kidspod.club/mj/218

九連環シミュレーター

九連環というパズルをichigojamに移植してみました。
柄にはまっている9個のリングを全て外せばクリアでステップ数を表示して終了します。
左右キーで^を左右に動かしてリングを選択
下キーでリングを柄から外します
上キーでリングを柄にはめます
Zキーで柄の先端を左に移動
Xキーで柄の先端を右に移動します。
一番右のリングは柄が一番右にあればいつでもはめたり外したりできます。
二番目以降のリングは柄をずらせるところまで左にずらした状態で、一つ右のリングがはまっていないとはめたり外したりできません
柄を左にずらすときはリングがはまっているところまでしか柄を左に抜くことはできません。
柄を右に入れることは制限はありません。
柄にはまっているリングはゼロ、外れたリングは一文字下にオーで表示されます。
リングがはまっていないところは柄が横線で表示されます。

  • 1
  • 1

SOURCE CODE

10 'CHPZ M+1=RINGQTY
20 CLS:CLV:M=8:A=M+1:X=M:LC1,3:?"(#95)(#91)(#91)";
30 @IN:K=INKEY():X=X-(K=28)*(X>0)+(K=29)*(X<M)
40 @UP:IFK!=30OR[X]<1GOTO@DN
50 S=S+1:[X]=[X]-(X=M)*(A=M+1)-(X!=M)*(X=A-2)*([X+1]<1)
60 @DN:IFK!=31OR([X]>0)GOTO@LF
70 S=S+1:[X]=[X]+(X=M)+(X!=M)*(A-2=X)*([X+1]<1)
80 @LF:IFK!=90ORA<2OR[A-1]<1GOTO@RF
90 S=S+1:A=A-1
100 @RF:IFK!=88ORA>MGOTO@PR
110 S=S+1:A=A+1
120 @PR:FORI=0TOM:LC4+I,3+[I]:IF[I]=0ANDA>I?"0"ELSE?"O"
130 LC4+I,4-[I]:?" ";
140 IF[I]!=0ANDI<ALC4+I,3:?"(#91)";
150 NEXT
160 LC3+X,6:?" ^ "
165 N=0:FORI=0TOM:N=N+[I]:NEXT:IFN=M+1:LC0,1:?"CLEAR!";S;"STEP":PLAY"<BB":END
170 GOTO@IN

COMMENT

Kidspod運営チーム
Kidspod運営チーム2017/06/09 15:12:30

このパズルは初めて知りました。リングのすぐ右が「0-」や「00」ではなく「0」のときにだけ外せる、という具合でしょうか。難しい! 9つのリングを外すのはかなり大変ですね。シミュレータだとすぐに最初からやり直せるのが嬉しいです。