教材メモ

  • (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%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

こめんと欄


コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-18 (水) 11:49:11 (202d)