Month: December 2024

講義は休みですが今週の話題

ゲームソフト販売本数ランキング:今週1位は「スーパー マリオパーティ ジャンボリー(Switch)」 GO! ソニー、KADOKAWAの筆頭株主に―両社で戦略的な資本業務提携契約を締結 GO! デジタルハーツは上期増益に転じるも株価軟調、スピンオフしたAGESTの収益改善が必要に【ゲーム企業の決算を読む】 GO! 【キャリアクエスト】好きなことだからこそ、仕事として続けられる。Aimingの若手エンジニアが語る、入社以降に変化した意識や作業の進め方とは GO! 集え!就活冒険者たち―ゲーム業界就活イベント「キャリアクエスト」第2回が12月22日に開催 GO! コロプラが上場後初の通期赤字転落、力強いヒット作を生むことはできるか【ゲーム企業の決算を読む】GO! オタク業界で相次ぐ「Visa」クレジットカードの使用規制……はたしてSteamは大丈夫? GO!

講義メモ 後半

p.122 while文 ・if文を第2要素のみにした繰り返し構文がwhile文 ・よって「回数指定の繰り返し」ならforを、回数が決まらない繰り返しならwhileを用いると良い ・書式: while(継続条件){…} ・なお、for文とwhile文は繰り返しの1回目の前に継続条件のチェックをするので、前判定繰り返しという。 ・前判定繰り返しは1度も実行しない可能性のある繰り返しを表現できる。 p.124 while01.cs //p.124 while01.cs using System; class while01 {     public static void Main()     {         int i = 0;         while (i < 100) { //変数iの値が100未満である間、以下を繰返す             Console.WriteLine("i = {0,3}", i); //0から99までを3桁で表示             i++; //インクリメントする         }     } } アレンジ演習:p.124 while01.cs ⇒ whilefor01.cs ・for文で書き直そう 作成例 //アレンジ演習:p.124 while01.cs ⇒ whilefor01.cs using System; class while01 {     public static void Main()     {         for (int i = 0; i < 100; i++) { //変数iの値を0から100未満である間、+1しながら、以下を繰返す             Console.WriteLine("i = {0,3}", i); //0から99までを3桁で表示         }     } } p.124 条件式は必ずbool型 ・for文の第2要素(継続条件)および、while文、do-while文の継続条件には、bool型の変数または式のみ記述できる ・よって、bool型を返す演算子である関係演算子の式を用いることが多い。 ・なお、C/C++では整数値でbool型を代用できるため「while(1)」などの表記が可能だが、C#では文法エラーになる p.125 while文を使った無限ループ ・無限ループはfor文の第2要素の省略で可能だが、第1要素も第3要素も省略した「for(;;)」を用いる代わりに、 「while(true)」とする方が分かりやすい。 ・なお、繰り返し文の中でbreakを実行することで、ループを抜けられるが、switch-case文のbreak文はswitch構造の一部なので、 ループは抜けないので注意 ・また、2重ループの内側のループの中でbreakを実行すると、内側のループのみを抜けるので、外側のループは続行になる p.125 menu01.cs //p.125 menu01.cs using System; class menu01 {     public static void Main()     {         bool bEnd =…

Read the full article

講義メモ

・p.118「for04.cs(条件式のみの省略)」から 提出フォロー:アレンジ演習:p.117 for03.cs ・・4,3,2,1,0 とカウントダウンするように書き換えよう 作成例 //アレンジ演習:p.117 for03.cs カウントダウン using System; class for03 {     public static void Main()     {         int i = 4; //【変更】         for ( ; ; ) { //無限ループ!!             Console.WriteLine("i = {0}", i);             i–; //【変更】WriteLineメソッドが実行されたらiを1減らす             if (i < 0) { //【変更】iが0未満になったらbreak文で脱出                 break;             }         }     } } p.118 forループからの脱出(for文における初期化) ・forの第1要素で用いることが多いカウンタ用の変数は、事前に宣言する必要は無い ・forの第1要素において初期化しても良いので、単純な回数指定繰り返しは下記の書式にできる。  for (int カウンタ用変数 = 0; カウンタ用変数 < 回数; カウンタ用変数++) {…} ・なお、このカウンタ用変数は、forの内部でのみ有効になるので、繰り返しの外で誤って用いることを防止できる  ※ 繰り返しの外で用いる場合は事前に宣言する必要がある ・for文における初期化にすると、カウンタ用の変数名の重複が可能なので「i」などにを統一することが多い アレンジ演習:p.118 for04.cs ①現状では、forの繰り返しの終わった後で、カウンタ用の変数iにアクセスできることを確認しよう ②それから、カウンタ用の変数iを事前に宣言せず、for文において初期化し、動作が変わらないことを確認しよう ③forの繰り返しの終わった後で、カウンタ用の変数iにアクセスできないことを確認しよう 作成例 //アレンジ演習:p.118 for04.cs using System; class for04 {     public static void Main()     {         //int i; //【削除】カウンタ用の変数iの宣言のみ         for (int i = 0;;i++) { //【変更】変数iを0で初期化して、インクリメントしながら無限ループする             if (i >= 5) { //変数iが5以上なら                 break; //ループを抜ける             }             Console.WriteLine("i = {0}", i); //iの値を表示         } //繰り返しの最後でインクリメントをしている…

