1
2

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-05-11

初めまして、音ゲーデベロッパーの腕毛の人と申します。
色々あって本日からC#の勉強を始めることになりました(講義の開催決定→2日後に実施という超スパン…)。

というのも、僕は前々からUnityでの音ゲー開発をしたい!と思っていたのですが、肝心のプログラミングの知識を持っていませんでした。
そこでDiscord内メンバーの音ゲー開発経験のある方とボイチャで相談したところ、勉強会の開催をすることになりその講師役を快く引き受けてくれました。
この講座は本日5月11日の昼11時から約一時間開催。1週間程度でC#の基本を学んでしまおうという内容になっています。

コロナのせいで仕事もないしなぁ…:thinking:

第一回テーマ:はじめの一歩

講師を務めてくれたのは小野塚企画さん@onozukaKikaku
クイズアプリ用に早押しボタンを作る等、面白い商品を作ったりもしてます。

  • 今回の目標
  • プログラムを書いて実行する
  • 型と変数と値を使ってみる
  • コンソールの表示方法を知る

この3つを達成できるよう教えて頂きました。

プログラミングを書いて実行する

PCはMac、コンソールツールにVisual Studioを使用(バージョン7.7.4 build1)し、まずはプロジェクトファイルを作成
スクリーンショット 2020-05-11 14.43.13.png
左のその他から.NETを選択、コンソールプロジェクトがC#になってる確認ヨシ!作成!
スクリーンショット 2020-05-11 14.50.55.png

ファイル名はMyFirstProjectにしました。英語表記じゃないと動かないようです。
スクリーンショット 2020-05-11 14.43.58.png
すると、こんな感じで初期画面が出現
スクリーンショット 2020-05-11 14.49.40.png

7行目の

    public static void Main(string[] args)

から下の

    {

このかっこの中身からプログラムが実行されます!
どの言語もだいたいMain〜以降で実行されるらしいです。

最初は何をやっていいのかわからないので、言われるがままに書いていきます。

        Console.WriteLine("Hello World!");

の下に

        Console.ReadKey();

を書いてください。
スクリーンショット 2020-05-11 15.23.45.png

書きました。

そして左上の再生ボタンを押して実行すると…
スクリーンショット 2020-05-11 15.26.06.png

プログラミングが実行できました。やったね!

Console.WriteLine("Hello World!"); → Hello World!を表示しますという命令

Console.ReadKey(); → 書いた瞬間に消えるのを防ぐ命令

です。割と重要…
あとHello World!以外の文章に変えたりもしました。

プログラムを書いて実行する 
目標達成です!

値を入れて表示する

ここからというものを使っていきます。

{の下、9行目に

     int score = 1000000;

11行目の""の中身を書き換えて

       Console.WriteLine("score: {0}", score);

これでスコアを表示してみましょう
スクリーンショット 2020-05-11 15.59.34.png
実行じゃああああ
スクリーンショット 2020-05-11 16.02.57.png
無事に表示されました!

青文字で表示されてるint整数型というものです。
, scoreが9行目のscoreと連動しています。
######(こっからスペース入れるとか半角とか細かく意識しだす)

intは整数のみを表示できる型です。続けて小数点を表示できる型を使ってみます。

10行目に

      double bpm = 333.33;

13行目に

      Console.WriteLine("BPM: {0:}", bpm);

を書いていきます。(検索候補とかすぐ出るので割と楽です)
スクリーンショット 2020-05-11 16.23.48.png
(元ネタわかるかな)
スクリーンショット 2020-05-11 16.31.38.png
はい、成功です
ここで入力したdouble小数型といいます。

ここまできたら曲名欲しいですよね?書いていきます。

11行目に

        string songName = "The Legend of MAX";

13行目に

        Console.WriteLine("songName: {0}", songName);

入力すんだよほら
スクリーンショット 2020-05-11 16.39.11.png

(ここで僕はConsole.WriteLine("songName: {0}", songName);を書き忘れて注意メッセージが出ました)
スクリーンショット 2020-05-11 16.40.05.png
(一回ミスったけど)表示されたのでヨシ!あと元ネタも判明したのでヨシ!
ここで入力したstring文字列型といいます。

型と変数と値を使ってみる
目標は達成しましたが何がなんやらなので次項、解説です。

色々な型と表示方法を知る

↑で習った型が基本の三型となります。これからもたくさん使ってくよ。

int(整数型)
double(小数型)
string(文字列型)
これらは青い文字で表示されています。

intやdoubleの後にスペースを挟んで書いたscoreやbpmのことを変数といいます。
そして=の後の数字や文字列がです。値はなんかオレンジっぽいような茶色っぽいような中途半端なやつです。

int score = 1000000;

型 変数=値

ということなんですね〜(セミコロンは行を終わらせる時に必須なんで忘れずに付けてね)

ここで講師からの大事なアドバイスなんですが
int aとか絶 対 に 書 か な い で く だ さ い
変数はただの文字なのでなんでもいいのですが
マジで人のこと考えてプログラミングしましょう。何の値を入れてるのかわかりにくくなるのに本職でさえこれやる人がいるらしいですよ?

ここで力尽きてきたので以下は早歩きで解説します(?)

・{0}{1}は文字列の順番です 値をいくつか表示したい時に使いますね
・プログラミングでは数字を0から数えます(0が一番目)
・小数点を隠したい時は{0:F0}と書きます
・スコアを指定した桁数で表示したい時は{0:D7}と書きます

以上のことを何やかんやしたプログラムがこれです

        int maxScore = 1000000;
        int score = 100;
        double bpm = 333.33;
        string songName = "The Legend of MAX";
        int highScore = 950000;

        Console.WriteLine("songName: {0}", songName);
        Console.WriteLine("score: {0:D7} / {1}", score, maxScore);
        Console.WriteLine("BPM: {0:F0}", bpm);
        Console.ReadKey();
    }
}

コンソールの表示方法を知る
これで今日やった内容は全てヨシ!

そして最後には次回への課題が出ました。それは…

課題:音ゲーのゲーム画面に必要な値を表現してみる。

今からやります

以上で第一回は終了です〜
プログラム知ってる人がたくさんいて初心者の僕には人権がなかった😦
次回は明日、5月12日昼11時
今回のアーカイブや講義の様子はDiscordで確認できますのでぜひお越しください〜
Discord:https://discord.gg/8arnHu6
Twitter:@stereonoah

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?