実現したいこと
言語:C(python,contlin,javaに変更可、私用でのちにAndroidアプリ化かも)
c言語なのは高校の時にちょっとかじったからでそれ以上の意味はありません。
簡単な問診票に答えて自分の正気度を測るプログラムを作っているのですが、何を基準に数値を設定すればいいのかわかりません。
例えば、”ここ数日の睡眠時間を入力”の時に入力して、その出力が"8時間平均より上"だったら"double SAN = SAN + 50"するみたいな感じで。でもその50の定義ってどこから来たの?となってます。主観性と客観性を吟味したか、という疑問があります。
そしてif(SAN < 20)みたいなら、printf考えるの後で寝ましょう、決定は後回しにしましょう、慎重に動きましょうとか、解決策も提示するようにしてます。
SAN値は何を基準にしたらいいと思いますか?
意見待ってます。
発生している問題・分からないこと
SAN値の数値の定義。
例えば睡眠は+何で、食事は+何とか。
該当のソースコード
c言語
1 printf("> Did you get enough sleep this week? \n> Y = 1, N = 2\n"); 2 scanf("%d",&sleep); 3 if(sleep == 1){ 4 SAN = SAN + 50; 5 printf("> Your SAN is %d now\n",SAN); 6 } else if(sleep == 2){ 7 SAN = SAN - 50; 8 printf("> Your SAN is %d now\n",SAN); 9 printf("> Be careful\n"); 10 11 12 }
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
SAN値の定義がわからないのです。
補足
※補足(ここはredditで勧められてきました。)
ここでアドバイスされたのですね。
https://www.reddit.com/r/ja/comments/1rakiwq/san%E5%80%A4%E3%82%92%E9%87%8F%E7%9A%84%E8%B3%AA%E7%9A%84%E4%B8%A1%E6%96%B9%E8%A1%A8%E3%81%9B%E3%82%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E4%BD%9C%E3%82%8B%E3%81%AB%E3%81%82%E3%81%9F%E3%81%A3%E3%81%A6/
teratailはプログラミングの話が中心で、SAN値の定義は期待できないと思います。
ググったら「クトゥルフ神話TRPG」の用語らしいですが、それのことですか?
クトゥルフ神話は参考にしていませんが、TRPG系全般で正気度みたいなものはあると思います。
了解しました。論文をあたってみます。ありがとうございます。
いずれにせよ、プログラミングの話じゃねぇなぁ。精神医学の話じゃなかろうか(笑)。
> TRPG系全般で正気度みたいなものはあると思います。
んん〜。
いや、あんまTRPGそのものには詳しくないけど、多分「ない」かな。
基本的に「クトゥルフ神話TRPG」ってのは、Chaosium社ってメーカーの「Basic Role Playing」ってTRPGの「システム」を拡張したんだ。
プログラミング言語っぽく言うと、「Basic Role Playing」ってのは「プログラミング言語Aの仕様書」、そして「クトゥルフ神話TRPG」ってのは「✗✗社のプログラミング言語Aの独自拡張製品」ってカンジかな。実際は両方ともChaosium社がやってるんだけど、いずれにせよ、Chaosium社のTRPG基本システム「Basic Role Playing」を流用して「クトゥルフ神話TRPG」を作る際に、「機能拡張した」って事だ。
んで、「クトゥルフ神話TRPG」ってのは「ホラーをテーマにした」TRPGで、要は「恐怖を感じた」と言う事をゲーム上どう表すのか、ってぇんで「Basic Role Playing」と言う基本システムに「正気度」(sanity)と言うパラメータを付け加えたんだな。「恐怖を感じる」(とダイス判定される)度に、作成キャラクタ(「クトゥルフ神話TRPG」では「探索者」と呼ぶ?)の「正気度」がガリガリと削られていき、ある値以下になると「発狂する」と。この「クトゥルフ神話TRPG」上、HPと同様に「削られる対象」で、ある値以下になると「キャラクタが行動不能(あるいは行動をコントロール出来なくなる)」パラメータをsanityから取ってSAN値、って言うわけだ。
と言うわけで、原則、Chaosium社の「Basic Role Playing」基盤上の話であって、「Basic Role Playing」を利用したルール上じゃないと、ルーツ的な話をすると「使えない」んだよ。著作権がこの辺にあるかどうかは知らんが。また、もう分かったと思うけど、「ホラーをテーマにした」TRPGじゃないとあまり意味ねぇんだよな。勇者が魔王倒す旅に出てるのにモンスターに出会う度に恐怖で正気度が削られていく、とかどんな「勇者」なんだ、って話になる(笑)。まぁ、世界観によるだろうけど。
とまぁ、いわゆるSAN値ってのは、こういう由来なんで、どっちにせよ「現実世界に適応させたい」ってのなら、プログラミングより精神医学にあたった方がエエんちゃうんかなぁ。
私もこの質問はプログラミングとは無関係かと思います。
> 言語:C(python,contlin,javaに変更可、私用でのちにAndroidアプリ化かも)
contlinとは何でしょうか?もしかしてKotlinでしょうか?
少しTRPGの経験はありますが、いわゆるファンタジー系では正気度を扱うものは聞いたことはありません。
ホラー系で『生き残れば冒険成功』というクトゥルフのTRPGではプレイヤーの能力値(?)として正気度を扱いますが、それは異形の存在の示唆や遭遇等の『非日常』経験によって狂っていく過程を表すものですので、作ろうとしている『日常』の行動での注意喚起的なレベルを表すものではありませんね。
とりあえず自分の為のものであれば、正気で無くなってそうな時の行動を5つ位あげてそれぞれの重みを1とし、合計で3以上だったら休息しましょうと表示・・・とかご自身の感覚でテキトウに決めうちで作って、後は使いながら重みを調整していくのが妥当かと思います。
『アンケートに答えて判断して結果を出す』というだけのアプリなら技術的に難しい所はまず無いでしょうから、アンケートデータの編集を簡単に出来るようにしておけば、後は実効性を良くするためにデータを弄り続けるのみです。