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

楽しいです

  • 大草原不可避
  • 2017/11/16 (Thu) 15:19:56
ドリトルの授業はとても楽しいです。と生徒から感想をもらいました。これからも続けていきたいと思います。ありがとうございました。

Re: 楽しいです

  • kanemune
  • 2017/11/17 (Fri) 11:25:52
ご連絡ありがとうございました。
子どもたちに楽しんでいただけたようでよかったです。
もしご不明の点などがありましたらお気軽にご連絡ください。

選択メニューについて

  • ななし
  • 2017/10/04 (Wed) 14:34:38
こんにちは

選択メニューについての質問ですが、
・選択肢を一度リセットする方法について
・選ばれている選択肢を変更する命令について
困っているので相談したいと思い投稿しました。
代替案や使える命令等について、ご助言をお願いいたします。

//サンプルプログラム
///////////////////////////////////////////
メニュー1=選択メニュー!作る。
「|n|メニュー1!(n)書く.」!6 繰り返す。
//このあと、メニュー1の選ばれている選択肢を4に変更したい
//さらにこのあと、メニュー1の選択肢を[ A B C D E F ]に変えたい
///////////////////////////////////////////

Re: 選択メニューについて

  • kanemune
  • 2017/10/11 (Wed) 14:39:19
お返事が遅くなりました。
現在は該当する機能や代替手段が存在しないようです。
次のバージョンで対応できるように検討してみたいと思います。
ご不便をおかけしますが、よろしくお願いします。

ボタンを配列として扱う方法

  • 野部
  • 2017/09/19 (Tue) 21:13:43
兼宗先生

画面消去については、ありがとうございました。
続けて、ボタンを配列として使う方法があれば教えていただきたく書き込みます。

たとえば、「1」のボタンを押すと、1という値が取得できるようにしたいと考えています。
ラベルから選ぶ場合は、何番目を選ぶというのがありますが、ボタンの配列でもこれが可能でしょうか。

たとえば、現在次のようなプログラムで1~5まで表示をしています。

ボタンの5をクリックすると、カードの5番目の値(今回は5)を取得できるようにするには、ボタンをおされたときの動作の定義をどのようにすればよいのでしょうか?









Re: ボタンを配列で扱う方法

  • 野部
  • 2017/09/22 (Fri) 03:11:38
ありがとうございました。
サンプルにある音楽プログラムに手を加えて、メロディをボタンで入力できるように反抗しました。
音符の長さはまだです。
以下がとりあえずの完成


// 「音楽演奏」(「ドリトルで学ぶプログラミング」Activity8)
// ボタンを5個作る。
音階=配列!作る。
音階! "ど"入れる "れ"入れる "み"入れる "ふぁ"入れる "そ"入れる "ら"入れる "し"入れる "↑"入れる "↓"入れる "#”入れる”b"入れる。
メロディ欄=フィールド!作る 600 45 大きさ -300 100 位置。
メロディ欄!”どどそそららそ~ふぁふぁみみれれど~”書く。
「|n|
  b=ボタン!(""+(音階!(n)見る))作る 90 45 大きさ (-400+(n-1)*100) 200 位置。
  b:値=音階!(n)見る。
  b:動作=「!(値)選択」。
」!11 繰り返す。
選択=「|b|
旋律=(メロディ欄!読む)+(b)。
メロディ欄!(旋律)書く」。
楽器名=選択メニュー!作る 180 45 大きさ -300 50 位置。
楽器名!"ピアノ" 書く "オルガン" 書く "ギター" 書く "トランペット" 書く "ベル" 書く。
実行ボタン=ボタン!"実行" 作る -100 50 位置。
バンド1=バンド!作る。
実行ボタン:動作=「
 バンド1!クリア。
 主旋律=メロディ!作る(メロディ欄!読む)追加。
 ピアノ1=楽器!(楽器名!(楽器名!何番目?)読む)作る(主旋律)設定。
 バンド1!(ピアノ1)追加 演奏。
」。

Re: ボタンを配列として扱う方法

  • kanemune
  • 2017/09/19 (Tue) 22:49:23
複数のボタンから、どれが押されたかを表示するサンプルです。このようなものでしょうか?配列を使う必要はありませんでした。

=====
// ボタンを5個作る。
「|n|
  b=ボタン!(""+n)作る。
  b:値=n。
  b:動作=「!(値)選択」。
」!5 繰り返す。

// 押されたら命令が実行される。ボタンの値が渡されるためどれが押されたかがわかる。
選択=「|b| ラベル!(b)作る」。

画面のクリア

  • 野部
  • 2017/08/06 (Sun) 17:43:17
兼宗先生、ご無沙汰しております。

「1時間で学ぶソフトウェアの仕組み」を利用して、発展形として、トンボ(チューリップの代わり)と速度を読み込んで変化させるプログラムを考え、昨年度ある高校で授業で実施いたしました。

 以下の通りです。

