Month: April 2025

前回のコメント

・今回学んだコマンドなどはunityでも使えますか?  UnityではConsole系出力メソッド(Write/WriteLine)は実行しても無視されます。  なお、書式指定は文字列編集で使えますので、編集後の文字列をUnityUIに与えたり、Debug.Logで出力できます。  例:    void Start(){         String s = String.Format("{0}は{1}倍早い", "シャア", 3);         Debug.Log(s);     } ・海外ゲーム業界における性別問題やガチャ問題の話を聞いて、ゲームが単に楽しく遊ぶものではなくなっているように思えました。  「ゲームは楽しく遊ぶもの」であって欲しいのですが、  作る側に立つと、それだけでは済まないことが多いのも事実です。  また、ゲームに限らず、どんな「作品」でも国や宗教などの違いの影響は避けられません。  考えに考えて、楽しいゲームを多くの方に届けたいですね。 ・フォーマット指定子や標準書式指定文字を使いこなすようになるまで時間がかかりそうです。  ぜひ、いろいろと試してみてください。

講義メモ 後半

p.27 WriteLineメソッドとWriteメソッド ・Console.WriteLineメソッドはカッコないの値または式の評価値をコンソールに出力し、末尾に改行コードを付加する ・よって「表示して改行」することになる ・表示のみで改行せず、次の表示を続きにしたければ、WriteLineの代わりにWriteメソッドを用いると良い ・なお「Console.WriteLine()」とすると、改行のみを行うことができる p.27 text03.cs //p.27 text03.cs using System; class Text03 { public static void Main() { Console.Write(“あ”); //文字列を表示(改行しない) Console.Write(“い”); //文字列を表示(改行しない) Console.Write(“う”); //文字列を表示(改行しない) Console.Write(“え”); //文字列を表示(改行しない) Console.Write(“お”); //文字列を表示(改行しない) Console.WriteLine(); //改行のみを行う } } p.28 フォーマット指定子を使った変数の表示 ・文字列と変数の連結による表示には、以下の欠点がある  ・出来上がりのイメージがつかみづらい  ・同じ変数を複数回連結すると読みづらくなる ・そこで、変数値を当てはめるフォーマット指定子{0}{1}{2}…を文字列に埋め込んでConsole.WriteLine/Writeに変数と共に渡すことが  できる 例: int a = 10; Console.WriteLine(“aは{0}”, a); ⇒ 「aは10」と表示 ・なお、変数値ではなくリテラルや式でもOK 例: Console.WriteLine(“{0}は3倍速い”, “シャア”); ⇒ 「シャアは3倍速い」と表示 例: Console.WriteLine(“1 + 2 = {0}”, 1 + 2); ⇒ 「1 + 2 = 3」と表示 ・{1}{2}…を用いることで、複数の変数値やリテラルや式を指定できる 例: Console.WriteLine(“{0}は{1}倍速い”, “シャア”, 3); ⇒ 「シャアは3倍速い」と表示 例: Console.WriteLine(“{0} + {1} = {2}”, 1, 2, 1 + 2); ⇒ 「1 + 2 = 3」と表示 例: Console.WriteLine(“HISCORE : {0}”, hiscore); ⇒ hiscoreの値が12345なら「HISCORE : 12345」と表示 ・同じフォーマット指定子を複数回利用できる 例: Console.WriteLine(“{0}は3倍速いので{0}は脅威”, “シャア”); ⇒ 「シャアは3倍速いのでシャアは脅威」と表示…

Read the full article

講義メモ

・p.25「変数のデータを表示する」から アレンジ演習フォロー: 「p.25 変数のデータを表示する」の3~4行目 ① 新たに「a25.cs」を作って「sample.cs」の内容をコピーする ② Console.WriteLine(…)の1行を、「p.25 変数のデータを表示する」の3~4行目で置き換える ③ 実行結果を確認 作成例 //a25.cs アレンジ演習 「p.25 変数のデータを表示する」の3~4行目 using System; class a25 {     public static void Main()     {         int age = 20; //32ビット整数型変数ageを20で初期化(宣言と同時に初期値を代入)         Console.WriteLine("私の年齢は" + age + "歳です"); //文字列と変数の整数値と文字列を連結して表示     } } p.25 変数のデータを表示する(つづき) ・宣言済の変数は代入の左辺(代入先)に用いるのであれば、初期化は不要(代入によって初期値が決まる) ・初期化や代入がされていない(値が格納されていない)変数は代入の右辺などには使えない(文法エラーになる) p.25 text01.cs //p.25 text01.cs using System; class Text01 { public static void Main() { int a = 10, b = 20, total; //32ビット整数型変数a、bを初期化、totalを宣言 total = a + b; //aに格納されている値とbに格納されている値の和を得てtotalに代入 Console.WriteLine(a + ” + ” + b + ” = ” + total); //変数の整数値と文字列を順に連結して表示 } } アレンジ演習:p.25 text01.cs(書換) ・32ビット整数型変数cを追加し、30で初期化しよう ・これも含めて合計値を計算し「10 + 20 + 30 = 60」と表示されるようにしよう 作成例 //アレンジ演習:p.25 text01.cs using System; class Text01 {     public static void Main()…

