プレイ日記
サファイア nmskt4649v
対話プログラムで、登録してほしい内容を教えてください。 書き方 寒い→私も寒いです 自分 回答 という風にお願いします。 また、例として、『~』という文字列がいくつあるか、存在するかというのを調べるプログラムの作り方を教えてください。
0そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
好きな食べ物は?→お寿司が好きです。イカとかたまりません。 ヤリイカとマイカどっちが好き?→マイカの方が味がいいですね。 他には何が好き?→カツオのたたきです。戻り鰹最高すぎます。 たたきには何を付けて食べる?→生姜とポン酢です。 >『~』という文字列が存在するか def has_nyoro(s) return instr(s, "~")>=0 end 存在するなら非ゼロを、存在しなければ0を返す。
0そうだね
プレイ済み
返信[2]
親投稿
サファイア nmskt4649v
私も、イカが好きです(笑) 面白そうですね。 あの、寿司の話をした上でしか普通は回答が出来ない所は、どうしたら良いですかね?
0そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
smilebasic は仮引数の型は呼び出し時に決定されます。 文字列を s で受けても ok です。 個人的に仮引数に $ % # は付けないことが多いですね。
0そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
簡単に実装できるアイデアとしては、会話ごとに その答えを言うために必要なフラグと、 その答えを言った時に立てるフラグを付けましょう。 必要なフラグ|立てるフラグ|問い|答え なし|寿司|好きな食べ物は?|お寿司が好きです。イカとかたまりません。 寿司|なし|他には何が好き?|カツオのたたきです。戻り鰹最高すぎます。 最初の問いがあれば、「寿司」フラグを立てるようにします。 寿司フラグが立っているときに二番目の問いがあればその会話をします。 寿司フラグ立ってない場合は違う会話をします。 わかるかな?
0そうだね
プレイ済み
返信[5]
親投稿
サファイア nmskt4649v
みき★さん、Σз…さんに聞きます。(ソースコードは、次の投稿にて。) 次の投稿を見た上で、下を Σз…さんも、同じような対話プログラムに回答されていましたので、大丈夫だと思います。 ・どちらの方も、変数に『~』という文章が入っていたら、~を返すというのが分かるようなので、ソースコードのどこに何を足せばいいのか教えて下さい。部分~の○行目や、~行目と~行目の間に~を…のように教えて下さい。丸写しで、そのあと変えたものをかかれても良いです。Σз…さん、みき★さんの両方からの回答が得たいです。
0そうだね
プレイ済み
返信[6]
親投稿
サファイア nmskt4649v
ソースコード 部分1(問う) @Main Linput"Comment";CMT$ 部分2(審査) IF CMT$=="おはよう" THEN SEND$="おはようございます" (等といったデータ) 部分3(回答) PRINT "You»"; PRINT CMT$ PRINT SEND$ TALK SEND$ GOTO@MAIN
0そうだね
プレイ済み
返信[7]
親投稿
Σ εαρ Malfoy-Malfoy
みき★さんそうだったんですね! 知りませんでした。
0そうだね
プレイ済み
返信[8]
親投稿
MIKI ifconfig
部分2の最後に if instr(cmt$, "~")>=0 then (cmt$に "~" が入ってたときの処理) endif を追加
0そうだね
プレイ済み
返信[9]
親投稿
サファイア nmskt4649v
みき★さん» 実践してみます。 ところで、フラグって何ですか?
0そうだね
プレイ済み
返信[10]
親投稿
MIKI ifconfig
「死亡フラグ」とか聞いたことないですか? 「俺この戦争が終わったらあの娘と結婚するんだ」 「ここは俺に任せろ! 心配するな! さあ行け!!」 「バカめ! 貴様の技など全て見切っているわ!!」 とかのセリフの後、死んでしまうというアレ。 if (セリフが上のどれか) then shibou=true if shibou then (そののキャラ死亡処理) てなコードになります。ここで shibou という変数をフラグと呼びます。
0そうだね
プレイ済み