【C#.NET】Visual Studio 2022のインストール

# はじめに
Visual Studio 2022をインストールして簡単なじゃんけんゲームを作ってみました。
備忘とアウトプットのために記事を投稿します。

# 環境
- Windows 11
- Visual Studio 2022
- C# ( .NET 6.0 )

# Visual Studioとは
>統合開発環境 (IDE) は、ソフトウェア開発の多くの側面をサポートする機能を豊富に備えたプログラムです。 
>Visual Studio IDE は、コードの編集、デバッグ、ビルドを行ってから、アプリを発行するために使用できるクリエイティブなランチパッドです。 
>大部分の IDE が備える標準的なエディターおよびデバッガーに加えて、Visual Studio ではコンパイラ、コード補完ツール、
>グラフィック デザイナーなど、ソフトウェア開発プロセスを強化する多くの機能が用意されています。

引用元：[Visual Studio の概要](https://learn.microsoft.com/ja-jp/visualstudio/get-started/visual-studio-ide?view=vs-2022)

# Visual Studio 2022のインストール
1. [ダウンロードページ](https://visualstudio.microsoft.com/ja/downloads/#)よりVisual Studio 2022 コミュニティ(無料版)をダウンロード。
![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/0406bbb3-7334-4143-4739-fcc1783fb398.png)
2. ダウンロードしたインストーラ(VisualStudioSetup.exe)をダブルクリックで実行。
3. Microsoft のライセンス条項とプライバシーに関する声明の確認画面が表示されるので 「続行」 をクリックする。
4. ワークロードの選択画面画面が表示されるので「.NET デスクトップ開発」にチェックを入れ、インストールをクリック。

# 起動と新規プロジェクト作成
1. インストールが完了したらVisual Studio 2022を起動する。
※初回起動時にマイクロソフトアカウントでサインインが求められるのでアカウントがある場合はサインインする。
アカウントがない場合は後で行うをクリック。

2. 新しいプロジェクトの作成をクリック。
![図15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/71274388-03a8-b364-a06c-d5a205fa6a70.png)


3. テンプレート選択画面よりWindowsフォームアプリ(C#)を選択し次へをクリック。
![図3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/173f981d-82d7-6c2f-b348-419c862d97af.png)

4. プロジェクト名を入力し次へをクリック。
![図4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/1fef4ca6-0973-37f3-a9e7-8bf0282651c2.png)

5. 作成をクリック。
![図5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/1eefe598-0d52-b789-c9f5-e96c2f043920.png)

6. 作成されると以下の画面が表示される。
![図6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/e3391bae-1bad-eef1-3ab0-c0e4f48f3ca1.png)

# じゃんけんゲームを作ってみる

- 仕様
1. 自分の手は「ぐー」「ちょき」「ぱー」の3つのボタンで選択する。
2. 相手の手はランダムで選択される。
3. いずれかのボタンを押すと「自分の手」「相手の手」「対戦結果」がテキストボックスに表示される。

- ボタンの配置
1. ツールボックスをクリック→Buttonをクリック。
![図7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/3d29145b-1bd5-8987-235f-2c60f762821a.png)

2. フォーム上にドラッグ&ドロップで配置する。
![図8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/97689b9f-ea87-d061-f692-210e77ad6937.png)

3. ボタンを選択した状態でプロパティのTextを編集してボタンの名前を変更する。
![図9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/5d1aa14c-cfc8-03bd-a9d3-4aae383c0f6a.png)

4. 同様の操作でボタンを3つ配置する。
※プロパティのBackColorでボタンの色も変えられる。

- テキストボックスの配置
1. ツールボックスからTextBoxを選択しフォーム上にドラッグ&ドロップする。

2. 複数行の入力ができるようにTextBoxを選択した状態でプロパティのMultiLineをTrueに変更する。
![図10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/de5be6fe-dddf-e228-f9a9-33c80008262b.png)

3. TrueにするとTextBoxのサイズを縦にも広げられるようになる。
![図11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/a0aae2d2-dc22-eb35-4c9c-a3719eb8ffdd.png)

- ラベルの配置
1. ツールボックスからLabelを選択しフォーム上にドラッグ&ドロップする。
2. プロパティのTextを変更する。
※プロパティのBackColorでラベルの色も変えられる。

- ソースコードの実装と実行
1. フォーム上でボタンをダブルクリックするとソースコードが表示されるので実装する。
2. Ctrl+F5 キーを押すか画面上部の緑色の▷アイコン(デバックなしで開始)をクリックすると実行される

# ソースコード
```
namespace janken
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //ぐー
        private void button1_Click(object sender, EventArgs e)
        {
            Hantei(0);
        }

        //ちょき
        private void button2_Click(object sender, EventArgs e)
        {
            Hantei(1);
        }

        //ぱー
        private void button3_Click(object sender, EventArgs e)
        {
            Hantei(2);
        }

        private void Hantei(int Jibun)
        {
            //相手の出す手を自動決定
            Random rnd = new Random();
            int Aite = rnd.Next(3);

            //持ち手情報を表示
            string[] arrayHand = new string[3] { "ぐー", "ちょき", "ぱー" };
            string Result = "自分：" + arrayHand[Jibun] + "　VS　相手：" + arrayHand[Aite] + "\r\n";

            //勝敗判定
            if(Jibun == Aite)
            {
                Result += "あいこです。";
            }
            else if((Jibun == 0 & Aite == 2) | (Jibun == 1 & Aite == 0) | (Jibun == 2 & Aite == 1))
            {
                Result += "あなたの負けです・・・";
            }
            else if ((Jibun == 0 & Aite == 1) | (Jibun == 1 & Aite == 2) | (Jibun == 2 & Aite == 0))
            {
                Result += "あなたの勝ちです！！";
            }
            textBox1.Text = Result;
        }

    }
}
```

# 実行画面

![図12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/2949f4f0-9737-faf4-77b7-af4037e29e19.png)

![図13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/f12c1323-30fd-8717-d332-6d04fd967a8c.png)

![図14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957750/0e76ae0a-efc4-84a1-9983-32c12b532d31.png)

# おわりに
以上です。
最後までお読みいただき、ありがとうございました！

# 参考
* Visual Studio の概要
https://learn.microsoft.com/ja-jp/visualstudio/get-started/visual-studio-ide?view=vs-2022
* Visual Studio のインストール
https://learn.microsoft.com/ja-jp/visualstudio/install/install-visual-studio?view=vs-2022
* Visual Studio で C# を使用して Windows フォーム アプリを作成する
https://learn.microsoft.com/ja-jp/visualstudio/ide/create-csharp-winform-visual-studio?view=vs-2022
* 【初心者向け】Visual Studio 2022を無料インストールする手順
https://invisiblepotato.com/programming09/
* 【C#でゲーム作り】実践編(2)：じゃんけんゲーム作り
https://www.kyoukasho.net/entry/c-sharp-game-janken
* 第１回　はじめてのプログラム
https://www.umayadia.com/CSNyumon/BEGIN1.htm