(投稿前に、内容をプレビューして確認できます)

ドリトルプログラミングの迷路のプログラムがわからない

  • ボルシャック・アークゼオス
  • 2024/09/18 (Wed) 16:49:16
誰かプログラムと解説を載せてください。

Re: ドリトルプログラミングの迷路のプログラムがわからない

  • きつね
  • 2024/09/18 (Wed) 17:04:08
「迷路プログラムがわからない」だけだと、ボルシャック・アークゼオスさんが「何をわかっていないのか」を投稿を見た人が理解できないので、プログラムや解説をするというのは難しいんじゃないかなと思います。



作りたいプログラムの詳細や、自分がわかっていること、何に困っているのかなどを記載してみてはいかがでしょうか。
これまでの投稿だと、自分が書いたプログラムなどを記載して、どこに困ってるかを投稿すると、アドバイスをくれる人が現れやすい気がします。

ベータ版 修正希望

  • 技術教員
  • 2024/07/24 (Wed) 11:29:16
サーバを使ったプログラムで、サーバの接続命令後に、ボタン動作のプログラムを書くと、ボタン動作の中身が実行されてしまうようです。

例1:(正 リストにテストと表示されない)
出力=リスト!作る。
テストボタン=ボタン!作る 100 移動。
テストボタン:動作=「出力!”テスト”書く。」。
サーバ!”191.168.0.2”接続。

例2:(誤 リストにテストと表示される)
出力=リスト!作る。
テストボタン=ボタン!作る 100 移動。

サーバ!”191.168.0.2”接続。
テストボタン:動作=「出力!”テスト”書く。」。

プログラムを書く順番で対応できそうですが、修正をご検討ください。よろしくお願いします。

テキストno.14について

  • プログラミング初心者
  • 2024/07/01 (Mon) 12:22:03
プログラミングの勉強をしようかと、ドリトルのテキストを元に一つずつ楽しく取り組ませていただいています。
NO.14の配列をタイマーで動かすところがどうしてもクリアできません。12.13の修正プログラムも拝見しました。どの様に入れるのが正解なのか、?です。ご教授ください。

Re: Re: テキストno.14について

  • プログラミング初心者
  • 2024/07/09 (Tue) 13:01:52
ご丁寧にご教授下さり、とても嬉しかったです。ありがとうございました。
私の見落とし、わからないという気持ちが正しい判断を妨げる、ということですね。わからないことを聞ける場所があることで、諦めずに済ました…!
また質問させてください。ありがとうございました。

Re: テキストno.14について

  • omura
  • 2024/07/04 (Thu) 16:24:21
正しく動作したとのこと、よかったです。

”全員!「|かめ|”に対応する閉じかっこは、”」それぞれ実行。”になります。


つまり『全員!「|かめ| ・・・」それぞれ実行。』で一つのブロックになります。
また、”時間1!「”に対応する閉じかっこは”」実行。”です。


私のサンプルプログラムの転記処理が良くなかったですね。
サンプルプログラムをこちらにコピーする際に、インデントの情報が消えてしまったみたいです。

以下のようにブロック構造をインデントで示すことでブロックの始まりと終わりをわかりやすくするため、|かめ|の後で改行していました。
(後でプログラムを読みやすくするための、プログラマの工夫の一つです)


/////////////////////

全員!「|かめ|
   時間1=タイマー! 作る。
   時間1! 0.05秒 間隔 0.5秒 時間。
   時間1!「
      かめ! 10 歩く 90 右回り 10 歩く 90 左回り。
   」実行。
」それぞれ実行。

Re: Re: テキストno.14について

  • プログラミング初心者
  • 2024/07/04 (Thu) 14:25:33
早速のご教授、ありがとうございます。
両方のプログラムで亀さんたち、動いてくれました。
ただ、初心者の私は、
============
全員!「|かめ|
============
の後ろかっこがないことに理解が及びません。
入れるとエラーメッセージが出ます。
どうしてでしようか。

