【ゆっくり解説】 テトリスの作り方 【ゲームプログラミング】

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024

Комментарии • 34

  • @pochi-hacker
    @pochi-hacker 2 года назад +1

    質問です。
    このプログラムの実行中に自分のフォルダ内にある
    mp3ファイルの音源を再生することは可能でしょうか?
    また、可能ならば”どのようにコードを書くか”などを動画やコメントで解説して頂けたら
    ありがたいです。
    よろしくお願いします。
    あと、もう一つ質問がありまして、
    4:00に出てきた
    const int width = 10;
    const int height = 20;
    var destRact = new Rectangle[width, height];
    for (int i = 0; i < width; ++i) for (int j = 0; j < height; ++i) ;
    destRact[i, j] = new Rectangle(i * length, j * length, length, length);
    の”j”はどこから来たのでしょうか??

    • @mはげ
      @mはげ  2 года назад +1

      MP3再生はWindows Media Playerコントロールを使うのが簡単だと思います。以下のURLを参照ください。
      ou812.web.fc2.com/CsTips/CsMp3.html
      j はそのfor文の括弧の中の最初の int j = 0 で宣言されているローカル変数です。

    • @pochi-hacker
      @pochi-hacker 2 года назад

      @@mはげ
      ありがとうございます。参考にしてみます!

  • @haruchannel8686
    @haruchannel8686 Год назад

    こんにちは!
    凄く今更ですが、ゲームプログラミングに気が向いたので、
    この動画を見ながらテトリスを作っていたのですが、質問です。
    ①ずっと"テトリスのプログラムと同じフォルダ"にある、音楽ファイル(.mp3)を流すことは可能ですか?
    ②テトリスを実行したときに、すぐにブロックを表示しないで、STARTの文字を3秒間表示する事は可能ですか?
    ③ゲームオーバーの時に、GAMEOVER の文字を5秒間表示する事は可能ですか?
    ④ゲームオーバーの時に、"テトリスのプログラムと同じフォルダ"にある、効果音を流す事は可能ですか?
    長文ですみませんが、1つでもお答えしてくれれば嬉しいです。

    • @mはげ
      @mはげ  Год назад

      こんにちは。コメントありがとうございます。質問について以下に回答します。
      ① 当チャンネルのゆっくり解説】シューティングゲームの作り方【ゲームプログラミング】でBGMについて解説しています。
      ② カウント用のメンバー変数を用意してタイマーイベントの数を数え、最初の90回だけ別の処理をするようにすればいいと思います。
      ③ 上の②と同じです。
      ④ 上の①と同じです。

    • @haruchannel8686
      @haruchannel8686 Год назад

      @@mはげ お忙しい中,ご返答ありがとうございます。

  • @さいたち
    @さいたち Год назад

    15:10の2行目のfor(int j = 0; j < height; ++j)の部分を書かなかった場合これはどのような挙動をするのでしょうか?プログラミング初心者なのですが、教えていただけるとありがたいです。

    • @mはげ
      @mはげ  Год назад

      jが未定義になるのでコンパイルが通らないと思います。

  • @もっぷ-e5j
    @もっぷ-e5j 2 года назад

    動画とても参考にさせていただいてます。質問ですが、パス文字列からファイルの読み込みを行うコードを書く必要はないのでしょうか?動画の通りコードを書いて3分28秒の時と同様に実行開始させたのですが、実行できませんでした。どのように直すと良いでしょうか?

    • @mはげ
      @mはげ  2 года назад +1

      画像ファイルを実行ファイルと同じフォルダに置いてみると実行できると思います。デフォルトだとプロジェクトフォルダ下のbin/Debugの下です。パスとしてファイル名だけを書くと、実行ファイルと同じフォルダ内のファイルということになります。

    • @もっぷ-e5j
      @もっぷ-e5j 2 года назад

      @@mはげ
      ありがとうございます!表示できました!

  • @ヨマイヌ
    @ヨマイヌ Год назад

    質問失礼します、c#初心者の者です。
    動画と一通りとoneドライブの方を見せていただきまして、form1の中身が動画で紹介されてないソースしかなく困惑でした。
    あと、現在のコンテキストにblocksという名前が存在しませんと出て来てしまいます。
    解決方法がありましたら教えていただけると助かります。

    • @mはげ
      @mはげ  Год назад +1

      動画投稿後に改善しているところもあるので多少異なります。blocksは動画の6:33で定義しているBlockクラスのオブジェクトの配列です。OneDrive中のコード(48行目)では初期化時に回転したブロックの位置を手入力するのではなくコンストラクタで計算するようにしています。つまり、動画中では回転したあとの座標を全部書いていますが、OneDrive中のコードではブロック1種類につき一つだけ指定すれば良くなっています。出来上がるものは同じです。

    • @ヨマイヌ
      @ヨマイヌ Год назад

      @@mはげ 丁寧な回答ありがとうございます!参考にさせていただきます!

  • @ぶたばらでいこん
    @ぶたばらでいこん 4 года назад +3

    マジですごい

  • @jo-channeljapan2272
    @jo-channeljapan2272 3 года назад +1

    初見です。「ウィンドウの作成」でVisual C# をダウンロードするサイトのURLってありますか?

    • @mはげ
      @mはげ  3 года назад +1

      以下になります。今は色んな言語が統合された「Visual Studio 2019」となります。新しいプロジェクトの作成からC#のWindowsフォームアプリケーション(.NET Framework)を選ぶことで始められます。
      visualstudio.microsoft.com/ja/vs/

    • @jo-channeljapan2272
      @jo-channeljapan2272 3 года назад

      @@mはげ ありがとうございます。

  • @YuhiSunset
    @YuhiSunset 4 года назад +3

    開発環境の導入から説明していただいてありがたいです。ただ、コードはブログなどに上げた方が見やすいように思いますが……。

    • @mはげ
      @mはげ  4 года назад +1

      ご指摘ありがとうございます。コードはOneDriveに上げていたのを忘れていました。
      1drv.ms/1dzm2RQ

  • @kumi.s.1550
    @kumi.s.1550 Год назад

    7:00 の関数を作るとpos,block,rotがすべて存在しないことになるんですが、何処に関数をどういう風に定義すればいいですか?

    • @mはげ
      @mはげ  Год назад

      コメントにあるようにメンバー変数に Block blockとPoint posとint rot を定義します。以下のURLのコードを参照ください。
      onedrive.live.com/?id=DCD84AD43F044BD8%2137311&cid=DCD84AD43F044BD8

    • @kumi.s.1550
      @kumi.s.1550 Год назад

      ありがとうございます

    • @kumi.s.1550
      @kumi.s.1550 Год назад

      何度も申し訳あ有りません。11:04 のように関数を割り当てると地面についたブロックがなくなるわけではないんですが色が背景と同じ黒になってしまうんですがどうすればいいでしょうか

    • @mはげ
      @mはげ  Год назад

      @@kumi.s.1550 良く分かりません。上のURLのコードと比較して違いがないかどうか確認をお願いします。

    • @kumi.s.1550
      @kumi.s.1550 Год назад

      @@mはげ ありがとうございます。

  • @user-nukaaaa
    @user-nukaaaa 3 года назад

    あと、画像はどうすればいいですか?調べても、いい画像が見つからなくて....
    あとOneDriveにアクセスできません

    • @mはげ
      @mはげ  3 года назад

      画像は探したり加工したりしています。OneDriveへのリンクが切れていたので修正しました。

  • @Answer_is_HotCorn
    @Answer_is_HotCorn 2 года назад

    何でVisual Studio 2010ですか?

  • @user-qr2tv2cj8y
    @user-qr2tv2cj8y 3 года назад +2

    visual studio codeでは出来ませんか?

    • @mはげ
      @mはげ  3 года назад

      使用するライブラリをリンクさせればVisual Studio Codeでも出来ます。ただし書かなければいけないコードが増えます。Visual Studioではデザイナ画面でタイマーのツールを追加したりイベントを発生させると裏で自動的に多くのコードが生成されます(ファイルForm1.Designer.csなど)。Visual Studio Codeは単なるテキストエディタであり、Visual Studioのようにデザイナ画面での操作からコードを自動生成するような機能は(たぶん)ないため、自分で書く必要があります。

    • @user-qr2tv2cj8y
      @user-qr2tv2cj8y 3 года назад

      @@mはげ 教えていただきありがとうございます

  • @user-nukaaaa
    @user-nukaaaa 3 года назад

    Visual Studio 2019での名前の替え方が分かりません。

    • @mはげ
      @mはげ  3 года назад

      Windowのタイトルの名前でしょうか。今 Visual Studio 2019で開きましたが特に変わりありませんでした。ただプロパティ画面が表示されるまで時間がかかる場合があるようです。