ラベル!”速さ”作る -650 300 位置。
速さ=選択メニュー!作る 50 45 大きさ。
速さ! 10 書く 20 書く 30 書く 40 書く。
ラベル!”数” 作る -500 300 位置。
個数=選択メニュー!作る 50 45 大きさ。
個数! 3 書く 5 書く 10 書く 15 書く。
実行ボタン=ボタン!”実行” 作る。
かめた=タートル!作る。
左ボタン=ボタン!"左" 作る。
左ボタン:動作=「かめた!30 左回り」。
右ボタン=ボタン!"右" 作る。
右ボタン:動作=「かめた!30 右回り」。

時計=タイマー!作る 200 回数。
実行ボタン:動作=「


数=(個数!(個数!何番目?)読む)。

とんぼ=タートル!作る "tonbo.gif" 変身する ペンなし。
とんぼ!(乱数(600)-300)(乱数(300)-150)位置。
」! (数) 繰り返す。
速度=(速さ!(速さ!何番目?)読む)。
時計!「かめた!(速度) 歩く」実行。
」。
かめた:衝突=「|相手| 相手!消える」。

時計の外側に「実行」ボタンを作成し、メニューで読み込んだのちに実行ボタンによってタイマーが開始となるようにいたしました。
相談ですが、こちらにも実行ボタンがあるので、値を読み直しをして実行するときに、画面上の「実行」を押すと、当然なのですが、それまでのトンボが残ったまま増えていくことになります。
画面にあるキャラクターやペンの線を一度に消す方法はないでしょうか?

Re: 画面のクリア

  • kanemune
  • 2017/09/19 (Tue) 10:36:16
ご確認ありがとうございました。タートルを消す、図形だけを消す、といった使い方はありそうですね。検討してみます。

Re: 画面のクリア

  • 野部
  • 2017/09/19 (Tue) 09:24:11
返事がおそくなっておりましてすいません。
対応ありがとうございました。
システム的な消去なので、ラベルもボタンも全部消してしまうのですね。
画面消去で、消えることは確認できましたが、ボタン実行のタイミングで、画面消去を入れてしまいますと、キャラクターやペンだけでなく肝心のカメ太や「右」「左」ボタンまで消えてしまって、ゲームとしてなりたたなくなってしまいました。

いろいろタイミングプログラムも考えてみたのですが、私の力では今回の目的にはうまく使いこなせませんでした。

画面のキャラクターを消すのであれば、それぞれのキャラクターを配列にして、消すという方法になるのかなと考えております。

今回の目的には使うことができませんでしがた、また別のプログラムでりようさせていただきます。



Re: 画面のクリア

  • kanemune
  • 2017/08/12 (Sat) 13:25:04
V3.11に入れてみました。次のどちらかでお試しください。
システム!画面消去。
システム!画面を消す。
http://dolittle.eplang.jp/data/dist/dolittle.jar

ネットワークにつなげません…

  • もも
  • 2017/08/27 (Sun) 10:53:34
初心者になります。すみません。
中学校で技術を教えており、新学習指導要領のために、ネットワークのプログラミングについて探していたところ、巡り会えました。ただ、サーバーへのつなぎ方ができません。
「サーバーはドリトルの編集画面から「server」のチェックボックスをクリックすることで起動することができる。」とあり、クリックしても「もうひとつの画面が表示される。ドリトルの実行画面と似ているが、画面下のボタンは2つしかない。これがサーバーのウィンドウである。」にある、サーバーのウィンドウが起動されません…。どうすればよいでしょうか…。

Re: ネットワークにつなげません…

  • きつね
  • 2017/08/27 (Sun) 11:19:27
Ver3.xでは「server」項目チェック後の動きが変わっているみたいですね。

Ver3.1では別ウインドウでのサーバー画面は無くなってました。
「server」項目をチェックすると、「server」項目の下にIPアドレスと通信内容を表示する枠が表示されませんでしたか?

この状態になれば、私の環境ではネットワーク機能が利用できました。


入れ子について

  • たんた
  • 2017/08/20 (Sun) 14:02:39
自分で追加した命令を、繰り返しに入れようとするとエラーが起きます。自分の記述が悪いのでしょうか。

かめた=タートル! 作る。
かめた:箱=「「自分!100 歩く 90 左回り」!4 繰り返す」。
かめた!「箱 30 右回り」!12 繰り返す。

箱 ★30
のあたりを確認してくださいとエラーが出ます。

Re: 入れ子について

  • kanemune
  • 2017/08/20 (Sun) 19:53:18
解決してよかったです!

Re: 入れ子について

  • たんた
  • 2017/08/20 (Sun) 16:54:57
kanemuneさん
ありがとうございます。