Re: テキストno.14について

  • omura
  • 2024/07/03 (Wed) 21:50:32
補足情報となります。
前回の投稿でご紹介したサンプルは、カメを一匹ずつ動かすプログラムとなりますが、カメを同時に動かす場合については、以下のような記述をすることで実現することができます。
「時間1」というタイマーオブジェクトを作成する記述の位置などが「それぞれ実行」のブロックの中に入っています。
こうすることで、全員の配列の中に入ってるカメごとにタイマーオブジェクトが作られるため、同時に動作することになります。


///////////////


全員!「|かめ|
時間1=タイマー! 作る。
時間1! 0.05秒 間隔 0.5秒 時間。
時間1!「
かめ! 10 歩く 90 右回り 10 歩く 90 左回り。
」実行。
」それぞれ実行。

///////////////

Re: テキストno.14について

  • omura
  • 2024/07/02 (Tue) 17:18:56
ドリトルのテキストとのことですが、ご記載の内容より、紅林先生が作られたテキストの「ドリトルを覚えよう その14」と認識いたしました。
以下、その想定で記載いたします。

サンプルプログラムについては、その12,13の修正プログラムと同様の修正で動作が可能になります。
以下がプログラムの修正例になります。(時間1の部品を作った後のプログラム部分のみ記載しています。それ以前は修正不要です。)


/////////
時間1=タイマー! 作る。
時間1! 0.05秒 間隔 0.5秒 時間。
全員!「|かめ|
時間1!「
かめ! 10 歩く 90 右回り 10 歩く 90 左回り。
」実行。
」それぞれ実行。

/////////

配列の『それぞれ実行』のブロックでは,配列に追加したオブジェクト(部品)をひとつずつ参照しながら、その部品に歩くなどの命令を指示しています。
このとき「10 歩く 90 右回り・・・」という命令が、配列内のオブジェクトに対する指示であること明示するため、上記プログラム中では参照したオブジェクトに「かめ」という仮の名前を付けて、この名前で命令を指示しています。

microbit制御ライブラリのダウンロード先はどこうでしょうか?

  • 李 賢程
  • 2024/04/13 (Sat) 10:37:16
下記のサイトに記載されている「microbit制御ライブラリ」の
ダウンロードはどこからですか?
https://dolittle.eplang.jp/ch_microbit

Re: microbit制御ライブラリのダウンロード先はどこうでしょうか?

  • 李 賢程
  • 2024/04/13 (Sat) 11:26:10
迅速な返事ありがとうございます。
教えていただきましたのサイトから、ダウンロードできました。
ありがとうございます。

Re: microbit制御ライブラリのダウンロード先はどこうでしょうか?

  • きつね
  • 2024/04/13 (Sat) 11:03:28
ダウンロードページから追加パッケージがダウンロードできました。


https://dolittle.eplang.jp/download


「ロボット制御対応ドリトル」の環境にマニュアルに従い「micro:bit制御ライブラリ」を導入すると実行環境が作れました。

マニュアルの通り、インストールフォルダはドライブ直下が良いみたいです。

簡易のブラックジャック

  • 寝屋
  • 2024/03/08 (Fri) 10:45:13
知識不足で作ってみたものの完成しませんでした。
ご教授お願いします。


ラベル1= ラベル!(乱数(10))作る。
ラベル1! -200 0 位置 100 50 大きさ。
ラベル2= ラベル!(乱数(10))作る。
ラベル2! -100 0 位置 100 50 大きさ。
ラベル3=ラベル!((ラベル1) +(ラベル2))作る。
ラベル3! 0 0 位置 100 50 大きさ。
ボタン1=ボタン! "一枚目" 作る。
ボタン1! -200 100 位置 100 50 大きさ。
ボタン2=ボタン! "二枚目" 作る。
ボタン2! -100 100 位置 100 50 大きさ。
ボタン3=ボタン! "合計" 作る。
ボタン3! 0 100 位置 100 50 大きさ。
ボタン4=ボタン! "引く" 作る。
ボタン4! -200 -100 位置 100 50 大きさ。
ボタン4 : 動作= 「ボタン4 ! 消える。」。
ボタン4 : 動作=「ラベル4= ラベル!(乱数(10))作る。」。
ラベル4! -100 -100 位置 100 50 大きさ。
ボタン5=ボタン! "結果" 作る。
ボタン5! 0 200 位置 100 50 大きさ。
ボタン5 : 動作= 「ラベル5= ラベル!(乱数(3)+17)作る。」。
ラベル5! -100 250 位置 100 50 大きさ。
ボタン5 : 動作= 「ぜんぶ!「(ラベル3) +(ラベル4)>=ラベル5」「(ラベル3) +(ラベル4)<22」本当」!なら
「ラベル6=ラベル!"your win" 作る」実行。
ラベル6! -400 -100 位置 100 50 大きさ。

Re: 簡易のブラックジャック

  • kanemune
  • 2024/03/10 (Sun) 21:43:19
寝屋さん、ご質問ありがとうございます。
「完成していない」とのことで作成途中なのだと思いますが、もし困っていることがありましたら、それを具体的に書いてみると誰かがアドバイスを書いてくれるかもしれません。

迷路ゲームのプログラム希望3

  • KY
  • 2024/03/07 (Thu) 06:03:42
kanemuraさん、返信をありがとうございます。

かめたの最初の位置を画面左下にしたいのですが、どうしたらいいでしょうか。
加えて、タイマーの時間を長くするにはどうしたらいいでしょうか。
本当に基本的な質問ばかりですみません。
よろしくお願いします。

Re: 迷路ゲームのプログラム希望3

  • K.Y
  • 2024/03/07 (Thu) 18:37:41
kanemuneさん、詳しい説明をありがとうございます。

これを参考にして、地道に作成してみようと思います。

とても親切で丁寧な回答をありがとうございました。

Re: 迷路ゲームのプログラム希望3

  • kanemune
  • 2024/03/07 (Thu) 06:54:37
KYさん、ご質問をありがとうございました。

ドリトルのテキストはこちらのページをご覧ください。
https://dolittle.eplang.jp/manualv331

タートルが使える命令は「命令一覧」の「グラフィックスオブジェクト」にあります。
https://dolittle.eplang.jp/ref_graphics33
タートルを左下に動かすには、「歩く」のほかに、「移動する」や「位置」が使えます。また、線を引かずに動かすときは「ペンなし」が使えます。

タイマーの説明は「4.アニメーション」にあります。実行時間を変えるには「時間」を使います。
https://dolittle.eplang.jp/ch_animation
「命令一覧」の「基本的なオブジェクト」にもタイマーで使える命令が紹介されています。
https://dolittle.eplang.jp/ref_basic33#%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC

それぞれの命令にはプログラム例が書かれていますので、ぜひ動かしながら試してみてください。

迷路ゲームのプログラム希望2

  • K.Y
  • 2024/03/06 (Wed) 06:08:07
kanemuneさん、さっそく返信をありがとうございました。
大変参考になります。

わがままを言って申し訳ないのですが、スタート位置からかめたを動かして、壁にぶつかったら、ゲームが終了する迷路ゲームの基本的なプログラムを紹介していただけないでしょうか。

そのくらい自分で考えなさいとおしかりを受けそうですが、どうかよろしくお願いします。

Re: 迷路ゲームのプログラム希望2

  • kanemune
  • 2024/03/06 (Wed) 07:25:34
K.Yさん、参考になってよかったです。
昨日のプログラムを参考にすれば、迷路ゲームをご自分で作れると思います。
ぜひ、チャレンジしてみてください。

迷路ゲームのプログラム希望

  • K.Y
  • 2024/03/03 (Sun) 08:41:19
