Author: maurundog

今週の話題

販売本数ランキング 今回トップは「Marvel’s Spider-Man 2(PS5)」GO! 業績回復鮮明のシリコンスタジオ、ゲームエンジンの需要高まる自動車業界でも存在感を発揮【ゲーム企業の決算を読む】GO! Apple、「GeForce NOW」などゲームストリーミングサービスの制限緩和―単一アプリでフル機能が提供可能に GO! ブロックチェーンゲーム『キャプテン翼 -RIVALS-』、スマホアプリ版のサービス開始 事前登録は10万人突破 GO! 『FF16』が日本PS5部門でトップに!2023年のPS Store年間ダウンロードランキング公開 GO! 3DS/Wii Uのオンラインプレイサービスが2024年4月9日に終了へ GO! 『パルワールド』の“ポケモン”Modがコミュニティで波紋呼ぶ―動画等は任天堂により権利者削除、モデルの出処も怪しい GO! ポケモン社が類似の他社ゲームに対して「いかなる利用も許諾しておりません」とコメントを発表。『パルワールド』を示唆か。知的財産権の侵害については「調査を行った上で、適切な対応を取っていく所存」GO! マイクロソフト約1,900人解雇―アクティビジョン買収でゲーム部門全体の約8%にあたる人員整理 GO! 開発期間は6年以上…Blizzardレイオフで開発中止の未発表サバイバルゲームは社内で好評だった模様 GO! リリースからたった4ヶ月での終了告知…ネクソンの無料大規模対戦アクション『Warhaven』4月にサービス終了へ GO!

講義メモ:後半

p.176 既存のクラスを使ってみる ・ここまでで、System、Mathなどの既存のクラスを利用しているが、ここでは、インスタンスメソッドを持つクラスの一例として、  ArrayListクラスを用いよう ・ArrayListクラスは、配列の機能を拡張した仕組みを提供するもので、配列にはない柔軟な利用が可能 ・利用には「using Sytem.Collections;」を指定する  ※ ArrayListクラスなどのデータ構造を表すことのできるクラスをコレクションと呼ぶ ・インスタンスを生成すると、配列に似たデータ構造が生成されるが、配列とは異なり、要素数を事前に決める必要がなく、  動的に変更することもできる ・要素の追加にはインスタンスメソッドのAdd(データ)を用い、追加にしたがって要素数が拡張される ・件数を返すCountプロパティも利用可能  ※ プロパティは特殊なメソッドで8章で説明 ・格納済の要素は、配列と同様にオブジェクト名[添字]で直接アクセスできる p.177 arraylist01.cs //p.177 arraylist01.cs using System; using System.Collections; //ArrayList用 class arraylist01 {     public static void Main() {         bool bEnd = false; //終了フラグをオフで初期化         string strData; //読込用         double sum = 0.0; //合計         ArrayList al = new ArrayList(); //ArrayListオブジェクトを生成         while (true) { //無限ループ             Console.Write("データ(数値以外入力で終了)– ");             strData = Console.ReadLine();             if (!Char.IsDigit(strData[0]) && strData[0] != '-') { //1文字目が数字ではなくマイナスでもない?                 bEnd = true; //終了フラグをオンにする             } else { //数字またはマイナスなら                 al.Add(double.Parse(strData)); //実数に変換してArrayListに格納             }             if (bEnd) { //終了フラグがオン?                 break; //繰返しを抜ける             }         }         for (int i = 0; i < al.Count; i++) { //ArrayListに格納した件数の分、繰返す             Console.WriteLine("Data[{0}] = {1}", i + 1, al[i]); //値を表示             sum += (double)al[i];…

Read the full article

講義メモ

