appearメソッドとforの文の違いついて・・・
投稿者 : うずら(p30-dna03iduhara.fukuoka.ocn.ne.jp)
- 2003/09/26(Fri) 03:07
No.4432
|
|
|
|
|
夜遅くにカキコします。こんばんは、うずらです。題名の通りappearメソッドとforの文の違いがわかりません。実行中にオブジェクトを出現させる事はわかりますが、その先がわかりません。まだまだ始めたばっかりなので初歩的な質問かもしれませんが、アトバイスをよろしくお願いします。
|
Re: appearメソッドとforの文の違いついて・・・
投稿者 : N.(cc-h8001.hc.cc.keio.ac.jp)
- 2003/09/26(Fri) 11:11
No.4433
|
|
|
|
appearは、オブジェクトを出現させますが、forは、うしろの()内の条件で{}内の処理を繰り返す命令です。例えば、
appear(new tama(x+t,y,$pat_sample+0));
なら、tamaが1つ、
for (t=0;t<3;t++){ appear(new tama(x+t,y,$pat_sample+0)); }
なら、tamaが3つ作られます。
Tonyuヘルプも参考にしてください。
|
Re: appearメソッドとforの文の違いついて・・・
投稿者 : うずら(p19-dna05iduhara.fukuoka.ocn.ne.jp)
- 2003/09/26(Fri) 19:55
No.4437
|
|
|
|
有り難うございます。という事はappearは、オブジェクトを1個出現させてforの文は複数のオブジェクトを出現させるんですね。わかりました。あと疑問に思ったんですが、上に書いている for (t=0;t<3;t++)は「最初はtが0でtを1ずつ加算していって3より小さいと真を返す」と自分は訳するんですが、そうしたら2個しかオブジェクトを出現しないと思いますが・・・。この答えが間違っているのなら教えてください。おねがいします。
|
Re: appearメソッドとforの文の違いついて・・・
投稿者 : りょうた(EAOcf-221p100.ppp15.odn.ne.jp)
- 2003/09/26(Fri) 20:40
No.4438
|
|
|
|
appearはオブジェクトを1個出現させる、で正しいですが。 for構文は「複数のオブジェクトを出現させる」ではなく、何度も繰り返すだけです。オブジェクトを出現させるのはappearの仕事です。
for (t=0;t<3;t++){/* {命令} */} は まずt=0;を行います。 t<3なので、{命令}を実行します。 t++を実行します。 t<3なので、{命令}を実行します。 t++を実行します。 t<3なので、{命令}を実行します。 t++を実行します。 t<3でないので、終了します。
|
Re: appearメソッドとforの文の違いついて・・・
投稿者 : うずら(p02-dna03iduhara.fukuoka.ocn.ne.jp)
- 2003/09/27(Sat) 09:43
No.4441
|
|
|
|
なるほど、そうなんですか。オブジェクトを出現させるのはappearだけなんですね。わかりました。けど、forの文は「何度も繰り返す」と書いていますがwhileの文も同じような効果がありますよね。それとどう違うんですか?教えて下さい。お願いします。
------------------------------------------------- for (t=0;t<3;t++){/* {命令} */} は まずt=0;を行います。 t<3なので、{命令}を実行します。 t++を実行します。 t<3なので、{命令}を実行します。 t++を実行します。 t<3なので、{命令}を実行します。 t++を実行します。 t<3でないので、終了します。 ----------------------------------------------- t=0の時も発動することを頭に入ってませんでした。すみません(謝)
|
whileとforの文の違いついて・・・
投稿者 : hoge-(ppp02.kake.info.waseda.ac.jp)
- 2003/09/27(Sat) 12:40
No.4443
|
|
|
|
なかなかいい質問です。実はfor文なんてなくてもwhile文で同じことができます。
次の2つは同じ意味になります for (t=0 ; t<3 ;t++) { 処理 } //----------- t=0; while(t<3) { 処理 t++; }
でも、for文のほうが「tを0にして、3より小さい間、tを1増やす」という流れが1行に凝縮されていて「見やすい」というのがfor文の利点です。 特に、while文の場合 t++; の部分は書き忘れをよくします。なぜなら、「処理」の部分を書いているうちに、t++ をすることが頭から離れてしまうからです。
|
無限ループと有限ループ
投稿者 : nuntora(wtpp-p-144-134-209-108.prem.tmns.net.au)
- 2003/09/27(Sat) 12:45
No.4444
|
|
|
|
while(x!==0){ ... } for(x=10;x>0;x--){ } といったように whileとforも同じ操作を繰り返させますが、 whileの場合は 「何回の指定はしないで何度も出現させたい」 forの場合は 「決められた回数だけ出現させたい」 となります。 例えば、シューティングゲームで自機が縦横移動できる回数を制限させられてしまっては、シューティングとして成立できませんよね。 逆に、敵を立て続けに5匹だけ出したい、と設定した場合には、5匹と最初からわかりきっているので for(x=0;x<5;x++){ ... } のようにしてあげたらわかりやすそうですよね。しかし、 x=0; while(x<5){ ... x++ } のようにしてあげても別に問題はありません。
できましたら、次回から1スレッドに対して1つの質問でお願いします。
|
Re:while==forなのか。
投稿者 : うずら(p06-dna06iduhara.fukuoka.ocn.ne.jp)
- 2003/09/27(Sat) 19:15
No.4452
|
|
|
|
有り難うございます。おかげで解決しました。whileとforの文は同じなんですね。わかりました。あとこれからは1スレッドに対して1つの質問という事を守ります。すみませんでした。
|
|