Read the full article

今週の話題

ゲームソフト販売本数ランキング:今週1位は「『OVER REQUIEMZ』(オーバーレクイエムズ:Switch)」GO! 任天堂、スイッチ2需要に追いつかず「深くお詫び」 抽選販売に220万人応募、落選者は二次抽選に自動応募 GO! 【Switch2】セブンネットショッピングで予約抽選が開始。応募条件はいまから1000円以上買う&メルマガ登録 GO! スイッチ2はPS4/XB1と比べメモリやパフォーマンス良好で助かった―『サイバーパンク2077』移植についてCDPRコメント GO! スイッチ2抽選結果のメールは“URLが記載されていない”ことに注意!結果報告がSNS上にてトレンドをにぎわすなかサポートより注意喚起 GO! 海外大手Modサイト、『オブリビオン』リマスターのキャラクタ性別選択肢復活Modを削除、アカウント停止措置まで。「タイプ1・2」を「男性・女性」に戻す投稿の「意図」問題視 GO!

前回のコメント

・講義がわかりやすく、大学の時に学んだ記憶が少し蘇りました。  何よりです。 ・C言語、C#、C++は同じ系統の言語同士でしょうか。  はい、同系統です。  C#、C++、JavaなどはC言語を基にして開発されたプログラミング言語です。  どれも「{}」によるブロック化を行うのが特徴です。  なお、系統が異なるプログラミング言語としては、Python、PHP、COBOL、SQLなどがあります。

講義メモ 後半

p.22 変数を使ってみる(変数の宣言) ・変数は英語のvariableの和訳で「変わった数」という意味ではなく「変わりえるもの」 ・実際はメモリ(記憶領域)の上に領域を確保して名前(変数名)をつけたものが変数 ・よって、変数にはデータ(値)を格納して利用できる ・この領域の大きさや用途(性質)を指定する情報をデータ型という ・最も一般的に使われるデータ型が「int(Integerの略)」で、32ビットの大きさで整数を格納できる  ※32ビットとは2進数32桁で、10進数にすると約-21億から約21億までの値になる。 ・C#では変数の利用前に宣言が必要で、宣言によって変数が確保される ・宣言書式: データ型 変数名;  例: int hp; //HP用のint型変数の宣言 ・複数の同じデータ型の変数を同時に宣言できる。この場合、変数名の間にカンマを入れる  例: int hp, mp; //HP用とMP用のint型変数の宣言 p.22 変数を使ってみる(変数への代入) ・変数にデータ(値)を格納することを代入という ・代入により、すでにある値があっても上書きされる ・代入には「=」記号を用いる(※「=」には「等しい」という意味はないので注意) ・代入の書式例: 変数名 = 値;  例:int hp; hp = 100; //HP用のint型変数を宣言し、100を代入  例:int hp; hp = 100; hp = 200; //HP用のint型変数を宣言し、100を代入、200を代入(上書きされる) ・変数に代入する値はデータ型が一致する必要があるので、int型の変数にはその範囲の整数のみ代入可能  例:int hp; hp = 3.14; //エラーになる  例:int mp; mp = 2200000000; //エラーになる p.23 変数を使ってみる(変数の初期化) ・宣言しても代入していない変数の値を間違って利用するとエラーになる(不定なので) ・そこで、通常、変数の宣言において最初の値を代入しておくと良い。これを初期化という ・初期化の書式例: データ型 変数名 = 値;  例:int hp = 100; //HP用のint型変数の宣言し100で初期化 ・複数の変数の同時初期化も可能  例:int hp = 100, mp = 200; //HP、MP用のint型変数を宣言しHPは100、MPは200で初期化 ・複数の変数の宣言と初期化も可能  例:int hp = 100, mp; //HP、MP用のint型変数を宣言しHPは100で初期化 p.23 変数を使ってみる(変数名のルール) ・変数名には大文字、小文字、数字、「_」、2バイト文字(漢字やひらがな等)が利用できる ・ただし、先頭には数字は使えない ・なお、エラーにはならないが、「_」、2バイト文字は推奨されないことが多い。 ・また、チームルールによっては、大文字1文字の変数名も推奨されないことが多い。 p.24 C#のキーワード ・文法上、特別な意味をもつ単語(例:class、public、static、void、using等)をキーワードまたは予約語という ・変数名などのプログラマが命名する名前(識別子ともいう)はキーワードと一致するとエラーになる ・ただし、キーワードは全て小文字なので、その一部または全部を大文字にしたものはキーワードではない  ※ チームルールによっては、キーワードの一部または全部を大文字にしたものは推奨されないことが多い ・先頭に「@」をつけるとキーワードの制限を解除できるが、通常、推奨されない p.25 変数を使ってみる(変数の値の加算) ・「+」記号の両側に加算可能な値や、加算可能なデータ型の変数を記述すると、加算結果が得られる ・この「+」記号を含む記述を加算式といい、加算結果を変数に代入できる ・書式例: 変数名 =…

