教材メモ

うんてんゲーム

1000 OPENWIN 256,256
1010 DOLOOP
1020   Y=8; S=0; GCLS
1030   DOLOOP
1040     T=(RAND%15)+1; ECHR 15,T,2; // 白い丸
1050     T=(RAND%15)+1; ECHR 15,T,3,4; // 赤いバツ
1060     GETCHR 2,Y,T
1070     IF T==2 THEN S=S+1; FI; // 丸を取ったら加点
1080     GPRINTI 0,0,4,S
1090     IF T==3 GOTO CRASH
1100     ECHR 2,Y,2,6; // 自分(黄色の丸)を表示
1110     EWAIT 200
1120     I=EINKEY
1130     IF I==32 THEN END; FI
1140     ECHR 2,Y,0
1150     IF I==4134 THEN IF Y> 1 THEN Y=Y-1; FI; FI
1160     IF I==4135 THEN IF Y<15 THEN Y=Y+1; FI; FI
1170     DOLOOP; ENDDO EINKEY!=0; // キーバッファを空にする
1180     SCROLL 0; CHRBOX 1,15,15,1,0
1190   ENDDO
1200   LABEL CRASH
1210   ECHR 2,Y,2,5; // 自分をピンク色に
1220   DOLOOP; EWAIT 50; I=EINKEY; IF I==32 THEN END; FI; ENDDO I!=10; // spc:end, enter:replay
1230 ENDDO

じゃんぷゲーム(未調整)

1000 OPENWIN 512,384
1010 DOLOOP
1020   GCLS
1030   CHRBOX 32,1,0,22,1,3
1040   CHRBOX 32,1,0,17,1,3
1050   CHRBOX 32,1,0,12,1,3
1060   CHRBOX 32,1,0, 7,1,3
1070   CHRBOX 32,1,0, 2,1,3
1080   FOR I=0,9
1090     X=(RAND%5)*5+6; Y=(RAND%3)*5+7; CHRBOX 2,1,X,Y,0
1100   NEXT
1110   FOR I=0,15
1120     X=(RAND%28)+4; Y=(RAND%19)+3; ECHR X,Y,3,4
1130     X=RAND%32;     Y=(RAND%19)+3; ECHR X,Y,2
1140   NEXT
1150   T=1000; X=0; Y=21; J=0
1160   DOLOOP
1170     IF T<0 THEN T=0; FI
1180     GPRINTI 0,0,8,T
1190     ECHR X,Y,2,6
1200     IF T<=0 GOTO FIN
1210     IF Y<=6 THEN IF X==31 GOTO FIN; FI
1220     EWAIT 200
1230     I=EINKEY
1240     IF I==0X71 THEN END; FI
1250     ECHR X,Y,0; GETCHR X,Y+1,C
1260     IF I!=32 THEN IF J==1 THEN J=0; FI; FI
1270     IF I==32 THEN IF C==1 THEN J=1; FI; FI
1280     IF Y%5==3 THEN J=0; FI
1290     X=X+1; IF X==32 THEN X=0; Y=Y-5; FI
1300     IF J==1 THEN
1310       Y=Y-1
1320     ELSE
1330       GETCHR X,Y+1,C; IF C!=1 THEN Y=Y+1; FI
1340     FI
1350     T=T-1
1360     DOLOOP; ENDDO EINKEY==32
1370     GETCHR X,Y,C
1380     IF C==1 THEN Y=Y-1; FI
1390     GETCHR X,Y,C
1400     IF C==3 THEN T=T-400; FI
1410     IF C==2 THEN T=T+300; FI
1420   ENDDO
1430   LABEL FIN
1440   DOLOOP; EWAIT 50; I=EINKEY; IF I==0X71 THEN END; FI; ENDDO I!=10; // q:end, enter:replay
1450 ENDDO

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS