SlideShare uma empresa Scribd logo
1 de 30
Unity(C#)講座2
Version1.0 (2019.06.17)
自己紹介
名前: Boltz
所属: 長崎経済大学3年
好きな性: 多態性(Polymorphism)
UnityC#講座のスライドを
クラウドとブロックチェーンとIoTで
インタラクティブに生成する超高性能AI
たまにスライド生成に失敗する, 助けてくれ!!!
目次
•C#でじゃんけん(課題の補足)
•C#でEじゃんけん
•Unity玉転がし
到達地点と概要
前提条件
•環境: Unity 2018.4.0.f1
• Unityはバージョンで挙動がかなり異なることも
• 間違えずにダウンロードしてください
• また、必須ではないがUnityHub経由の利用が便利
•エディタ: VisualStudio2017
• VimでC#を書いている人は我慢してくれ
• 2019とかでも大して動作は変わらない(はず)
前提条件
•C言語について理解がある
• 構造化プログラミングの説明は速を上げます
• C言語との差分を埋める説明の仕方をします
•基本的な情報科学の知識がある
• 基本情報技術者が体系的に学べていい感じ
• ネットワーク, データベース(SQL), アルゴリズム,
データ構造, ハードウェアの分野(大雑把)
到達地点
•自分の思い描くゲームを作れるように
なる
• そのために、必要な処理を他から持ってくることが
できる or 自分で実装できるようになる)
• たとえ他から持ってきた処理でも、ある程度までは
中身が解読できる
到達地点
•Unityチュートリアルをやっていく
• ただしコードの写経はしないように
• Unityの操作方法を学ぶためだけの教材ではない
ので!!!
•その前にC#のコードの意味を学習す
る
C#でじゃんけん
課題で詰まっていた点
• 予期しない値の入力
• アルゴリズムの構築
予期しない値の入力
• 対処の方法を2種類くらい紹介
• 例外のthrow, try-catch-finally
• TryParse関数(おすすめ)
try-catch-finally
• int.Parseにtryしてみる
• だめならFormatExceptionや
OverflowExceptionがthrow
• それらのExceptionをcatchして、処理を継
続させないようにフラグを落とす
• myHandが-1かで判定もあり
• 今回の場合面倒なのでおすすめしない!
try-catch-finally
• 実装例(オーバーフローとフォーマット2つ対応)
throw;
int.TryParse関数
• int.TryParse(変換対象, out 出力変数);
• 戻り値がbool型関数
• 変換できたらtrue
• 変換できなかったらfalse
• これをif文に組み込んだらよさそう
• さらにintの範囲検査も行う
予期しない値の入力
• 紹介した2つ以外にも方法はある
• 業務用システムなどではtry-catch-finallyの
方が適することも...
• 完全にスタンドアロンで、予想しない入力
が起こりえない場合は、例外はあまり考え
ないでいい気がする(ものにもよる)
アルゴリズムの構築
• 可読性が高いもの
• 行数が短縮できるもの
可読性が高いもの
• 手1つ1つに対して判定を書いている
• 判定メッセージを出す用に関数を組むとか
やりようはある
行数が短縮できるもの
• 剰余を使って加工する
• 勝ちパターン、負けパターン、
あいこパターンが同じ数に!
• 不思議ですね!!!
https://qiita.com/mpyw/items/3ffaac0f1b4a7713c869
行数が短縮できるもの
• C#で実装してみた
C#でEじゃんけん
経緯
• なんかすごいプログラムを作ってきた人が
いた
• なので追加課題を出した
追加課題: Eじゃんけん
•グー・チョキ・パー・皇帝・奴隷の5
種類で判定してみよう
•皇帝 基本勝つ 但し 奴隷 だけには負け
る
•奴隷 基本負ける 但し 皇帝 だけには勝
てる
追加課題: Eじゃんけん
•奴隷は3, 皇帝は4にでもしておこう
• 最初に5者の関係を確認してみる
Eじゃんけん(特殊カードなし)
グー
チョキパー
Eじゃんけん(特殊カードあり)
平民
(グチパ)
奴隷皇帝
追加課題: Eじゃんけん
• もし場に出た手がグチパ(平民)のみ
• そのまま今までの判定をすればいい
• もし場に出た手に奴隷や皇帝があった場合
• Eじゃんけんスライドの通りに判定を行う
• 結局じゃんけんとあまり力関係は変わってない
追加課題: Eじゃんけん
•実装(Replaceはローカル関数で定義)
今回の課題
• プログラムを毎日書こう!
• どんどんググろう
• 書けば書くほど・ググればググるほどスキ
ルが高まる(例外処理しかり)
• ググるためのキーワードを取り入れる言語
学習・読書・講座だと思ってください
それではUnityをやる
•https://unity3d.com/jp/learn/tutorials/proj
ects/hajiuni-jp
参考文献
じゃんけんアルゴリズムをちょっと応用
( https://qiita.com/mpyw/items/3ffaac0f1b4a7713c869 ) ,
2019.06.17閲覧

Mais conteúdo relacionado

Mais procurados

Nespのコード生成
Nespのコード生成Nespのコード生成
Nespのコード生成Kouji Matsui
 
こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座Unity Technologies Japan K.K.
 
若手がコミュニティを盛り上げよう!
 若手がコミュニティを盛り上げよう!  若手がコミュニティを盛り上げよう!
若手がコミュニティを盛り上げよう! Yuta Matsumura
 
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...Yusuke Furuta
 
.NET Standard で SQLServer と接続してみた
.NET Standard で SQLServer と接続してみた.NET Standard で SQLServer と接続してみた
.NET Standard で SQLServer と接続してみたm ishizaki
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏Yuta Matsumura
 
Let’s play windows 10 io t on raspberry pi !
Let’s play windows 10 io t on raspberry pi !Let’s play windows 10 io t on raspberry pi !
Let’s play windows 10 io t on raspberry pi !Masuda Tomoaki
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:codeKouji Matsui
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~decode2016
 
FutureKreateロボットシミュレータ
FutureKreateロボットシミュレータFutureKreateロボットシミュレータ
FutureKreateロボットシミュレータKensei Demura
 
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発m ishizaki
 
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介Yuta Matsumura
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能についてUnityTechnologiesJapan002
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理Kouji Matsui
 
C# runs anywhere, make anything
C# runs anywhere, make anythingC# runs anywhere, make anything
C# runs anywhere, make anythingYuta Matsumura
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!Yu Tanaka
 
ARLT_04_C#の勉強ってしてる?
ARLT_04_C#の勉強ってしてる?ARLT_04_C#の勉強ってしてる?
ARLT_04_C#の勉強ってしてる?arcircle tmu
 
Visual Studio Code でプログラムをデバッグしよう!
Visual Studio Code でプログラムをデバッグしよう!Visual Studio Code でプログラムをデバッグしよう!
Visual Studio Code でプログラムをデバッグしよう!m ishizaki
 
Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021Ryo Kabutan
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Narami Kiyokura
 

Mais procurados (20)

Nespのコード生成
Nespのコード生成Nespのコード生成
Nespのコード生成
 
こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座
 
若手がコミュニティを盛り上げよう!
 若手がコミュニティを盛り上げよう!  若手がコミュニティを盛り上げよう!
若手がコミュニティを盛り上げよう!
 
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
 
.NET Standard で SQLServer と接続してみた
.NET Standard で SQLServer と接続してみた.NET Standard で SQLServer と接続してみた
.NET Standard で SQLServer と接続してみた
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
 
Let’s play windows 10 io t on raspberry pi !
Let’s play windows 10 io t on raspberry pi !Let’s play windows 10 io t on raspberry pi !
Let’s play windows 10 io t on raspberry pi !
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:code
 
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
DEV-022_これから始める Xamarin ~環境構築から iOS/Android/UWP アプリのビルドまで~
 
FutureKreateロボットシミュレータ
FutureKreateロボットシミュレータFutureKreateロボットシミュレータ
FutureKreateロボットシミュレータ
 
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発
 
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
オンライン中心だから地方のコミュニティも見てみませんか? - Fukuoka.NETの紹介
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
 
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
 
C# runs anywhere, make anything
C# runs anywhere, make anythingC# runs anywhere, make anything
C# runs anywhere, make anything
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
ARLT_04_C#の勉強ってしてる?
ARLT_04_C#の勉強ってしてる?ARLT_04_C#の勉強ってしてる?
ARLT_04_C#の勉強ってしてる?
 
Visual Studio Code でプログラムをデバッグしよう!
Visual Studio Code でプログラムをデバッグしよう!Visual Studio Code でプログラムをデバッグしよう!
Visual Studio Code でプログラムをデバッグしよう!
 
Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
 

Semelhante a Unity/CSharp 2

C# で i phone ゲーム開発
C# で i phone ゲーム開発C# で i phone ゲーム開発
C# で i phone ゲーム開発Katsutoshi Makino
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021Atsushi Nakamura
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6信之 岩永
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -Kishi Shundo
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchShin Ise
 
.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在TomomitsuKusaba
 
unity build on github actions
unity build on github actionsunity build on github actions
unity build on github actionsDaiki Mogmet Ito
 
UnityとC#で覗くVRの世界~はたらく.Net~
UnityとC#で覗くVRの世界~はたらく.Net~UnityとC#で覗くVRの世界~はたらく.Net~
UnityとC#で覗くVRの世界~はたらく.Net~Mio Ku-tani
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Atsushi Nakamura
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべKaoru NAKAMURA
 
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニーUnity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニーYoshifumi Kawai
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介Mori Shingo
 
Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話You&I
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングRyohei Kamiya
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよYohei Oda
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in FukuokaShinobu Izumi
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBMToshiki Tsuboi
 

Semelhante a Unity/CSharp 2 (20)

Unity ゲーム開発
Unity ゲーム開発Unity ゲーム開発
Unity ゲーム開発
 
C# で i phone ゲーム開発
C# で i phone ゲーム開発C# で i phone ゲーム開発
C# で i phone ゲーム開発
 
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
 
C#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouchC#でiPhoneアプリ開発 with MonoTouch
C#でiPhoneアプリ開発 with MonoTouch
 
C#への招待
C#への招待C#への招待
C#への招待
 
.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在
 
unity build on github actions
unity build on github actionsunity build on github actions
unity build on github actions
 
UnityとC#で覗くVRの世界~はたらく.Net~
UnityとC#で覗くVRの世界~はたらく.Net~UnityとC#で覗くVRの世界~はたらく.Net~
UnityとC#で覗くVRの世界~はたらく.Net~
 
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
 
ALMツールたべくらべ
ALMツールたべくらべALMツールたべくらべ
ALMツールたべくらべ
 
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニーUnity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 

Mais de tagawakiyoshi

長崎大学グラフィックデザインセミナー: グラフィックデザインについて
長崎大学グラフィックデザインセミナー: グラフィックデザインについて長崎大学グラフィックデザインセミナー: グラフィックデザインについて
長崎大学グラフィックデザインセミナー: グラフィックデザインについてtagawakiyoshi
 
C-Lang-Class1-SlideShare
C-Lang-Class1-SlideShareC-Lang-Class1-SlideShare
C-Lang-Class1-SlideSharetagawakiyoshi
 

Mais de tagawakiyoshi (7)

長崎大学グラフィックデザインセミナー: グラフィックデザインについて
長崎大学グラフィックデザインセミナー: グラフィックデザインについて長崎大学グラフィックデザインセミナー: グラフィックデザインについて
長崎大学グラフィックデザインセミナー: グラフィックデザインについて
 
Clang2018 class5
Clang2018 class5Clang2018 class5
Clang2018 class5
 
Clang2018 class4
Clang2018 class4Clang2018 class4
Clang2018 class4
 
Clang2018 class3
Clang2018 class3Clang2018 class3
Clang2018 class3
 
Clang2018 class2
Clang2018 class2Clang2018 class2
Clang2018 class2
 
ecml-2019-slide
ecml-2019-slideecml-2019-slide
ecml-2019-slide
 
C-Lang-Class1-SlideShare
C-Lang-Class1-SlideShareC-Lang-Class1-SlideShare
C-Lang-Class1-SlideShare
 

Unity/CSharp 2