8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

C#で湯婆婆を実装してみる

Last updated at Posted at 2020-11-08

はじめに

原作者様: Javaで湯婆婆を実装してみる - Qiita

拙作「Python 3で湯婆婆を実装してみる - Qiita」に続いて、調子に乗って2言語目でやってみました。暇人かよ。

コード

C#のコンソールアプリ (.NET Core 3.1) でお願いします。

Yubaba.cs
using System;

namespace Yubaba
{
    class Yubaba
    {
        static void Main(string[] args)
        {
            Console.WriteLine("契約書だよ。そこに名前を書きな。");
            var name = Console.ReadLine();
            Console.WriteLine($"フン。{name}というのかい。贅沢な名だねぇ。");

            var random = new Random();
            var newNameIndex = random.Next(name.Length);
            var newName = name[newNameIndex];
            Console.WriteLine($"今からお前の名前は{newName}だ。いいかい、{newName}だよ。分かったら返事をするんだ、{newName}!!");
        }
    }
}

ちなみに $"..." の書き方は↓これです。私もさっき知りました。
【C#】string.Format() をやめて $"{}"(文字列補間式)を使う - Qiita

実行例

契約書だよ。そこに名前を書きな。
田中二郎
フン。田中二郎というのかい。贅沢な名だねぇ。
今からお前の名前は田だ。いいかい、田だよ。分かったら返事をするんだ、田!!

クラッシュ湯婆婆

名前が空だと落ちてしまう湯婆婆。原作リスペクト。あえて直さない。

契約書だよ。そこに名前を書きな。

フン。というのかい。贅沢な名だねぇ。
Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.String.get_Chars(Int32 index)
   at Yubaba.Yubaba.Main(String[] args) in C:\...\Yubaba.cs:line 15

「𠮷」田さんが契約したら…

コマンドプロンプト(Visual Studioのデバッグコンソール)が「𠮷」田さんを受け付けてくれない。コピペで入力した時点で化けてる。𠮷田さんをまともな名前で働かせてあげてください。

契約書だよ。そこに名前を書きな。
��田
フン。??田というのかい。贅沢な名だねぇ。
今からお前の名前は?だ。いいかい、?だよ。分かったら返事をするんだ、?!!

関連: 吉田さんは通すけど𠮷田さんは通さないミドルウェア - Qiita

(2020/11/09) 𠮷田さんが働けるようになったようです。
C# で湯婆婆を実装してみる(𠮷田さんにも対応) - Qiita

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?