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

2017/05/30 21:58:12

MixJuice GET URL : kidspod.club/mj/210

”REVERSE"

”REVERSE"
TINY BASICからの移植です

ランダムに並んだ数字の下の”^”を左右のカーソルで移動
"SPACE"でその位置から左側を反転(REVERSE)します

できるだけ少ない手順で1から8まで順番に並び替えてください

クリアするとステップ数を表示します
"SPACE"で再度遊べます

2017/06/03
一番左側でスペースを押すとエラーがでます
ソースを一部修正して一番左に移動できないように修正しました

  • 1
  • 2
  • 1
  • 2

SOURCE CODE

 10 'REVERSE
20 CLS:CLV:N=8:X=2:M=2
30 [1]=RND(N-1)+2
40 FOR I=2 TO N :J=0
50 [I]=RND(N)+1
60 J=J+1
70 IF[I]=[J] J=0:GOTO50
80 IF J<I-1 GOTO60
90 NEXT
100 LC0,0:FORI=1TON:?[I];:NEXT
110 LCX-1,1:?CHR$(94):GOTO 400
200 K=INKEY()
210 IF K=SPACE BEEP:S=S+1:GOTO 300
220 X=X+(X<N)*(K=RIGHT)-(X>2)*(K=LEFT)
230 IF M=X GOTO200
240 LC M-1,1:?" ";:M=X
250 GOTO110
300 FOR I=1 TO M/2
310 [N+1]=[I]:[I]=[M-I+1]:[M-I+1]=[N+1]
320 NEXT
330 GOTO100
400 G=0:FORI=1TON
410 IF [I]<>I I=N:G=200
420 NEXT
430 IF G<>0 GOTO G
440 LC 0,1:?DEC$(S,4);"STEP"
450 IF INKEY()<>SPACE GOTO450ELSEGOTO20

COMMENT

Kidspod運営チーム
Kidspod運営チーム2017/06/02 17:32:43

む、むずかしい! 私の頭では解ける気がしません……。 ところで、一番左でSPACEを押すと止まってしまいました(IchigoJam1.2.2で確認)。行番号210でGOTO 300を実行する条件として、Mの値も加味するのが良さそうです。