[26] プログラムが組めない!!! 投稿者:まさ 投稿日:1999/12/09(Thu) 10:36:16

はじめまして、こんにちは。まさといいます。
プログラムを
センサから何も入ってこないとき −> 行動1
   ちなみにこれは緑色の下に書いてあります
タッチセンサから入っているとき1秒だけ −> 行動2
ライトセンサから入っているとき −> 行動3
のように組もうと思ったのですが、タッチセンサの
行動を終えた後に動作が止まってしまいます。
これは「タッチセンサが触れていない」ところのプログラムを見て
いるからだと思います。(ここには何も書いていない)

つまり、プログラムの書き方が悪いと思うのですが、
どうしたら目的のプログラムを作成できるのでしょうか?
教えてください。お願いします。


[26へのレス] Re: プログラムが組めない!!! 投稿者:まさ 投稿日:1999/12/10(Fri) 11:13:27

なんだか説明がおかしいと思うのでもう一回
投稿しようと思います。
つまり、タッチセンサが触れた後に1秒間だけ
ある行動をさせ、1秒たったらmainのプログラム
(programの下のプログラム)に戻すにはどうしたら
いいのでしょうか?
タッチセンサに触れた後だとタッチセンサのrelease
のところにある命令を実行しようとしてしまうのです。
と言いたかったのです。説明がヘタですいません。


[26へのレス] Re: プログラムが組めない!!! 投稿者:JinSato 投稿日:1999/12/10(Fri) 13:20:46

RCX CODE でプログラムを書いているんですよね。 > まささん

RCX CODE を文章で説明するのはなかなか大変ですし、説明をされても
理解するのも又大変ですね。
もしも、WebPageなどをお持ちだったら、いまのプログラムのスクリーンショットを
撮ったりして、WebPageの方に載せたりして頂いて、そのURLなどを教えて
頂けたりすると、意思の疎通はしやすいかと思いますが、可能ですか?

さて、いま、なんとかキャラクターで図を書いてみました。
「P1」 ―-「 S1 」
□|□□ |□|
□A □□ B□ C

(プロポーショナルフォントなので、文字により幅が変わるので、
スペースの変わりに □ を使っています)

P1 がプログラムのスタート部分
S1 がセンサーウオッチ(まささんの場合は、タッチセンサーですね)

A が RCXのRUN ボタンを押して直ぐ実行される部分
B が タッチセンサーが放されたときに実行される部分
C が タッチセンサーが押されたときの部分

まささんは、 こんな風にプログラムを書いたといことですか?



http://www.mi-ra-i.com/JinSato/


[26へのレス] Re: プログラムが組めない!!! 投稿者:JinSato 投稿日:1999/12/10(Fri) 13:33:16

続きです。
RCX CODEでS1の部分をサブルーチンと言う風に理解していると
RCX CODEが不可解に思えると思います。

RCX CODE の難しさというか、面白さは、P1の部分とS1の部分が実は同時に実行
されてるところです。

まささんの望む作動をさせたいと思うのならば、いちばん簡単な方法としては
Bの部分が終わったら、Aの部分と同じ物を、Bの下に続ければよいと思います。

Aの部分を My Command で定義してしまい、それを、Bの下につければよいと
思います。

別の方法としては、面倒ですが、カウンターをフラグとして使う方法です。

現在のAの部分を、My Commnadでひとつに纏めておきます。

そして、新たな、Aの部分は無限にリピートする用にしておいて
Counter を使って、Counterが0の時は先ほど作った My Comannd を
作動をさせるようにしておきます。

そして、C の部分でタッチセンサーが押されたら、カウンターを+1(Add Counter たしか) します。

また、Bの部分でタッチセンサーが放されたら、カウンターをリセット(0にして)
してまた、Aの中である、ループの状態を操作するようにします。

分かります〜?。

いずれにせよ、繰り返しになりますが RCX CODE は P1の部分とS1の部分が
実は同時に実行されてる事と、「S1]の部分をサブルーチン的に考えないように
することです。

http://www.mi-ra-i.com/JinSato/


[26へのレス] Re: プログラムが組めない!!! 投稿者:まさ 投稿日:1999/12/13(Mon) 12:58:38

あの分かりにくい説明にこんなにも親切に
答えてくれて本当にありがとうございます。
感謝・感謝です。
ということは、俺が考えているように
タッチセンサがオンでライトセンサがオン
の時は行動1。みたいなことはRCX-CODEでは
できないということですね。
それがしたかったらNQCみたいな言語を用いて
プログラムをしないといけないという
ことですか???


[26へのレス] Re: プログラムが組めない!!! 投稿者:JinSato 投稿日:1999/12/13(Mon) 16:37:42

●まさ さんへ
できないとは書いていないと思うんですが。 ..........
RCXCODEで、貴方の望むような動かし方をしたいと思うのであれば、
貴方が初めに書いた方法ではうまく行かないと思います。
ですから、まささんが2番目に書きこんだ、問題の対応策と思い2つの
方法を書いてみました。
その方法を使えば、まささんが2番目に書いた問題をクリアできると思
いますので、ぜひ実験してみてください。

> タッチセンサがオンでライトセンサがオン
> の時は行動1。みたいなことはRCX-CODEでは
> できないということですね。
できると思いますよ。

http://www.mi-ra-i.com/JinSato/


[26へのレス] Re: プログラムが組めない!!! 投稿者:まさ 投稿日:1999/12/13(Mon) 19:00:16

なるほど。分かりました。
がんばって作ってみます。
教えていただいて本当にありがとうございました。