Name: えのも
Mail: tosikazu@jaist.ac.jp
Date: 2000/01/08(Sat) 19:48
Host: 150.65.95.77
Title:qa_[49] 遅くなってすいません(説明)
--------------------------------------------------------
おそくなりましたが以前(年末)要請があったインチキマルチタスクについて書かせ
てもらいます(w。ほんとにインチキなので期待しないで呼んでください。
以前投稿したプログラムの目的は複数の音を鳴らしている最中に光が入ると、即座に
音を止めてモータを回すと言うものでした。(言語VB)
<初期>
以下のプログラムは暗い状態で2種類の音を繰り返し出しつづけ、光が入れば即座に
音を止めモータを回すと言うものです。Task1では光が入ってきた時の動作を、Task2で
は2種類の音を鳴らそうと思い書きました。
しかしこのソースでは@で毎回StartTask (2)を実行してしまうので一種類の音しか
鳴りません。更にTask2のAの所で光が入ってきてもすぐには止まらずTaskの最後Bま
で実行してしまいます。
..BeginOfTask (1)
..Loop CON, 0
.While SENVAL, 1, 0, CON, 55
.StopTask (2)
.On 0
.EndWhile
.StartTask (2) −−−−−−−−@
.Off 0
..EndLoop
..EndOfTask
..BeginOfTask (2)
.Loop CON, 0
.PlayTone 3000, 10 −−繰り返す音
.Wait CON, 20 −−−−−−A
.PlayTone 3300, 10
.Wait CON, 20
.Off 2 −−−−−−B
.EndLoop
..EndOfTask
<現在>
仕方ないので美しく無いですがif分を大量に使って以下の様にして擬似的に解決しま
した。
..BeginOfTask (1)
..Loop CON, 0
.If SENVAL, 1, 1, CON, 55
.off 20
.PlayTone 3000, 10
.EndIf
.If SENVAL, 1, 1, CON, 55
.off 20
.Wait CON, 20
.EndIf
.If SENVAL, 1, 1, CON, 55
.off 20
.PlayTone 3300, 10
.EndIf
.If SENVAL, 1, 1, CON, 55
.off 20
.Wait CON, 20
.EndIf
.On 20
..EndLoop
..EndOfTask
とま〜、こんな感じでかなりインチキしてしまいました。
Name: あかいし
Mail: akaishi@pg7.so-net.ne.jp
Date: 2000/01/02(Sun) 03:23
Host: 210.139.237.143
Title:qa_[12] Re: macさんのプログラム道場
--------------------------------------------------------
macさんが、ひとりで問題考えるのは、とても大変そうだから、NQC問題を募集して
みてはいかがでしょうか?
たとえば・・・やっぱり大変ですね。あはは。
メカニカルな仕様は言葉で説明し辛いですから、なるたけ簡単なもので。
プログラムのくふうの要るのがいいと。
たとえば・・・RIS1.5のマニュアルに載っているROVERBOTに(P.10)キャタピラとラ
イトセンサーを付けて、懐中電灯の光を向けて点滅させる事によって、前進、後退、右
折、左折、接地旋回、停止、などをさせる事の出来るプログラム・・・とか。
ううーんん(~_~;)信号の送り方の仕様はどうしよう。
Name: あかいし
Mail: akaishi@pg7.so-net.ne.jp
Date: 2000/01/02(Sun) 03:35
Host: 210.139.237.143
Title:qa_[13] Re: 道場をこちらに作ってみました〜
--------------------------------------------------------
> 門下生一号?のあかいしさんこんにちは〜。
> 道場の方、盛り上がりそうなので、別のURLに作ってみました。
> URLは http://www.mi-ra-i.com/JinSato/MindStorms/DJ/index.html
> です。
> 専用の掲示板も作ってみましたので、お気軽に挑戦してみてください〜。
>
あちゃー。Jinさんこんにちはですう。
それでは、ひっこしします。(^_^;)