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

2018/06/14 13:42:28

MixJuice GET URL : kidspod.club/mj/495

習作 上下左右移動

人を上下左右に移動させる習作

10 タイトル
20 初期化
30 キャラクタ表示
40 @DO ラベル 繰り返し始点
50 キー入力 変数K
60 キーが押されていたら キャラクタを消す
70 横位置XをVに記録:横位置を演算
80 横位置が 0~31 でなければ元の位置
90 縦位置YをWに記録:縦位置を演算
100 縦位置が 0~22 でなければ元の位置
110 左上に横,縦を表示 CHR$(12)で行末まで削除
120 キャラクタをX,Yに表示
130 @DO 繰り返し始点にもどる

  • No registered tag exist.

SOURCE CODE

10 REM Etude Move-XY
20 CLS:X=16:Y=22:C=#F9
30 LOCATE X,Y:PRINT CHR$(C);
40 @DO
50 K=INKEY()
60 IFK>0 THEN LOCATE X,Y:PRINT CHR$(0);
70 V=X:X=X-(K=28)+(K=29)
80 IF (X<0)OR (X>31) THEN X=V
90 W=Y:Y=Y-(K=30)+(K=31)
100 IF (Y<0) OR (Y>22) THEN Y=W
110 LOCATE 0,0:PRINT X;",",Y;CHR$(12);
120 LOCATE X,Y:PRINT CHR$(C);
130 GOTO@DO

10 'EtudeMove-XY
20 CLS:X=16:Y=22:C=#F9: LCX,Y:?CHR$(C);
30 @DO:K=INKEY():IFK>0THENLCX,Y:?CHR$(0);
40 V=X:W=Y:X=X-(K=28)+(K=29): Y=Y-(K=30)+(K=31)
50 IF(X<0)OR(X>31)OR(Y<0)OR(Y>22)THENX=V:Y=W
60 LC0,0:?X;",",Y;CHR$(12);:LCX,Y:?CHR$(C);:GOTO@DO

COMMENT