* 教材メモ -(by [[K]], 2019.12.10) ** うんてんゲーム (23行) 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,6,6; // 自分(黄色の丸)を表示 1110 EWAIT 200 1120 I=EINKEY 1130 ECHR 2,Y,0 1140 IF I==4134 THEN IF Y> 1 THEN Y=Y-1; FI; FI 1150 IF I==4135 THEN IF Y<15 THEN Y=Y+1; FI; FI 1160 CLRKEYBUF 1170 SCROLL 0; CHRBOX 1,15,15,1,0 1180 ENDDO 1190 LABEL CRASH 1200 ECHR 2,Y,6,5; // 自分をピンク色に 1210 KWAIT 10; // enter:replay 1220 ENDDO -http://k.osask.jp/files/esb20191218a.png ** じゃんぷゲーム (52行) 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%26)+4; Y=(RAND%19)+3; ECHR X,Y,3,4 1130 X=RAND%30; Y=(RAND%19)+3; ECHR X,Y,2 1130 X=(RAND%26)+4; Y=(RAND%19)+3; ECHR X,Y,2 1140 NEXT 1150 T=1000; X=0; Y=21; J=0 1160 IF HT<1000 THEN HT=1000; FI 1170 DOLOOP 1180 IF T<0 THEN T=0; FI 1190 GPRINTS 0,0,"GENKI: HIGH:" 1200 GPRINTI 48,0,5,T 1210 GPRINTI 160,0,5,HT 1220 ECHR X,Y,6,6 1230 IF T<=0 GOTO FIN 1240 IF Y<=6 THEN IF X==31 THEN 1250 IF HT<T THEN HT=T; FI 1260 GPRINTS 376,8," << CLEAR !! >> ",0,2 1270 GOTO FIN 1280 FI; FI 1290 EWAIT 200 1300 I=EINKEY; IF I==4134 THEN I=32; FI 1310 ECHR X,Y,0; GETCHR X,Y+1,C 1320 IF I!=32 THEN IF J==1 THEN J=0; FI; FI 1330 IF I==32 THEN IF C==1 THEN J=1; FI; FI 1340 IF Y%5==3 THEN J=0; FI 1350 X=X+1; IF X==32 THEN X=0; Y=Y-5; FI 1360 IF J==1 THEN 1370 Y=Y-1 1380 ELSE 1390 GETCHR X,Y+1,C; IF C!=1 THEN Y=Y+1; FI 1400 FI 1410 T=T-1 1420 CLRKEYBUF 1430 GETCHR X,Y,C 1440 IF C==1 THEN Y=Y-1; FI 1450 GETCHR X,Y,C 1460 IF C==3 THEN T=T-400; FI 1470 IF C==2 THEN T=T+300; FI 1480 ENDDO 1490 LABEL FIN 1500 KWAIT 10; // enter:replay 1510 ENDDO -http://k.osask.jp/files/esb20191218b.png ** ろけっとゲーム (55行) 1000 OPENWIN 640,480 1010 DOLOOP 1020 S=1 1030 DOLOOP 1040 SETGMODE 0 1050 GCLS 1060 GPRINTS 0,0,"STAGE: HIGH:"; GPRINTI 48,0,2,S; GPRINTI 136,0,2,H 1070 FOR I=0,20 1080 X=RAND%640; Y=RAND%480; R=S*3; C=(RAND%6)+1 1090 IF X+R>620 THEN X=620-R; FI 1100 IF Y-R<16 THEN Y=R+16; FI 1110 FILLOVAL R*2,R*2,X-R,Y-R,C 1120 NEXT 1130 FILLRECT 80,40,280,228,7 1140 X=630; Y=470; VX=0; VY=_20 1150 DOLOOP 1160 X=(X+640)%640 1170 SETGMODE 3 1180 DRAWLINE X,Y-9,X-5,Y+5,7 1190 DRAWLINE X,Y-9,X+5,Y+5,7 1200 DRAWLINE X-5,Y+5,X+5,Y+5,7 1210 SETGMODE 0 1220 IF Y<16 GOTO CRASH 1230 IF Y>479 GOTO CRASH 1240 GETPIX X,Y,C 1250 IF C==0XFFFFFF GOTO CLEAR 1260 IF C!=0 GOTO CRASH 1270 EWAIT 200 1280 K=EINKEY 1290 SETGMODE 3 1300 DRAWLINE X,Y-9,X-5,Y+5,7 1310 DRAWLINE X,Y-9,X+5,Y+5,7 1320 DRAWLINE X-5,Y+5,X+5,Y+5,7 1330 SETGMODE 0 1340 IF K==0X1024 THEN VX=VX-1; FI 1350 IF K==0X1025 THEN VX=VX+1; FI 1360 IF K==0X1026 THEN VY=VY-9; FI 1370 CLRKEYBUF 1380 X=X+VX; Y=Y+VY; VY=VY+1 1390 ENDDO 1400 LABEL CLEAR 1410 GPRINTS 296,240,"CLEAR!",0,7 1420 EWAIT 3000 1430 S=S+1 1440 IF H<S THEN H=S; FI 1450 ENDDO 1460 LABEL CRASH 1470 IF Y<16 THEN Y=16; FI 1480 IF Y>479 THEN Y=479; FI 1490 DRAWOVAL 20,20,X-10,Y-10,4 1500 DRAWOVAL 30,30,X-15,Y-15,4 1510 DRAWOVAL 40,40,X-20,Y-20,4 1520 GPRINTS 296,240,"CRASH!",4,7 1530 KWAIT 10 1540 ENDDO -http://k.osask.jp/files/esb20191218c.png * こめんと欄 #comment