この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
ch_qa_sample_prg [2019/06/26 17:54] klab |
ch_qa_sample_prg [2019/06/26 18:28] klab [Q4:ゲームオーバーとゲームクリア表示をしたい] |
||
---|---|---|---|
ライン 12: | ライン 12: | ||
//////step1 動かしたい図形を作る//////// | //////step1 動かしたい図形を作る//////// | ||
かめた=タートル!つくる。 | かめた=タートル!つくる。 | ||
- | 「かめた!100 歩く 90 右回り」!4 繰り返す。 | + | 「かめた!20 歩く 90 右回り 100 歩く 90 右回り」!2 繰り返す。 |
棒=かめた!(青) 図形を作る。 | 棒=かめた!(青) 図形を作る。 | ||
棒!200 100 位置。 | 棒!200 100 位置。 | ||
ライン 20: | ライン 20: | ||
時計!「棒!-20 0 移動」実行。 | 時計!「棒!-20 0 移動」実行。 | ||
</code> | </code> | ||
- | [[http://klab.eplang.jp/honda/djs/index.html?src=2f2f2f2f2f2f737465703120e58b95e3818be38197e3819fe38184e59bb3e5bda2e38292e4bd9ce3828b2f2f2f2f2f2f2f2f0ae3818be38281e3819fefbc9de382bfe383bce38388e383abefbc81e381a4e3818fe3828be380820ae3808ce3818be38281e3819fefbc81313030e38080e6ada9e3818fe38080393020e58fb3e59b9ee3828ae3808defbc8134e38080e7b9b0e3828ae8bf94e38199e380820ae6a392efbc9de3818be38281e3819fefbc81efbc88e99d92efbc89e38080e59bb3e5bda2e38292e4bd9ce3828be380820ae6a392efbc813230302031303020e4bd8de7bdaee380820a0a2f2f2f2f2f2f737465703220e59bb3e5bda2e38292e58b95e3818be381992f2f2f2f2f2f0ae69982e8a888efbc9de382bfe382a4e3839ee383bcefbc81e4bd9ce3828be380820ae69982e8a888efbc81e3808ce6a392efbc812d3230203020e7a7bbe58b95e3808de5ae9fe8a18ce38082|このプログラムをJS版ドリトルで動作確認する]] | + | [[http://klab.eplang.jp/honda/djs/index.html?src=2f2f2f2f2f2f737465703120e58b95e3818be38197e3819fe38184e59bb3e5bda2e38292e4bd9ce3828b2f2f2f2f2f2f2f2f0ae3818be38281e3819fefbc9de382bfe383bce38388e383abefbc81e381a4e3818fe3828be380820ae3808ce3818be38281e3819fefbc81323020e6ada9e3818f20393020e58fb3e59b9ee3828ae38080313030e38080e6ada9e3818fe38080393020e58fb3e59b9ee3828ae3808defbc8132e38080e7b9b0e3828ae8bf94e38199e380820ae6a392efbc9de3818be38281e3819fefbc81efbc88e99d92efbc89e38080e59bb3e5bda2e38292e4bd9ce3828be380820ae6a392efbc813230302031303020e4bd8de7bdaee380820a0a2f2f2f2f2f2f737465703220e59bb3e5bda2e38292e58b95e3818be381992f2f2f2f2f2f0ae69982e8a888efbc9de382bfe382a4e3839ee383bcefbc81e4bd9ce3828be380820ae69982e8a888efbc81e3808ce6a392efbc812d3230203020e7a7bbe58b95e3808de5ae9fe8a18ce38082|このプログラムをJS版ドリトルで動作確認する]] |
## Q2:かめた(タートル)で図を描いた後、線を描かずにかめたの位置を変更したい | ## Q2:かめた(タートル)で図を描いた後、線を描かずにかめたの位置を変更したい | ||
ライン 70: | ライン 70: | ||
下記の例では、開始から5秒間以上 かめたが図形にぶつからなければ「ゲームクリア」と表示し、 | 下記の例では、開始から5秒間以上 かめたが図形にぶつからなければ「ゲームクリア」と表示し、 | ||
- | 開始から五秒以内に図形にぶつかったら「ゲームオーバー」と表示します。(対応:JAVA版/JS版) | + | 開始から五秒以内に図形にぶつかったら「ゲームオーバー」と表示します。 |
+ | |||
+ | 衝突により「:ゲーム状態」というフラグ(変数)の中身が変わることがポイントです。 | ||
+ | 衝突時に「時計」で実行中の動作を中断しているため、ぶつかった瞬間に「最後に実行」の内容が実行されます。 | ||
+ | したがって、衝突するとすぐにゲームオーバーの文字が表示されます。 | ||
+ | |||
+ | (対応:JAVA版/JS版) | ||
<code> | <code> | ||
ライン 193: | ライン 199: | ||
## Q9:図形の中心位置に別の図形を配置したい | ## Q9:図形の中心位置に別の図形を配置したい | ||
描いた図形の中心位置を取得し、その位置に別の図形を移動するようにプログラムすることで、 | 描いた図形の中心位置を取得し、その位置に別の図形を移動するようにプログラムすることで、 | ||
- | アニメーション作成時に常に同じ位置に重なって表示する図形を書くことができます。(対応:JAVA版) | + | アニメーション作成時に常に同じ位置に重なって表示する図形を書くことができます。 |
+ | このサンプルでは、「三角」の図形の中心位置を取得し「点」図形をその位置に移動しています。(対応:JAVA版) | ||
<code> | <code> | ||
ライン 203: | ライン 210: | ||
点!(赤)塗る。 | 点!(赤)塗る。 | ||
座標表示=ラベル!"X:--- Y:---" 作る。 | 座標表示=ラベル!"X:--- Y:---" 作る。 | ||
- | /////////Step2:図形を異なるタイミングで動かす///////// | + | /////////Step2:三角の中心座標を取得して点図形を移動する///////// |
時計=タイマー!作る。 | 時計=タイマー!作る。 | ||
時計!10秒 時間 0.1秒 間隔。 | 時計!10秒 時間 0.1秒 間隔。 | ||
時計!「 | 時計!「 | ||
三角! 2 -2 移動する。 | 三角! 2 -2 移動する。 | ||
+ | 三角のX座標=(三角!getx)。 | ||
+ | 三角のY座標=(三角!gety)。 | ||
点!( 三角のX座標)(三角のY座標) 位置。 | 点!( 三角のX座標)(三角のY座標) 位置。 | ||
- | 三角のX座標=(三角!getx)。 | ||
- | 三角のY座標=(三角!gety)。 | ||
座標表示!("X:" + (三角のX座標) + " Y:" + (三角のY座標) ) 書く。 | 座標表示!("X:" + (三角のX座標) + " Y:" + (三角のY座標) ) 書く。 | ||