Author: maurundog

今週の話題

販売本数ランキング 今回トップは「スーパーマリオブラザーズ ワンダー(Switch)」GO! インディーゲーム展示会“東京ゲームダンジョン4”の入場チケットが販売開始。出展する250団体の出展リストを公開 GO! 『スクフェス2』がまさかの大失速―ブシロードはゲーム事業の苦境が鮮明に【ゲーム企業の決算を読む】 GO! テーマは「脱出」―Unreal Engine使用映像制作コンテスト「UE5ぷちコン 映像編5th」エントリー受付開始 GO! AI活用でプレイヤーサポート強化を支援―PTW、ゲームパブリッシャー向けソリューション「REACT」を発表 GO! 個性を引き出すモデリングから内製バーチャル広報による社内活性化まで―『このファン』サムザップがLive2D活用事例を紹介【alive 2023】 GO! 『Marvel’s Spider-Man』等開発のInsomniac Gamesにサイバー攻撃―開発中新作の情報流出も? GO! 開発スタジオ閉鎖の『The Day Before』販売も即座に中止…わずか4日間しか買えなかったゲームに、ユーザーからの「売り逃げ」の声も GO! GooglePlayストア「独占的な力あり」とEpic対Googleの米裁判で陪審判決!具体的な措置命令は1月第2週の公聴会以降に持ち越し GO!

前回のコメント

・わからない箇所が複数あったので講義メモをもとに復習したいと思います。  是非。 ・練習問題2でつまずいてしまった  今後、類似の問題を何度も扱いますので、厚めにフォローしますね。

講義メモ 第6章 配列

p.133 配列とは ・データの全てに変数名を付けるのではなく、同じ型のデータをグループにして名前を付け、何番目かを指定して用いる仕掛けが配列 ・グループの名前を配列名、何番目かを指定する番号を添字、インデックスという ・また、配列を構成するデータ1つずつを要素という ・利用には変数と同様に、定義が必要だが、その前に配列名を宣言する必要があり、データ型も明示する ・宣言書式: 型[] 配列名; ・例: string[] monstername; ・配列の定義(生成)は変数の場合と同様に必要な領域の確保なので、要素何個分かも明示する ・定義(生成)書式: 配列名 = new 型[要素数]; ・例: monstername = new string[100]; //モンスター100体分の配列を定義(生成) ・配列の宣言と定義(生成)はまとめて行うことも可能 ・宣言と定義(生成)の書式: 型[] 配列名 = new 型[要素数]; ・例: string[] monstername = new string[100]; ・要素へのアクセスは、配列名[添字]で行う。添字は0から要素数-1までなので注意。 ・例: monstername[0] = “ヴェルドラ”; monstername[1] = “リムル”; ・変数の初期化と同様に、配列の宣言と初期値の設定を同時にすることが可能で、この時、初期値の数だけ要素が作られるので要素数は  指定不要 ・初期化の書式: 型[] 配列名 = {初期値①, 初期値②, …}; ・例: string[] monstername = {“ヴェルドラ”, “リムル”}; //要素数は2になる ・配列はオブジェクト(後述)として扱われるので、プロパティ(後述)の仕掛けを持っている。これにより、配列名.Length とすることで、  要素数が得られる p.136 average02.cs //p.136 average02.cs using System; class average02 {     public static void Main() {         int[] point = {70, 80, 50}; //int型の配列pointを3要素で初期化         int sum = 0, no; //合計、要素数         no = point.Length; //プロパティで配列の要素数を得る         for (int i = 0; i < no; i++) { //iを0から要素数未満まで=全要素について繰返す             sum += point[i]; //i番の要素の値をsumに足し込む…

Read the full article

講義メモ

・p.122「while文とdo while文」から 補足:p.121 sin01.csの実行方法・改 ・現在のバージョンのVisual Studioでは1ページ分以上の表示を一気に行うと欠けが発生してしまうことがある ・そこで「ビルド」「ソリューションのビルド」を行ってから、「ツール」「コマンドライン」「開発者用コマンドプロンプト」を用いると良い ・ここで、プログラムのあるプロジェクトのフォルダの中のbin/debugフォルダにある.exeファイルを指定して  「プロジェクト名\bin\Debug\プロジェクト.exe」と入力すると動作する 例:「E:\ha234_C#_akiba\chap4>」に対して「chap4\bin\Debug\chap4.exe」を入力しEnter ・なお、実行確認後「X」で閉じること 提出フォローアレンジ演習:p.121 sin01.cs ・サイン値の表示がすべて「.00000」から「.99999」の5桁になるようにしよう ・「{0,7:#.#####}:」を「{0,7:#.00000}:」とすれば良い 作成例 //アレンジ演習:p.121 sin01.cs using System; class sin01 {     public static void Main()     {         double s; //カウンタとして用いる実数         //0.0度から180度(Math.PI)まで4度(Math.PI / 45.0)ずつ増やしながら繰返す         for (double a = 0.0; a <= Math.PI; a += Math.PI / 45.0) {             s = Math.Sin(a); //サイン値を得る             Console.Write("{0,7:#.00000}:", s); //7桁の小数点以下5桁で表示             //サイン値0.2につき"*"を1個表示することでグラフを描く             for (int i = 1; i <= Math.Round(s * 50); i++) { //サイン値の50倍(小数点以下四捨五入)だけ繰返す                 Console.Write("*"); //"*"を1個表示(改行しない)             }             Console.WriteLine(); //1行分終わったので改行         }     } } アレンジ演習:p.121 sin01.cs・続き ・SinをCos(コサイン)にしよう ・Sinは0度から180度まで全て正の数だが、Cosは90度から180度までは負の数(-1まで)になる ・そこで、Cos値に+1して正の数0から2までにしよう ・そして「サイン値0.2につき”*”を1個表示」を「コサイン値0.4につき”*”を1個表示」とすれば良い 作成例 //アレンジ演習:p.121 sin01.cs・続き using System; class sin01 {     public static void Main()     {         double s; //カウンタとして用いる実数         //0.0度から180度(Math.PI)まで4度(Math.PI / 45.0)ずつ増やしながら繰返す         for (double a = 0.0; a <= Math.PI;…

Read the full article

今週の話題

販売本数ランキング 今回トップは「ドラゴンクエストモンスターズ3 魔族の王子とエルフの旅(Switch)」GO! “ゲームアワード 2023”受賞作まとめ。『バルダーズ・ゲート3』がGOTYを始め6冠に。『Alan Wake 2』は3部門で受賞【The Game Awards】GO! 1200作品から選ばれた14作品―「ゲームクリエイター甲子園 2023」総合大賞ファイナリスト14作品発表 GO! 任天堂/ハピネット等新たなスポンサー4社が参加―「Indie Developers Conference 2023」セッション/ライトニングトークのタイムテーブル発表 GO! Best Esports Gameは『Valorant』が受賞!選手やコーチなどeスポーツ関連一斉発表【TGA2023】GO! 有料Modのサポートを開始した『スカイリム』完全新作のみを取り扱い、AI生成物の使用は禁止に GO! 「Nintendo Live 2024 TOKYO」が執拗な脅迫行為により中止に…『スプラ3』バンカライブや『ゼルダ』コンサートなどが予定されていた GO! 2年半に渡る『Destiny2』不正行為巡るBungieとチート販売業者の訴訟が来週陪審裁判へ―議論の焦点は「著作権」にあり GO!

講義メモ 後半

p.119 forループのネスト ・for文の中にfor文を記述できる。これもネスト(入れ子)という ・繰返し文の中に繰返し文を書くことで2重ループが実現する ・forループのネストはN回×M回の繰り返しに便利で、2次元の情報を扱う時に用いることが多い ・主に、外側の繰り返しの用のカウンタにはiを、内側の繰り返しの用のカウンタにはjを使うことが多い ・なお、カウンタを同じ変数にすると想定外の動作になる(通常、無限ループする)ので注意 ・実行イメージ  for(int i = 0①; i < 3②; i++⑦) {   for(int j = 0③; j < 2④; j++⑥) {    Console.Write("[{0},{1}]", i, j);⑤   }  }  ①②③④⑤[0,0] ⑥④⑤[0,1] ⑥④⑦②③④⑤[1,0] ⑥④⑤[1,1] ⑥④⑦②③④⑤[2,0] ⑥④⑤[2,1] ⑥④⑦② p.119 kuku01.cs //p.119 kuku01.cs using System; class kuku01 {     public static void Main()     {         int i, j; //外側用カウンタ、内側用カウンタ         for (i = 1; i <= 9; i++) { //外側用カウンタで1,2,3,4,5,6,7,8,9について繰返す             for (j = 1; j <= 9; j++) { //内側用カウンタで1,2,3,4,5,6,7,8,9について繰返す                 Console.WriteLine("{0} * {1} = {2}", i, j, i * j);             }             Console.WriteLine("------------"); //段の区切りを表示         }     } } アレンジ演習:p.119 kuku01.cs ・式を略して、積だけを段ごとに表示し、段の後ろで改行しよう(段の区切りの代わりに改行) ・積は3桁で表示すること   1  2  3  4  5  6  7  8  9   2  4  6  8 10 12 14 16 18   3  6  9 12 15 18 21 24 27…

Read the full article

講義メモ

・「【補足】if文等のネスト」の実例を示してから、p.115「for文」に進みます 【補足】if文等のネスト:再掲載 ・if文やswitch文の中にさらにif文やswitch文を記述できる。これをネスト(入れ子)という 例:正の数が入力されたら、もう1つの整数を入力させ、どちらも正の数のなら「どちらも正」と表示する。  あてはまらない場合はなにも表示しない。  if (正の数?) { もう1つ入力: if (正の数?) { 「どちらも正」と表示 } } ※ なお、switch文のネストはどうしても必要な場合を除いて避けた方が良い ミニ演習 mini114.cs ・上の例をプログラムにしよう 作成例 //ミニ演習 mini114.cs using System; class mini114 {     public static void Main()     {         Console.Write("整数①:"); int n1 = int.Parse(Console.ReadLine()); //整数入力         if (n1 > 0) { //正の数?             Console.Write("整数②:"); int n2 = int.Parse(Console.ReadLine()); //整数入力             if (n2 > 0) { //正の数?(ifのネスト)                 Console.WriteLine("どちらも正");             }         }     } } 【補足】if文等のネスト:つづき ・if文等のネストでは「else」や「else if」がどの「if」に対するものなのか見間違いやすくなるので注意 ・インデントが正しければif-else、if-elseif-elseが高さで判別できる 悪い例: //ミニ演習 mini114.cs 悪い例 using System; using System.Diagnostics.Eventing.Reader; class mini114 {     public static void Main()     {         Console.Write("整数①:"); int n1 = int.Parse(Console.ReadLine()); //整数入力         if (n1 > 0) { //正の数?             Console.Write("整数②:"); int n2 = int.Parse(Console.ReadLine()); //整数入力             if (n2 > 0) { //正の数?(ifのネスト)                 Console.WriteLine("どちらも正");                 } //インデントが正しくないと…             }…

Read the full article