質問するログイン新規登録

Q&A

3回答

306閲覧

SAN値を量的質的両方表せるプログラムを作るにあたって

emo-diva

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2026/02/21 08:36

編集2026/02/21 08:37

0

0

実現したいこと

言語: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で勧められてきました。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

hiroki-o

2026/02/21 09:28

ここでアドバイスされたのですね。 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」の用語らしいですが、それのことですか?
emo-diva

2026/02/21 12:44

クトゥルフ神話は参考にしていませんが、TRPG系全般で正気度みたいなものはあると思います。 了解しました。論文をあたってみます。ありがとうございます。
cametan

2026/02/21 13:20

いずれにせよ、プログラミングの話じゃねぇなぁ。精神医学の話じゃなかろうか(笑)。 > 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値ってのは、こういう由来なんで、どっちにせよ「現実世界に適応させたい」ってのなら、プログラミングより精神医学にあたった方がエエんちゃうんかなぁ。
meg_

2026/02/21 17:10

私もこの質問はプログラミングとは無関係かと思います。 > 言語:C(python,contlin,javaに変更可、私用でのちにAndroidアプリ化かも) contlinとは何でしょうか?もしかしてKotlinでしょうか?
jimbe

2026/02/22 18:19

少しTRPGの経験はありますが、いわゆるファンタジー系では正気度を扱うものは聞いたことはありません。 ホラー系で『生き残れば冒険成功』というクトゥルフのTRPGではプレイヤーの能力値(?)として正気度を扱いますが、それは異形の存在の示唆や遭遇等の『非日常』経験によって狂っていく過程を表すものですので、作ろうとしている『日常』の行動での注意喚起的なレベルを表すものではありませんね。 とりあえず自分の為のものであれば、正気で無くなってそうな時の行動を5つ位あげてそれぞれの重みを1とし、合計で3以上だったら休息しましょうと表示・・・とかご自身の感覚でテキトウに決めうちで作って、後は使いながら重みを調整していくのが妥当かと思います。 『アンケートに答えて判断して結果を出す』というだけのアプリなら技術的に難しい所はまず無いでしょうから、アンケートデータの編集を簡単に出来るようにしておけば、後は実効性を良くするためにデータを弄り続けるのみです。
guest

回答3

0

簡単な問診票に答えて自分の正気度を測るプログラム

「各問いが最終的な結果にどれだけ影響を与えるのか? という重み」のようなものをどうやって定めるのかという話かと見えますが,
それはこのプログラムというのが,どれだけ まじめな(?) ものなのか次第かと思います.

仮に,用途上,何かしら一定の信頼性のようなものが求められる性質のものだということであれば,相応の根拠に基づくべき…という話になるのかもしれません.
統計的な裏付け等?(→そしたらプログラムは機械学習的なものになるのかな?)

そういう話ではない(ただのお遊びとか)ならば,まぁてきとーに主観で決めればよいのではないかと.
あるいは,たまに「10個中,7個に当てはまる人はどうの~」とかいうのを見かけたりしますが,そういうレベルの話で良ければ「全て1点」とかでも事足りるのかもしれませんし.

投稿2026/02/24 01:32

編集2026/02/24 01:43
fana

総合スコア12379

0

健康状態を管理したいというのであれば別にシステムである必要がないような気がしていて、用紙かExcelかに自分の状態を書き出して客観的に評価、重み付けしたり、パラメータを試行錯誤しながら改善していった方が目的に沿った運用が出来るのでは?

最初読んだ時には何らかのグループイベントか何かでゲームやアンケートの一部として組み込むことを考えての質問なのかなとも思いましたが...

投稿2026/02/23 23:00

u2025

総合スコア198

0

これはプログラミングというよりかはゲームバランスの話だと思います。
ここで質問してはいけない、という話ではないですが、ゲーム開発者だけが集まってるわけではなく、むしろそういう人は少数だということは分かったほうがいいです。
ゲーム開発においても、そういうのはエンジニアではなく、専門の部署やゲームプランナーなどの別の部署が担当していることすらあります。

私もそこまで詳しくない(TRPGはやったことすらない)ので、おそらくという話にはなりますが、
あなたが言っているような基準は特に考えられておらず、単に決め打ちしているだけのケースがほとんどだと思います。
例えば、某カードゲームでは、ライフ8000、ブルーア○ズの攻撃力が3000ですが、これをライフもモンスターも10倍、つまりライフ80000で、ブルーア○ズが30000でも全くゲームバランスは変わらないので、どちらでも問題ないはずです。
単に「漫画でブルーア○ズの攻撃力がたまたま3000だった」だけで、特にこれ以上の意味は無いでしょう。
オリジナルのゲームや別の数値だとしても、「このキャラクターのこの数値を100とする」としておいて、「このキャラクターはあのキャラクターの攻撃を3発ぐらい耐えてほしいからこの数値にする」ぐらいの認識だと思います。


と思ったけど、TRPGは「サイコロを振ってその数値分だけ~」とあるから、それで計算しやすいように数値設定はされてるかもしれません。
ただ、これも「ゲームバランス上、たまたまそうなった」だけで、リアル的な数値という意味は持っていないと思います。

投稿2026/02/22 08:47

編集2026/02/22 09:25
fiveHundred

総合スコア10537

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問