ユーザの性別を覚えさせよう。




性別を選んでもらう

*性別覚えて
:ところであなたの性別を教えてくれるかな
:見た目通りとは限らんからな。昨今は特に

_男性【タブ】性別男性
_女性【タブ】性別女性
_秘密【タブ】性別秘密

*性別男性
$ユーザ性別=男
:男の人だね

*性別女性
$ユーザ性別=女
:女の人だね

*性別秘密
$ユーザ性別=謎
:……そっか。深くは聞かないよ。
:セクハラされた時リアクションに困るな

上記は各性別を選択肢で選んでもらっていますが、関数を使って、単一の選択肢を押すたびに性別が「スイッチ」するようにすると、表示上も辞書も簡潔になるかもしれません。
以下はssu.dllの関数iflistを用いています。

*性別選んで
:性転換……?
:ただの書き間違いじゃないの
>現在の性別

*現在の性別
:
【現在の性別】「(ユーザ性別)」
_性別変更

*性別変更
$ユーザ性別=(iflist,(ユーザ性別)==,不明,男,男,女,女,不明)
:「(ユーザ性別)」になったユーザ。
:変な意味に聞こえるな……
>現在の性別

SSPに入力された性別を取得する

SSPのユーザ設定を利用することもできます。
下記のページを参照してください。
SSPに入力されたユーザ情報を使う

性別の活用例

*
:ユーザもやっぱり妹萌えだったりするの?
:ちょっと(if,(ユーザ性別)==男,お兄ちゃん,お姉ちゃん)って言ってみ
:えー、ユーザは(if,(ユーザ性別)==男,兄者,姉者)って感じだよ
*0bustなでられ【タブ】(ユーザ性別)!=男
:わっ、何ー? くすぐったいよー。
:……。
*0bustなでられ【タブ】(ユーザ性別)==男
:臭い飯が食べたいの?
:……。

性別を数字であらわしてみる

上例で「男」とか「女」といっていたものを、0や1といった数字で表して変数に保存してみるのも一つの手です。
そんな事をするメリットはといえば、関数や演算などの仕組みで扱いやすくなる場合があることでしょうか。

#0が男、1が女を表す場合
*現在の性別
【現在の性別】「(if,(ユーザ性別),女,男)」
_性別変更

#!演算で0の時1、1の時0になるので男女性が簡単に切り替えられる
*性別変更
$ユーザ性別=!(ユーザ性別)
>現在の性別

※ちなみに、世の中にはなんでも規格があるもので、ISO5218なんてものがあります。
これに従うと今回の例は使えなくなりますが……。
wikipediaの記事⇒ISO 5218


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-11 (土) 07:22:26