Read the full article

講義メモ

・オリエンテーション ・テキスト1,2章 p.2 C#でなにができるのか(補足) ・C#は複数の開発形態を提供している ①コンソールアプリケーション:コマンドインターフェースを用いる基本的形態(この講座で利用) ②フォームアプリケーション:グラフィックやマウスなどのポインティングディバイスを利用できる形態(応用コースで利用) ③サーバアプリケーション:Webサーバ上で動作するネットワークプログラム用 ④他システム連携:Unityなどと連携して動作する ・Windowsでは.NETフレームワークという開発環境の一部であり、Visual Studioと共に無償提供されている。 ・他のOS用のC#もある p.3 オブジェクト指向のメリット(補足) ・要点をまとめると3つのテーマ「グループ開発」「再利用」「部品化」を容易にする仕掛け。 ・なお、カプセル化はp.166で、継承はp.223で、多態性はp.232で後述するので、流し読みでOK p.6 プログラムができるまで(補足) ・C#の開発環境Visual Studioでは「ソースファイルのコンパイル」と「リンク」を合わせて「ビルド」という ・「ビルド」は任意に実行できるが、自動的にも行われるので、ソースファイルを書いたら「実行」でOK p.8 .NET Framework(補足) ・開発と実行を効率化する仕組みで安全性にも効果がある ・C#とVisual Basic言語に対応 ・対応していないC言語やC++では、OSの上で直接動作することによる効率の良さがあるが、問題や安全性低下が起こりやすい ・.NET FrameworkはWindowsの上に実行環境を構築して、その上でプログラムを動作させるので、効率はやや劣るが、  問題や安全性低下が起こりづらい ・Windows11には予め.NET Frameworkが入っているが、Windows10以前のOSではそうとは限らないので、  別途、.NET Frameworkをインストールする必要がある。 p.11 Visual Studioの使い方(バージョンアップに伴い差し替え) ①「スタート」「すべて(のアプリ)」「V」「Visual Studio 2022」 ②「新しいプロジェクトの作成」 ③ 言語を「C#」に、プラットフォームを「Windows」にする ④「空のプロジェクト(.NET Framework)」「次へ」 ⑤ プロジェクト名は自由。場所の「…」をクリックしてUSBメモリなどを指定 ⑥「作成」  ※「新機能」「Copilot」は「×」で閉じてOK ⑦「ウィンドウ」「ウィンドウレイアウトのリセット」「はい」 ⑧「プロジェクト」「新しい項目の追加」  ※新しい項目の追加ウィンドウが表示されなければ「すべてのテンプレートの表示」 ⑨「コード」「コードファイル」 ⑩「名前」を「sample.cs」に書き換えて「追加」 p.15 Sample.csを用いて動作確認 //sample.cs using System; class Sample {     public static void Main()     {         Console.WriteLine("Hello, World!");     } } ①「ファイル」「すべて保存」 ②「ビルド」「ソリューションのビルド」(通常は自動実行に任せてOK) ③「デバッグ」「デバッグなしで開始」または「▽(右向き)」で実行  ※「コード 0 (0x0) で終了しました」が表示されたら正常終了している ④任意のキーを押すか、「×」でコンソールを閉じる(放置しないこと) p.18 プログラムの構造:コメント ・「//」以降、改行までの記述はコンパイル対象にならないので、メモ書きに便利 ・このメモ書きをコメントといい、実業務では記述内容と記述形式がルール化されていることが多い  例:作成者/変更者名、作成/変更理由、変更履歴、留意点 など ・なお、C言語のコメント形式として「/*」から「*/」までを用いて複数行コメントを記述可能  ※ p.19 コメントの例2、3のような混在は推奨されない p.18 プログラムの構造:名前空間(詳細はp.387) ・大量の情報がある時に、名前をつけて分割することで、管理や重複チェックを効率化できる仕組み ・C#が提供する部品群は複数の名前空間に分けてあるので、使う名前空間をusingすれば良い  ※一般に良く使われる部品があるのはSystem名前空間なので、無条件に「using System;」を記述する ・名前空間の利用を宣言しておけば、本来の名前の前につく「名前空間名.」を省略できる  例: System.Console.WriteLine(“A”); ⇒ Console.WriteLine(“A”); p.18 プログラムの構造:クラス(詳細はp.153) ・プログラムを構成する単位で、C#では、処理はクラスに記述する必要がある ・クラスには名前が必要で、ソースファイル名と同じクラス名にすることが多いが変更も可能 ・定義書式: class クラス名 { 内容…

Read the full article