・p.171「デストラクタ」から再開します アレンジ演習フォロー:p.169 construct02.cs ・名前と年齢を引数で受け取るコンストラクタ④を追加しよう ・Mainメソッドにおいて、コンストラクタ④を呼ぶ処理と、結果を表示する処理を追加しよう 作成例 //アレンジ演習:p.169 construct02.cs using System; class MyClass {     private string name;    //名前:外部から見えないインスタンス変数     private int age;        //年齢:外部から見えないインスタンス変数     private string address; //住所:外部から見えないインスタンス変数     public void Show() { //戻り値のないインスタンスメソッド         string toshi; //メソッド内で用いるローカル変数         if (age == -1) { //年齢が-1になっていたら             toshi = "不明";         } else {             toshi = age.ToString(); //int型から文字列化して代入         }         Console.WriteLine("氏名:{0} 住所:{1} 年齢:{2}", name, address, toshi);     }     public MyClass(string str) { //引数のあるコンストラクタ①(文字列:名前)         name = str;         address = "不定"; //住所は規定値         age = -1; //年齢は規定値     }     public MyClass(int x) { //引数のあるコンストラクタ②(整数:年齢)         age = x;         name = "不明"; //名前は規定値         address = "不定"; //住所は規定値     }     public MyClass(string str1, string str2, int x) { //引数のあるコンストラクタ③(文字列:名前,文字列:住所,整数:年齢)         name = str1;         address = str2;         age = x;     }     public MyClass(string…

Read the full article

今週の話題

販売本数ランキング 今回トップは「スーパーマリオブラザーズ ワンダー(Switch)」GO! 『フォートナイト』でプログラミングやデジタル技術を習得―茨城県で「FORTNITE UEFN クリエイティブ講座」開催 GO! 第24回「GDC Awards」ノミネート作品発表!『バルダーズ・ゲート3』と『ゼルダの伝説 ティアキン』が最多7部門で選出 GO! ユービーアイソフト、サブスクは「今後大きな成長が見込める」と自信―PC向けサブスクプランをリブランディング GO! 「理想を追い求めたゲームが存在する余地が無くなる」…『バルダーズ・ゲート3』開発者がゲームのサブスクリプションに否定的な見解示す GO! 吉田直樹氏が『FF17』に対する胸の内を語る―「同じおじさんがやっていくよりは、若い世代にチャレンジしてほしい」GO! 『プロセカ』クリエイターがLive2D制作フローや演出のノウハウを惜しみなく紹介―Colorful Palette講演レポート【alive 2023】GO! 『LOST ARK』サービス終了告知―満足できるサービスの提供が困難であると判断 GO! 『GTA5』マイケル役俳優が自身の声を無許可使用したAIチャットボットに猛反発 GO!

講義メモ 後半

p.167 コンストラクタ ・new等でインスタンスの生成を行う時に、同時に実行したい処理を特殊な書式で記述することができる ・これがコンストラクタで、省略すると、自動的に中身がないコンストラクタが用意されて用いられる ・コンストラクタ=構築なので、生成時に呼ばれる特殊なメソッドを指す ・コンストラクタを自前で記述することで、インスタンスの生成を行う時に実行したいことを書ける ・主に、データメンバの初期化や、開始処理などの記述に用いて「必ず実行させる」ことが可能 ・なお、コンストラクタには名前はなく、クラス名で記述し、public指定で、戻り値はない ・主な書式: public クラス名() {…} ・「new クラス名()」で呼び出して欲しい場合はカッコ内は空にする  ※ 引数を指定することも可能で、引数のない定義と両立できる(後述:オーバーロード) p.167 construct01.cs //p.167 construct01.cs using System; class MyClass {     int x; //外部から見えないインスタンス変数     public void showx() { //表示:インスタンスメソッド         Console.WriteLine("x = " + x);     }     public MyClass() { //コンストラクタ         x = 10; //インスタンス変数の初期化         Console.WriteLine("xに10を代入しました");     } } class construct01 {     public static void Main() {         MyClass mc = new MyClass(); //インスタンスの生成と共にコンストラクタを実行         mc.showx(); //インスタンスメソッドを実行     } } アレンジ演習:p.165 noreturnvalue.cs ・残高を0で初期化する処理をコンストラクタで行うようにしよう ・実行結果は変わらないので、テスト用にコンストラクタに「初期化しました」と表示する処理を加えよう 作成例 //アレンジ演習:p.165 noreturnvalue.cs using System; class Kakeibo {     private int total; //【変更】残高:外部から見えないインスタンス変数     public Kakeibo() { //【以下追加】コンストラクタ         total = 0; //インスタンス変数を初期化         Console.WriteLine("初期化しました"); //テスト用     }     public void nyukin(int en) { //入金:戻り値のないインスタンスメソッド         total += en;         Console.WriteLine("{0}円を入金しました", en);         // return; //この後はないので省略可能     }…

