課題2 課題1のアレンジ(泣き言追加) ( No.12 )
日時: 2021/01/07 10:06
名前: REDCHEEKS

次の課題(課題2)として、課題1で作ったプログラムをアレンジしします。

泣き言機能を追加し、さらにそれに対するお叱りのバリエーションを持たせる。

まず前準備として、以下の機能の関数をライブラリに追加します。 >>13 をライブラリに追加コピペしてください。

関数名:SayNakigoto()
機 能:ランダムに泣き言メッセージを表示する(表示されないことも含めてランダムに)と同時に泣き言コード番号を _nakigotoCode に設定する。
引 数:なし
戻り値:なし


実装箇所1
「尻を引っ込める」ボタンをクリックしたときに SayNakigoto() を呼び出すようにする。

実装箇所2
お仕置き処理の中で、泣き言コード番号に応じて、お叱りメッセージを変えるように、下記追加仕様に従いプログラムを追加する。

追加仕様

泣き言コード番号:内容
0 : 泣き言なし(黙って尻を引っ込めた場合)
1 : 「いたいよ〜」と言って尻を引っ込めた場合

お叱りメッセージのアレンジ

泣き言コード = 0 の場合
従来通り

泣き言コード = 1 の場合
従来のメッセージの前に
「痛いの当たり前! 痛くしないとお仕置きにならないでしょ!」
を入れる。

※ お叱りメッセージは、switch case 文を使って切り替えると良いでしょう。
switch(_nakigotoCode) { case 1: 〜 break; }

p.s. コンピュータがいろんな言葉で人間を叱りつけ尻を叩くという主従逆転発想は良いですね。
18世紀の鞭打ち機械とはまた違った趣があります。

課題2 コピペ用(追加ライブラリ) ( No.13 )
日時: 2021/01/10 01:22
名前: REDCHEEKS

private Random _saikoro = new Random();
private int _nakigotoCode = 0;
private string[] _nakigotoMessages = new string[] { null, "いたいよ〜" };
private void SayNakigoto()
{
_nakigotoCode = _saikoro.Next(_nakigotoMessages.Length);
var msg = _nakigotoMessages[_nakigotoCode];
if (!string.IsNullOrEmpty(msg))
{
Say(msg);
}
}

課題2 その他追記 ( No.14 )
日時: 2021/01/06 13:59
名前: REDCHEEKS

"いたいよ〜" 以外にも、いろんな泣き言を _nakigotoMessages に追加して遊んで下さい("ごめんなさ〜い"、"もうしません" 等)。

最近は、AIが小説を書く時代ですから、出来映え次第では、プログラムの出力を、メディアスパの投稿作品に投稿してもわからないかもです(笑)

あと、小説やバーチャルの世界だけでなく、CanSpank() をセンサーに、Spank() をスパンキングロボットに、Say() を音声合成に、SayNakigoto()を音声認識につなげば、現実にそのような "お尻叩き装置" が出現することになります(笑)

いちど自分の尻で試してみたいですね
http://spankingart.org/wiki/File:Dc27.jpg