ドリトル初心者です。かめたを移動させて出口まで到達したら「おめでとう」とメッセージがでるような迷路ゲームのプログラムを教えてくれませんか。どなたか、どうかよろしくお願いします。

Re: 迷路ゲームのプログラム希望

  • kanemune
  • 2024/03/05 (Tue) 21:42:40
K.Yさん、ご質問ありがとうございました。
おめでとうのメッセージを表示するサンプルプログラムです。
ご参考になれば。

===
// 主人公と表示欄を用意する
かめた=タートル!作る。
表示=ラベル!作る。

// 壁を作る
壁=かめた!200 歩く 90 右回り 50 歩く 90 右回り 200 歩く 図形を作る。
かめた!ペンなし 90 右回り 25 歩く 90 右回り。

// ゴールを置く(もう一匹のタートルを置いているが、図形を作ってゴールにすることも可能)
ゴール=タートル!作る ペンなし "star.png" 変身する 200 −25 位置。
ゴール:衝突=「時計!停止。表示!"おめでとう!!" 書く」。

// かめを動かす
時計=タイマー!作る。
時計!「かめた!10 歩く」実行。

当たり判定で困っています

  • 匿名の人
  • 2023/08/30 (Wed) 11:26:56
カメ太の出す玉に敵が当たったときのみに得点が増えるようにしたいです。下のプログラムを動かすと、敵に星が当たったときに得点が増えてしまいます。また、一番最初に作った敵オブジェクトにはカメ太が当たるとカメ太と敵の両方が消えますが、敵たち!(敵! 作る 〇〇 〇〇 位置)書く。で作った敵にあたったときは敵のみが消えてしまいます。どの敵にあたってもカメ太と敵が両方、もしくはカメ太のみが消えるようにしたいです。

画面! (黒)塗る。
カメ太=タートル! 作る ペンなし -550 0 位置。
カメ太! "ayumiBlue.png" 変身する。
up=ボタン! "up" "UP" 作る -80 -320 位置。
up:動作=「カメ太! 0 20 移動する」。
down=ボタン! "down" "DOWN" 作る -80 -440 位置。
down:動作=「カメ太! 0 -20 移動する」。

right=ボタン! "right" "RIGHT" 作る 50 -380 位置。
left=ボタン! "left" "LEFT" 作る -200 -380 位置。
right:動作=「カメ太! 20 0 移動する」。
left:動作=「カメ太! -20 0 移動する」。

カメ太:****=「タイマー! 作る「自分! 20 歩く」実行」。
****=ボタン! "****" "ENTER" 作る -50 -380 位置 100 45 大きさ。
****:動作=「カメ太! 作る 55 歩く "rocket.gif" 変身する ****」。
星=タートル! 作る "star.png" 変身する ぺんなし 10000 10000 位置。

星たち= 配列! 作る。


時計=タイマー! 作る 0.03秒 間隔 15秒 時間。
時計!「星たち!「|星|星! -5 0 移動する」それぞれ実行」実行。


繰り返し時計=タイマー! 作る 4秒 間隔 15秒 時間。
繰り返し時計!「


//二回目流れ
星たち!(星! 作る 800 70 位置)書く。
星たち!(星! 作る 610 0 位置)書く。
星たち!(星! 作る 710 300 位置)書く。

//三回目流れ

星たち!(星! 作る 1310 200 位置)書く。
星たち!(星! 作る 1200 90 位置)書く。
星たち!(星! 作る 1180 -210 位置)書く。
星たち!(星! 作る 1110 300 位置)書く。


//四回目流れ

星たち!(星! 作る 1630 -260 位置)書く。
星たち!(星! 作る 1510 -300 位置)書く。
星たち!(星! 作る 1610 0 位置)書く。
」実行。


敵たち=配列! 作る。
敵=タートル! 作る "ayumiAka.gif" 変身する ペンなし 180 右回り 20 40 移動する。
敵たち!(敵! 作る 400 -100 位置)書く。
敵たち!(敵! 作る 400 170 位置 "ayumiYellow.png" 変身する )書く。
敵たち!(敵! 作る 0 -350 位置)書く。
敵たち!(敵! 作る 200 -250 位置)書く。