Read the full article

今週の話題

ゲームソフト販売本数ランキング:今週1位も「スーパー マリオパーティ ジャンボリー(Switch)」GO! 一つ一つのイベント出展が大きなチャンスに繋がっていく…インディー開発者、譽田潔氏の「ゲーム開発未経験からBitSummit Award大賞を獲得するまでの道のり」【Indie Developers Conference 2024】 GO! 【キャリアクエスト】食費を削ってCGに打ち込み『METAL GEAR SOLID Δ: SNAKE EATER』の3Dアニメーターに!KONAMIで働くT.K.さんに聞く、ゲーム業界に就職するために必要なこととは? GO! 感情パラメーターから3Dキャラクターの表情を自動生成する「DeepEmo」、デモエディタを提供開始 GO! 『原神』チートツール制作者に法の鉄槌、知的財産権侵害判決の結果は150万ドルの損害賠償…元々5万ドル以上を宣言も、膨れ上がる GO!

前回のコメント

・ありがとうございました。 ・本日もありがとうございました。 ・今回もありがとうございました。 ・理解できた  何よりです。 ・楽しかったです。常に新しい言葉が出てきているので、ついていけるよう頑張ります。  応援します。 ・本日はありがとうございました。  無条件で無限ループを開始する必要があるのはゲームの起動から終了などで必要なんですね。  ゲームの起動から終了などに限らず、終了条件が複雑な場合などにも用います。 ・ゲーム開発の現場やチーム制作において、どんな用途に用いられるという話も今後教えてもらえるとありがたいです。  承知しました。 ・休暇の間にまた戻ってしまいそうです。何かいいリハビリ方法などありますでしょうか。あれば教えてください。  技術系資格の取得をお勧めします。その勉強時間にすると良いでしょう。  例えば、ITパスポート、基本情報、情報セキュリティマネジメント、G検定(AI系)、LPIC/Linuc(Linux系)  などでしたら、都内では年中いつでも受験可能ですし、ネットワーク系、データベース系の資格もあります。  アピールできる複数の資格があれば未経験でも就活でスルーされることは少なくなります。 ・for02.csをアレンジして、ループを使った文章を作ってみました。  forとifを使った文章です。  1000になるまで、カウントを続けて、100になったら100に達しましたという文章で  コンソールメッセージが変わり、終了する文です。  調べながらやったので、半分意味は分からないですが  breakを入れないと、100で無限ループが終わらない理由があまりわかってません。  でもこれを使えば、1000までが上限値で終了だけど、  現時点で100になったらゲームの目標値1段階目はクリア!次に進めるよ!みたいな分岐表現を  プログラムで表現できたという事ですよね?  他に先生ならこのようなプログラムをどんなゲームの表現に使えると思いますか?  考え方を整理しましょう。  「1000になるまで、カウントを続けて」であれば、無限ループにする必要はなく、通常のfor文にすべきです。  しかも「100になったら終了」するのであれば、「1000になるまで」の意味はありません。  「どんなゲームの表現に使えるか」ではなく、仕様として適切かどうかを先に考えましょう。

講義メモ 後半