かめたに対して、余計な指示が2度行っていることは推測がついていましたが、「!」が原因とは気が付きませんでした。

Re: 入れ子について

  • kanemune
  • 2017/08/20 (Sun) 16:05:25
たんたさん、こんにちは。
プログラムの最後の行で、かめたに2回「!」が書かれているように思います。

> かめた!「箱 30 右回り」!12 繰り返す。

次のようになるでしょうか。

「かめた!箱 30 右回り」!12 繰り返す。

始めまして

  • hoshi
  • 2017/08/14 (Mon) 09:31:14
高校で情報担当の非常勤講師してます。
フォーラムを利用しましたがあまり活発でないようでした。こちらの掲示板を初めて見ましたが活発で安心しました。たくさんの情報があり大変参考になります。
教科書に載っていたドリトルで文化祭にゲームを展示する予定ですが、私も初めての言語なので、夏休み勉強中です。WEB上のマニアルを頼りにしていましたが先日 book.pdf があるということを知りましたがどこにあるのかわかりません。どなたか教えていただければ助かります。

Re: 始めまして

  • hoshi
  • 2017/08/14 (Mon) 20:07:59
早速のご返事ありがとうございます。
早速2つの悩みbook.pdf と実行ボタンが解決しました。
大助かりです。
今後ともよろしくお願いします。

Re: 始めまして

  • kanemune
  • 2017/08/14 (Mon) 18:15:38
>ゲームを再実行させるのに一番下の欄外の「実行」ボタンをクリックする必要がありますね、プログラムの中でボタンを作って再実行できるようにしたのですが可能でしょうか?

この機能はありませんでしたので、開発中のV3.11に入れたいと思います。リリースは8月末になってしまいますので、お急ぎの場合は次のURLから「dolittle.jar」をダウンロードしてV3.10のものと入れ替えてお使いください。
システム!再実行。
http://dolittle.eplang.jp/data/dist/dolittle.jar

(説明)
システムに「再実行」「restaert」を送ると、編集画面に書かれたプログラムを実行します。画面下部の「実行!」ボタンを押したときと同じ動作です。

(確認プログラム)
====
かめた=タートル!作る。
タイマー!作る 1 間隔「かめた!100 歩く 90 左回り」実行。
ボタン!作る「システム!再実行」動作設定。
=====

Re: 始めまして

  • kanemune
  • 2017/08/14 (Mon) 18:10:43
hoshiさん、こんにちは。
書籍が絶版でご迷惑をおかけしています。

書籍のPDFはこちらからご連いただけます。
http://etext.jp/publish/pdf/dolittle.pdf

最新の内容はWebでご確認ください。
今後ともよろしくお願いします。

Studuino mini

  • 安井
  • 2017/05/23 (Tue) 15:03:00
Studuino miniのDCモーターは制御可能でしょうか。
myuロボから切り替えられないかを検討しています

Re: Studuino mini

  • きつね
  • 2017/07/14 (Fri) 14:17:53
Ver3.1が先日リリースされてました。
この中の対応のひとつにStuduino miniが入ってましたよ。(まだβ版みたいですが。)

Re: Studuino mini

  • kanemune
  • 2017/05/24 (Wed) 09:23:38
安井先生、ご連絡をありがとうございます。
Studuino miniは、まだ動作を確認していませんでした。
すぐに対応できるかどうかを今週中に調べてみます。
よかったら kanemuneあっとgmail.com にメールを頂けますか。
調査が終わり次第結果をお知らせします。よろしくお願いします。

配列と繰り返しの使用について

  • トト
  • 2017/06/05 (Mon) 08:08:21
配列と繰り返しの命令がうまくいきません。


カメゾウ=タートル! 作る。
カメ子=タートル! 作る。
カメキチ=タートル!作る。
カメ三郎=タートル!作る。
カメ子! "ayumiAka.gif" 変身する。
カメキチ! "ayumiKiiro.gif" 変身する。
カメ三郎! "ayumiAo.gif" 変身する。
全員=配列!作る。
全員!(カメゾウ)入れる。
全員!(カメ子! 90 右回り)入れる。
全員!(カメキチ! 180 右回り)入れる。
全員!(カメ三郎! 270 右回り)入れる。
全員!「「! 10 歩く90 右回り10 歩く90 左回り」! 7回繰り返す。」それぞれ実行。

歩くというメソッドがないとエラーがでます。

バージョンが変わったりで、命令の仕方が変わっているのでしょうか?どなたかわかる方、教えてください。

Re: 配列と繰り返しの使用について

  • kanemune
  • 2017/06/12 (Mon) 12:27:12
トトさん、動作のご確認をありがとうございました。
今後ともよろしくお願いします。

Re: 配列と繰り返しの使用について

  • トト
  • 2017/06/12 (Mon) 11:17:36