x=1。
得点=フィールド!0 作る -800 400 位置。
敵:衝突=「|相手|「相手≠星」!なら「自分!消える。得点! 100 増やす。 :x=(:x)+1。」実行」。
カメ太:衝突=「|相手| 「相手=敵」!なら「自分!消える。」実行」。

制限時間=15。
カウントダウン=フィールド! 作る 700 400 位置。
コメント欄=ラベル! 作る  (黄色) 塗る -10000 400 位置。
終了時計=タイマー! 作る 1秒 間隔(制限時間)時間。

終了時計!「|n|カウントダウン!(制限時間-n)書く。
繰り返し時計=タイマー! 作る 0.1秒 間隔 14.85秒 時間。
繰り返し時計!「
   「(:x) == 1」! なら「
    コメント欄! "testo1" 書く -10100 -4000 位置。
                      」実行。

   「(:x) == 2」! なら「
    コメント欄! "testo2" 書く -10100 -4000 位置。
                      」実行。

   「(:x) == 3」! なら「
    コメント欄! "testo3" 書く -10100 -4000 位置。
                      」実行。
   「(:x) == 4」! なら「
    コメント欄! "testo4" 書く -10100 -4000 位置。
                      」実行。

」実行。

 「(n) == 15」! なら「
  ラベル! "Score"作る (白) 塗る -100 190 位置。
得点! 移動する 0 200 位置。
コメント欄! 移動する 0 0 位置。
  終了時計! 中断
 」実行
」実行。

どこを修正すればプログラムが動くようになるのか教えてください。


Re: 当たり判定で困っています

  • omura
  • 2023/09/01 (Fri) 22:06:14
開発メンバーの大村です。

衝突判定で消去する対象を限定したいということですね。
いろいろなやり方がありますが、キャラクターに判定対象なのかを判断させる属性を持たせて、その属性が消す対象かを判断するという方法があります。


以下のプログラムは「うさみ」「かぶきち」「かめた」というキャラクターに「種別」という属性を設定し、その属性が”敵”の時だけ、かめたの衝突判定で消す対象にする判断をしています。

この方法を利用すれば、お作りになったプログラムでも「弾に当たったときだけ」とか、「敵に当たったときだけ」消すプログラムが作れると思います。
参考にしてみてください。

***************
うさみ=タートル!作る "rabbitBlue.png" 変身する ペンなし。
うさみ:種別=”敵”。
うさみ! -150 -150 位置。

かぶきち=タートル!作る "beetle.png" 変身する ペンなし。
かぶきち:種別=”中立”。
かぶきち! 150 150 位置。

かめた=タートル!作る ペンなし。
かめた:種別=”味方”。
かめた:衝突=「|相手|
「(相手:種別) == ”敵”」!なら「相手!消える。」実行。
」。


操作ボタン=ボタン!”まがる” 作る。
操作ボタン:動作=「かめた! 30 右回り」。

時計=タイマー!作る 360 時間。
時計!「かめた!10 歩く。」実行。

ドンクリwindows版がダウンロードできません

  • 池田英仁
  • 2023/07/10 (Mon) 22:19:35
どこかに表示されているのかもしれませんが、ダウンロードできません。どうすればよいでしょうか?教えてください。

Re: ドンクリwindows版がダウンロードできません

  • 池田英仁
  • 2023/07/12 (Wed) 05:30:25
確認できました。ありがとうございました。

Re: ドンクリwindows版がダウンロードできません

  • honda
  • 2023/07/11 (Tue) 18:01:46
池田様
お問い合わせありがとうございます。
サポートメンバーの本多と申します。

DLのリンクが切れており、失礼いたしました。
修正いたしましたので、ご確認いただけますでしょうか?
https://dolittle.eplang.jp/dncl