初心者向けプログラミング体験ワークショップ#10

(0)

(1)

(2) プログラム

// 以下はaclライブラリの代わり

画面内容=[]。KEY=0。

●(xyにchをcで)キャラクタ描画とは
  変数 x=xy[0]。
  変数 y=xy[1]。
  変数 cc=c[0]。
  変数 bc=c[1]。
  変数 ixy=(x+y*100)*3。
  画面内容[ixy]=ch。
  画面内容[ixy+1]=cc。
  画面内容[ixy+2]=bc。
  1に線太設定。
  bcに線色設定。
  bcに塗り色設定。
  x=x*16。 y=y*16。
  [x, y, 16, 16]へ四角描画。
  ccに線色設定。
  ccに塗り色設定。
  もし、ch=1ならば
    [x, y, 16, 16]へ四角描画。
  ここまで。
  もし、ch=2ならば
    [x+8, y+8]へ7の円描画。
  ここまで。
  もし、ch=3ならば
    3に線太設定。
    [x,y]から[x+15,y+15]まで線描画。
    [x,y+15]から[x+15,y]まで線描画。
  ここまで。
  もし、ch=4ならば
    [x, y+6, 16, 4]へ四角描画。
  ここまで。
  もし、ch=5ならば
    [x+6, y, 4, 16]へ四角描画。
  ここまで。
  もし、ch=6ならば
    [x+8, y+8]へ8の円描画。
    bcに線色設定。
    bcに塗り色設定。
    [x+3, y+5, 2,2]へ四角描画。
    [x+11,y+5, 2,2]へ四角描画。
    [x+6, y+12,4,2]へ四角描画。
  ここまで。
ここまで。

●(xyにchをcでabの)キャラクタ四角描画とは
  変数 a=ab[0]。
  変数 b=ab[1]。
  変数 x=xy[0]。
  変数 y=xy[1]。
  変数 i=0。
  変数 j=0。
  もし、(a>0)かつ(b>0)ならば
    jを0からb-1まで繰り返す
      iを0からa-1まで繰り返す
        [x+i,y+j]にchをcでキャラクタ描画。
      ここまで。
    ここまで。
  ここまで。
ここまで。

●(abxyをdに)スクロール描画とは
  変数 a=abxy[0]。
  変数 b=abxy[1]。
  変数 x=abxy[2]。
  変数 y=abxy[3]。
  変数 aa=[]。
  変数 i=0。
  変数 j=0。
  jを0からb-1まで繰り返す
    iを0からa-1まで繰り返す
      変数 ixy=((x+i)+(y+j)*100)*3。
      変数 iij=(i+j*100)*3。
      aa[iij]=画面内容[ixy]。
      aa[iij+1]=画面内容[ixy+1]。
      aa[iij+2]=画面内容[ixy+2]。
    ここまで。
  ここまで。
  x=x+d[0]。
  y=y+d[1]。
  jを0からb-1まで繰り返す
    iを0からa-1まで繰り返す
      iij=(i+j*100)*3。
      変数 cc=aa[iij+1]。
      変数 bc=aa[iij+2]。
      [x+i,y+j]にaa[iij]を[cc,bc]でキャラクタ描画。
    ここまで。
  ここまで。
ここまで。

XMOVE=0。YMOVE=0。

DOCUMENTをキー押した時には
  KEY=押されたキー。
  XMOVE=0。YMOVE=0。
  もし、KEY=「ArrowLeft」ならば、XMOVE= -1。
  もし、KEY=「A」ならば、XMOVE= -1。
  もし、KEY=「a」ならば、XMOVE= -1。
  もし、KEY=「ArrowRight」ならば、XMOVE=1。
  もし、KEY=「S」ならば、XMOVE=1。
  もし、KEY=「s」ならば、XMOVE=1。
  もし、KEY=「ArrowUp」ならば、YMOVE= -1。
  もし、KEY=「W」ならば、YMOVE= -1。
  もし、KEY=「w」ならば、YMOVE= -1。
  もし、KEY=「ArrowDown」ならば、YMOVE=1。
  もし、KEY=「Z」ならば、YMOVE=1。
  もし、KEY=「z」ならば、YMOVE=1。
ここまで。

// ここから本体

PH=0。HI=0。X=0。Y=0。GE=0。J=0。

0.2秒毎には(タイマーID)
  変数 I=0。変数 R0=0。変数 R1=0。
  PHで条件分岐
    0ならば
      [0,0]に0を[黒色,黒色]で[32,24]のキャラクタ四角描画。
      Iを0から4まで繰り返す
        [0,I*5+2]に1を[水色,黒色]で[32,1]のキャラクタ四角描画。
      ここまで。
      Iを0から9まで繰り返す
        R0=(5の乱数)*5+6。R1=(3の乱数)*5+7。
        [R0,R1]に0を[黒色,黒色]で[2,1]のキャラクタ四角描画。
      ここまで。
      Iを0から15まで繰り返す
        R0=(26の乱数)+4。R1=(19の乱数)+3。[R0,R1]に3を[赤色,黒色]でキャラクタ描画。
        R0=(26の乱数)+4。R1=(19の乱数)+3。[R0,R1]に2を[白色,黒色]でキャラクタ描画。
      ここまで。
      PH=1。GE=1000。X=0。Y=21。J=0。KEY=0。
    ここまで。
    1ならば
      [X,Y]に0を[黒色,黒色]でキャラクタ描画。
      もし、KEY=「j」ならば、KEY=「J」。
      もし、(KEY<>「J」)または(Y%5=3)ならば、J=0。
      I=(Y+1)*100+X。
      もし、(KEY=「J」)かつ(画面内容[I*3]=1)ならば、J=1。
      X=X+1。
      もし、X=32ならば
        X=0。Y=Y-5。
      ここまで。
      Y=Y-J。
      I=(Y+1)*100+X。
      もし、(J=0)かつ(画面内容[I*3]<>1)ならば、Y=Y+1。
      GE=GE-1。
      I=Y*100+X。
      もし、画面内容[I*3]=3ならば、GE=GE-400。
      もし、GE<0ならば、GE=0。
      もし、画面内容[I*3]=2ならば、GE=GE+200。
      [0,0]に0を[黒色,黒色]で[32,1]のキャラクタ四角描画。
      白色に塗り色設定。
      「16px sans-serif」に描画フォント設定。
      [0,13]へ「GENKI:{GE}  HIGH:{HI}」を文字描画。
      [X,Y]に6を[黄色,黒色]でキャラクタ描画。
      もし、GE<=0ならば
        [X,Y]に6を[紫色,黒色]でキャラクタ描画。
        PH=2。
      ここまで。
      もし、(Y<=6)かつ(X=31)ならば
        緑色に塗り色設定。
        「16px sans-serif」に描画フォント設定。
        [368,13]へ「<< CLEAR !! >>」を文字描画。
        PH=2。
      ここまで。
      KEY=0。
    ここまで。
    2ならば
      もし、HI<GEならば、HI=GE。
      もし、KEY=「Enter」ならば、PH=0。
    ここまで。
  ここまで。
ここまで。

(3)

こめんと欄


コメントお名前NameLink

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