kanemuneさん

タイマーとも動きました!
ルールがきちんとわかっておらず、本当に助かりました。
ありがとうございます。

独学ですので、また質問させていただくことがあると思います。
そのときは、またよろしくお願いいたします。

Re: 配列と繰り返しの使用について

  • kanemune
  • 2017/06/07 (Wed) 09:00:36
わかりにくくてすみません。
おそらく次のような書き方になると思います。

=====

時計=タイマー!作る 2秒 時間。

// 1個ずつの場合
//全員!「|かめ|
//  時計!「かめ! 10 歩く 90 右回り 10 歩く 90 左回り」実行。
//」それぞれ実行。

// 全員いっせいの場合
時計!「
  全員!「|かめ| かめ! 10 歩く 90 右回り 10 歩く 90 左回り」それぞれ実行。
」実行。

Re: 配列と繰り返しの使用について

  • トト
  • 2017/06/07 (Wed) 07:48:52
kanemuneさん

ありがとうございます。やっと動きました。
重ね重ね申し訳ないのですが、

時間と配列を同時に使用する場合もあり、

全員!「時間!「! 10 歩く 90 右回り 10 歩く 90 左回り」実行。」それぞれ実行。

では、どのような書き方をすればいいのでしょうか。

Re: 配列と繰り返しの使用について

  • kanemune
  • 2017/06/05 (Mon) 13:51:38
トトさん、こんにちは。
配列の繰り返しはバージョン2で書き方が変わりました。

マニュアルの下の方に配列の「それぞれ実行」の説明がありますのでご覧ください。
http://dolittle.eplang.jp/index.php?ref_basic

今回のプログラムは下のように「|T|」を加えることと、!の前に「T」を付けることで動くようになると思います。

全員!「|T|「T! 10 歩く 90 右回り 10 歩く 90 左回り」! 7回 繰り返す。」それぞれ実行。

動作メソッドについて

  • mugen
  • 2017/02/18 (Sat) 21:07:57
複数のボタンを作り、どのボタンにも同じ動作を定義したいのですが、下記のプログラムでは最後のボタンしか動作しません。全てのボタンに動作が及ぶようにするにはどのような書き方をすれば可能でしょうか?


map=[|v s1 e1 s2 e2| s2+(e2-s2)*((v-s1)/(e1-s1))].
w=screen!width?. h=screen!height?.
xn=5. yn=5.
ws=ceil(w/xn). hs=ceil(h/yn).
i=0. j=0.
[i=i+1.
 [j=j+1.
  x=!(j)(1)(xn+1)(w/-2)(w/2) map. y=!(i)(1)(yn+1)(h/2)(h/-2) map.
  bt=button! create (ws)(hs) size (x)(y) position.
  bt:action=[bt! (red) paint].
 ]! (xn) repeat.
 j=0.
]! (yn) repeat.

Re: 動作メソッドについて

  • kanemune
  • 2017/02/19 (Sun) 09:31:43
失礼しました。こちらでいかがでしょう。BitArrow版と、もしかしたらJavaの最新版に入っているかもしれません。

ボタン!作る「自分!(赤)塗る」動作設定。

もし使えない場合は、次のような定義をプログラムの前のほうに入れてください。よろしくお願いします。

ボタン:動作設定=「|b| 自分:動作=b」。

Re: 動作メソッドについて

  • mugen
  • 2017/02/19 (Sun) 09:24:16
説明不足の質問でお手数をおかけします。
名前のないボタンで、動作が自分(ボタン)の色を塗り替えるという場合です。

//ボタン:動作=「ラベル!”a”作る」。
ボタン:動作=「ボタン!(赤)塗る」。
ボタン!作る。
ボタン!作る。


こんな感じで名前を付ければ可能なのですが。

ボタン1=ボタン!作る。
ボタン1:動作=「ボタン1!(赤)塗る」。

Re: 動作メソッドについて

  • kanemune
  • 2017/02/19 (Sun) 06:49:02
名前のないボタンでしたか。たとえばこのようなものでしょうか?

ボタン:動作=「ラベル!”a”作る」。
ボタン!作る。
ボタン!作る。

Re: 動作メソッドについて

  • mugen
  • 2017/02/19 (Sun) 06:03:54
説明が不十分で申し訳ありません。各々のボタンに名前を付ければ大丈夫なことは解っていたのですが、名前を付けなくても良い方法がないか教えていただきたかったのでした。

Re: 動作メソッドについて

  • kanemune
  • 2017/02/18 (Sat) 21:11:27
ご質問をありがとうございました。
よかったら、下記のように、その機能だけのプログラムを示していただけるとたいへん助かります。
Java版では動作しました。

ボタン:動作=「ラベル!”a”作る」。
b1=ボタン!作る。
b2=ボタン!作る。