2019.08.20
BLOG
ちょっと複雑なif文/条件式を使ったくじ引きアプリを作る
2021-08-25
このブログはロックシステムのYoutubeチャンネル「ロックシステムアカデミーCH」の文字起こしや使用したコードの解説等をしています。
是非動画本編もご覧ください!
よろしければチャンネル登録も宜しくお願い致します!
今回はif文でよく使われる条件式の書き方やもっと便利にif文を書く方法をくじ引きアプリを作りながら紹介していくぜ!
おー!ついにそれっぽい物を作るんだね。基礎構文ばっかりでめんどくさいなあって思ってたんだよ
動画を見ながら進めていくと、くじ引きアプリが実際に出来るからみんなもぜひやってみてね!じゃあ、まずはコメントとくじ引き変数を書いていこうか。
static void Main(string[] args)
{
//くじびきアプリを作る
//1等 ハワイ旅行
//2等 お食事券
//3等 図書カード
//4等 食器セット
//5等 ポケットティッシュ
//6等 はずれ
int kuzibiki = 1;
Console.WriteLine(kuzibiki);
}
これを出力すると1と表示されたね。数字を代入するからintを先頭に付けるんだよね。
そうそう!ばっちりだね!じゃあ、つぎにif文を使って1~6等までのくじに関するプログラミングコードを書いていくよ。1~6等までだから6つのコードが必要になるね。まずは1等のハワイ旅行から処理していくよ。条件式はくじ引き変数が数字の1のときにして{}の中にハワイ旅行が表示されるようにコードを書いていこう。
static void Main(string[] args)
{
//くじびきアプリを作る
//1等 ハワイ旅行
//2等 お食事券
//3等 図書カード
//4等 食器セット
//5等 ポケットティッシュ
//6等 はずれ
int kuzibiki = 1;
if (kuzibiki == 1)
{
Console.WriteLine("1等 ハワイ旅行");
}
}
条件式って、前回みたいに文字じやなくてもいいんだね!
もちろん。条件式に数字はよく使われるよ。これを実行すると・・・
くじ引き変数が1なので、1等 ハワイ旅行が表示されたね。じゃあ2~6等までの他の商品も表示されるように今と同じ感じでコードを書いていくぜ!
ん?待って!前回はifかelseに分けて二つのパターンで分けることが出来たけど、今回は1~6等まであるからifとelseに分けるのは難しそうだよ
ナイスな疑問だね!今回のようにif文がたくさん必要な時は、こんな書き方をしよう!
static void Main(string[] args)
{
//くじびきアプリを作る
//1等 ハワイ旅行
//2等 お食事券
//3等 図書カード
//4等 食器セット
//5等 ポケットティッシュ
//6等 はずれ
int kuzibiki = 1;
if (kuzibiki == 1)
{
Console.WriteLine("1等 ハワイ旅行");
}
else if (kuzibiki == 2)
{
Console.WriteLine("2等 お食事券");
}
else if (kuzibiki == 3)
{
Console.WriteLine("3等 図書カード");
}
else if (kuzibiki == 4)
{
Console.WriteLine("4等 食器セット");
}
else if (kuzibiki == 5)
{
Console.WriteLine("5等 ポケットティッシュ");
}
else
{
Console.WriteLine("6等 はずれ");
}
}
このelse ifっていうのは今回のように条件が3つ以上に分岐した時によく使用されるぜ!これで、条件式が増えてもプログラミングコードを書くことが出来るね。
これでくじ引き変数が2の時は"2等 食事券"が表示されるし、くじ引き変数が4の時は"4等 食器セット"が表示されるようになったね!
実際にやってみるね!int kuzibiki = 1;をint kuzibiki = 4;に変更してデバックなしで開始っと・・4等 食器セットがしっかり表示されたね
じゃあ、int kuzibiki = 10;に変更してみよう。int kuzibiki = 4;をint kuzibiki = 10;に変更。デバックなしで開始・・っと
そうだね!6等をよく見るとelse ifではなくelseになってるね。なのでどんな大きな数字を代入しても6等 ハズレが表示されるのが分かるかな?
全ての条件式に当てはまらない数の場合、elseの処理が行われるんだね。
正解!じゃあ、今のままでは、自分で数字を選べてしまうので面白くないよね。くじ引きらしくするためにランダム変数を使おう!真似して書いてみてね!くじ引き変数に、ランダムクラスのネクストメソッドを代入して・・
static void Main(string[] args)
{
//くじびきアプリを作る
//1等 ハワイ旅行
//2等 お食事券
//3等 図書カード
//4等 食器セット
//5等 ポケットティッシュ
//6等 はずれ
var random = new Random();
int kuzibiki = random.Next(1,10);
if (kuzibiki == 1)
{
Console.WriteLine("1等 ハワイ旅行");
}
else if (kuzibiki == 2)
{
Console.WriteLine("2等 お食事券");
}
else if (kuzibiki == 3)
{
Console.WriteLine("3等 図書カード");
}
else if (kuzibiki == 4)
{
Console.WriteLine("4等 食器セット");
}
else if (kuzibiki == 5)
{
Console.WriteLine("5等 ポケットティッシュ");
}
else
{
Console.WriteLine("6等 はずれ");
}
}
これで、1~9までの数字がランダムに決まるようになったぜ。最後にくじ引きアプリが完成しているかを確認するよ!
おー!くじ引きになってる!数字がランダムになると、出力するの楽しくなるよ。
ちゃんと完成して良かったね!景品の名前や数を変えたり、1等の確立を下げたりも出来るから試してみてね!
チャンネル登録よろしくお願いします!
プログラミング作って実践!ロックシステムアカデミー
大阪福島にあるプログラミングスクール「ロックシステムアカデミー」です!「プログラミング作って実践」をテーマに楽しく分かりやすいアプリ開発のレクチャー動画をアップしていきます!
チャンネル登録よろしくお願いします!
プログラミングスクール
▼「ロックシステムアカデミー」WEBサイト
https://rocksystem.co.jp/academy/
https://www.youtube.com/channel/UC6JxNQ2QTX8Dl96V2MMNP8A
株式会社ロックシステム
「ブラック企業をやっつけろ!!」を企業理念にエンジニアが働きやすい環境をつきつめる大阪のシステム開発会社。2014年会社設立以来、残業時間ほぼゼロを達成し、高い従業員還元率でエンジニアファーストな会社としてIT業界に蔓延るブラックなイメージをホワイトに変えられる起爆剤となるべく日々活動中!絶賛エンジニア募集中。