このWikiは古くなりました:新しいWikiへ移動

[[Tonyu基礎練習]] - ''練習:for~in文''

for~in文

チュートリアルにおいては、複数の敵の当たり判定に使っていますが、他にもいろいろな使い方があります。

まず、for~in文の働きから確認していきましょう。

<pre>for (''変数名'' in $chars) {
  ''実行内容''
}</pre>
#現在存在しているオブジェクトのなかから1つを取り出して、それを'''変数名'''で指定された変数に代入します
#'''実行内容'''に書かれた命令を実行します
#今度は別のオブジェクトを取り出して、1,2の手順を行います。これを繰り返します
#全部のオブジェクトについて、上の手順を行ったら、for~in文全体が終わります

例題:次の文ではエラーがでてしまいます。どの部分が間違いであるかを指摘し、その間違いを訂正しなさい。

teki.tonyu

  
function atariHantei() {
  for (t == $chars) {
    if (t is shot && crashTo(t)) {
      t.die();
      die();
    }
  }
  if (crashTo($Jiki)) {
    $Jiki.die();
    die();
  }
}
while(y<$screenWidth){
  x+=2*sin(30*rnd(11));
  y++;
  atariHantei();
  update();
}

例題:主人公と壁の当たり判定を行いなさい。
   当たっていた場合には変数atariに1を代入し、当たっていなかった場合には変数atariに0を代入しなさい。

teki.tonyu

  
sx=x;sy=y;atari=0;
for (a in $chars) {
   if (a is Kabe) {
      x=sx+16;y=sy; //右
      if (crashTo(a)) atari=1;
      x=sx;y=sy+16; //下
      if (crashTo(a)) atari=1;
      x=sx-16;y=sy; //左
      if (crashTo(a)) atari=1;
      x=sx;y=sy-16; //上
      if (crashTo(a)) atari=1;
   } 
}
x=sx;y=sy;

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-11-14 (火) 21:24:37 (2354d)