アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語でしりとりのプログラムを作ろうとしているのですが、基礎的なことがわからなくて…。

内容としては、

・’ん’がついたら終了
・一度使用した単語は使用不可(その場合も終了)
・先攻後攻はランダム
(ユーザー先攻:ランダムで最初の一文字を決める)
(COM先攻:ランダムで単語を出力)
・COMはあらかじめ用意した単語帳から単語を引用
・回数はCOMの単語が尽きるまで(その場合、ユーザーの勝利)
・終了後に使用した単語数のカウント

といった内容で作りたいのですが、

・あらかじめ単語を用意する方法
・単語の引用方法

がわかりません。
教えていただけますか??

A 回答 (3件)

>・あらかじめ単語を用意する方法


ファイルに用意し、プログラム初期化時にファイル内容を
配列に格納する。
一度使ったかどうかを知る必要があるので
struct word_type{
char* word;
char isUsed;
};
のような構造体の配列になるかもしれません。
(使ったかどうか情報を単語数分だけ持つ配列を
別に用意してもいけると思います)

>・単語の引用方法
配列をfor文で回して、使用可能な単語
(ユーザが入力した単語末尾文字で始まり、かつ
まだ使用していない単語)があるか
調べます。該当単語を使ったらisUsedにフラグを
立てます。
    • good
    • 2

回答ではないけど。

。。

ユーザが入力したものがCOMの単語帳にも登録される(学習する)とインテリですね。
しりとりすれば単語帳も作れるし。
とはいえ、動的な単語帳はちょっと難易度が高い。
が、やってみるのもいいかもですね。
更に、プログラムが終了すると学習したものも消えちゃうから、ファイルに出力されるとか。
    • good
    • 1

回答が大変なので、質問の部分のみ。



>・あらかじめ単語を用意する方法
>・単語の引用方法

 これはプログラマーが人力で単語を事前に入力しておきます。
 辞書のメンテナンスの良さから辞書ファイルとして単語を保持する専用のファイルを用意するのが良いでしょう。

 これが3文字しりとりなら、テキスト形式でひらがな3文字を思いつく限り打ち込んでおきます。

 辞書と言っても漢字やカタカナ表記はどうするのか?など疑問が思い浮かぶかもしれませんが、とりあえずユーザから受け付ける文字は「ひらがな」と考えます。

 漢字や片仮名が混じっていたらどうするか?の対策は対応する文字に対して平仮名を表す辞書をペアで持つなど。


 この仕様では必ず不具合が発生しますが、どんな不具合に遭遇するかは自身で経験をしてみてください。


 過去の類似質問。
>COMとユーザの対話型しりとりプログラムです。
https://oshiete.goo.ne.jp/qa/5870730.html
    • good
    • 2
この回答へのお礼

ありがとうございます。

頑張ってみます。

お礼日時:2016/05/15 18:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています