Twitterを使ったシリトリの仕組みを考えた。
処理の流れ
シリトリ用アカウント(以下シリアカ)に、ユーザーはリプライを送った時にシリトリ開始。
そのリプライの一番お尻の文字と同じ文字を頭に持つ単語(以下シリトリ条件を満たした単語という)をDBより探して、ユーザーに送り返す。
その時、ユーザーがリプライした内容とユーザーに送り返した言葉をストックしておく。
次に同じユーザーがリプライを飛ばしてきた時、シリアカが送った単語とシリトリ条件を満たしているかどうかを判断して
シリトリ条件を満たしていない場合は、貴方は負けたという趣旨のリプライを送る。
シリトリ条件を満たしている場合、DBの中からシリトリ条件を満たして且つユーザーとシリアカが今まで発言していない単語を探してユーザーに送り返す。
以上を繰り返し、シリトリ条件に満たしユーザーと知り垢が今まで発言していない単語が無くなった場合は、シリアカが負けた趣旨をリプライに送る。
※ ンではおわらない。「ンビドー湖」とかが返してくる。
ユーザーの番になってから24時間以上返答がない場合は、終了した旨をユーザーに返す。
単語集集
ユーザーのリプライや、フォロイーの発言を形態素分析し、名詞のみをストックしていく。
並行プレイ
試合が始まったらユーザーのIDをキーにしてプレイ情報を保持しておく。
ゲーム終了後、その情報を削除する。
他のゲームで流用
囲碁や将棋の人工知能ライブラリとかがあれば、Twitter上で同じ仕組みでゲームが作れそう。