p.115 for文 ・4つあるC#の繰り返し構文の1つで、主に「●回繰り返す」時に用いると便利な構文。 ・書式: for (繰り返し前の実行文; 継続条件; 毎回繰り返しの末尾の実行文) { 繰り返し内容 } ・例:  int i; //繰り返しのカウンタ用の変数を宣言  //①iに0を代入し、②iが5未満なら、③iの表示とインクリメントを繰り返す  for (i = 0; i < 5; i++) { //繰り返し開始   Console.WriteLine(i); //繰り返し内容  } //繰り返しここまで ・繰り返し内容が1行の場合「{}」は省略可能だが、省略が推奨されないことがある アレンジ演習:p.115 for01.cs ・省略されている{}を記述しよう ・継続条件を「5未満」から「4以下」にしよう 作成例 //アレンジ演習:p.115 for01.cs using System; class for01 {     public static void Main()     {         int i; //繰り返しのカウンタとして用いる変数         //①iに0を代入し、②iが以下なら、③iの表示とインクリメントを繰返す         for (i = 0; i <= 4; i++) { //iを0から4まで1加算しながら繰返す             Console.WriteLine("i = {0}", i);         }     } } p.116(デクリメントによるカウントダウンのfor文) ・for文の第3要素をデクリメントにすると、カウントダウンのfor文を記述できる アレンジ演習:p.116 for02.cs ・省略されている{}を記述しよう 作成例 //アレンジ演習:p.116 for02.cs using System; class for02 {     public static void Main()     {         int i; //繰り返しのカウンタとして用いる変数         //①iに4を代入し、②iが0以上なら、③iの表示とデクリメントを繰返す         for (i = 4; i >= 0; i--) {             Console.WriteLine("i = {0}", i);         }     } } p.117 forループからの脱出 ・for文の3つの要素は全て省略可能(セミコロン2個は省略不可)…

Read the full article

講義メモ

・p.105「if02.cs」から再開します 提出フォロー:アレンジ演習:p.104 if01.cs・その3 ・比較対象の値も5固定ではなくて、コンソールから入力するようにしよう 作成例 //アレンジ演習: p.104 if01.cs その3 using System; class if01 {     public static void Main()     {         int n;         //n = 10;         Console.Write("n : "); n = int.Parse(Console.ReadLine()); //【変更】nを入力         int a; //【追加】比較対象         Console.Write("比較対象 : "); a = int.Parse(Console.ReadLine()); //【追加】aを入力         if (n > a) { //【変更】式「n > a」の評価がtrueなら後続のブロック内を実行             Console.WriteLine("nは{0}より大きい", a); //【変更】         }         else if (n < a) { //【変更】上記がfalseで式「n < a」の評価がtrueなら後続のブロック内を実行             Console.WriteLine("nは{0}より小さい", a); //【変更】         }         else { //上記の両方がfalseなら後続のブロック内を実行             Console.WriteLine("nは{0}", a); //【変更】         }     } } p.105 if02.cs 解説 ・「Int32.Parse」の「Int32」は.NET型(p.42)の「int」なので、「int.Parse」と同じ意味 ・変数nSogakuについて:021行目でこの変数の初期化を行っているのは、023行目と027行目で用いているのが理由。  こうすることで、掛け算が1度で済む。 アレンジ演習:p.105 if02.cs ・String型の変数「stShojikin」「stTanka」「stKosu」はなくても良いので削除しよう。 ・int型の変数に対して「Int32.Parse」は適切ではないので、「int.Parse」に統一しよう。 作成例 //アレンジ演習:p.105 if02.cs using System; class if02 {     public static void Main()     {         Console.Write("所持金はいくらですか—");         int nShojikin = int.Parse(Console.ReadLine());         Console.Write("単価はいくらですか—");         int nTanka = int.Parse(Console.ReadLine());         Console.Write("何個買いますか—");         int…

Read the full article

今週の話題

ゲームソフト販売本数ランキング:今週1位は「スーパー マリオパーティ ジャンボリー(Switch)」GO! 「ホロライブ」運営カバーが業績好調、トレカのヒットなど着実に事業拡大―インディーゲーム支援やメタバースが更なる成長のカギ【ゲーム企業の決算を読む】GO! セガサミーの上期は高進捗で折り返し、『龍が如く』『ソニック』『メタファー』と大型タイトルが続く下期に期待【ゲーム企業の決算を読む】GO! Live2D、クリエイターの知見を共有する「Live2Dデータベース」を公開―「Live2D」採用作品情報を集約 GO! テンセント、『鳴潮』のKuro Gamesの過半数株式を取得―独立した運営を継続する方針 GO! ユービーアイの対戦FPS『エックスディファイアント』2025年6月に終了へ 大阪やサンフランシスコのスタジオも閉鎖と悪いニュース続く GO! 発売目前の『インディ・ジョーンズ/大いなる円環』にDRM「Denuvo」は採用されていない―ベセスダ公式がユーザーの“懸念”をキッパリと否定 GO!