Read the full article

講義メモ

・p.159(Mainメソッドを含むクラス)から p.159 Mainメソッドを含むクラス ・simpleclass03などのように、インスタンス変数を持つクラスと、Mainメソッドを持つクラスは別にするのが基本 ・そして、インスタンス変数を持つクラスはプログラム部品として設計・活用することが多い ・しかし、Mainメソッドを持つクラスにインスタンス変数を持つこともできる ・このようなクラスのインスタンスにはMainメソッドは含まれないので、Mainメソッドを持つクラスを別にした場合と  同様に動作する ・よって、例外的な記述法だが、次項以降で説明するメソッドのテスト処理の記述などに用いることもある p.159 simpleclass04 //p.159 simpleclass04 using System; class simpleclass04 {     private int x; //インスタンス変数(このクラス内からのみ利用可能)     public static void Main() {         simpleclass04 s; //自分が属するクラスを型とする変数を定義できる         s = new simpleclass04(); //自分が属するクラスのインスタンスを生成できる         s.x = 10; //このインスタンスの中に、インスタンス変数があるので代入可能         Console.WriteLine("s.x = " + s.x); //表示も可能     } } p.160 メソッドを定義しよう ・C言語の構造体とは異なり、クラスには処理を行うメソッドを自由に定義できる ・なお、Mainメソッドは特別な意味をもつメソッドとして扱われる ・メソッドはC言語などの関数と同じ仕掛けで、0個以上の情報を受け取り、処理して、0または1個の情報を返すことができる ・返す値を戻り値(返却値)といい、メソッド定義の冒頭で、その型を示す。 ・なお、返す値が0個の場合は、無を意味するvoidを指定する ・返す値が1個の場合は、メソッドの中に「return 式または値;」を記述し、どういうアルゴリズムになっていても、  必ずreturnができないとコンパイルエラーになるので注意。 ・なお、returnの後続部分は実行されないので、絶対に実行されない状態にしてしまうと、コンパイルエラーになる ・returnには式や他のメソッドの呼び出しが記述できる(メソッドの処理内容を全て記述できることもある) ・例: int add3(int a, int b, int c) { return a + b + c; } ・0個以上の情報を受け取る仕掛けが引数で、上のa,b,cのように、型と共に引数リスト(パラメータリスト)として、  メソッド名直後のカッコ内に記述する ・0個の場合も、カッコは省略不可 ※ メソッド側で定義している引数を仮引数ともいう(メソッドを呼び出す側で指定するのは実引数) ・メソッドのアクセス修飾子は、通常、private(利用自由)かpublic(外部からの利用不可) ・定義書式: アクセス修飾子 戻り値型 メソッド名(引数リスト) {…} ・例:  public int add3(int a, int b, int c) { //利用自由でint型3引数をを受け取りint型の値を返すメソッド   return a + b + c; //3引数の値の和を返す  } p.161(メソッドの呼び出し) ・インスタンス変数と同様に、インスタンスを生成すると呼び出し可能になるのが基本 ・インスタンス変数と同様に「インスタンス名.メソッド名(引数リスト)」と呼び出すことが可能 ・戻り値がvoidではない場合、戻り値を受け取って変数に格納したり、そのまま表示したりすることが可能 ・例:…

Read the full article