Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
NEW
Game Dev

/

Game Programming

[Pythonゲーム開発] 初心者でも作れるマインスイーパー作り

私たちの学生時代、コンピューター室で聞こえていた「カチッ」という音…それはまさにマインスイーパーでした。 今回の講義では、その思い出をPythonで再実装します。 初心者も、さらにはPythonを初めて触る方も一行ずつ付いてくれば いつの間にか皆さんだけのマインスイーパーゲームが完成していることでしょう。

  • sskcoach
실습 중심
왕초보
파이썬
Python
Pygame
2d-games
pygame-gui
game-programming

学習した受講者のレビュー

こんなことが学べます

  • pygameを活用した2Dゲーム制作基礎

  • 地雷探しゲームロジック設計と実装方法

  • イベント処理(マウスクリック、キーボード入力)と画面描画

  • クラスと関数によるコード構造化およびリファクタリング技法

初心者でもOK!Pythonで作るマインスイーパーゲーム

この講義では、Pythonの基礎文法から始めて、実際に動作するマインスイーパーゲームを一つずつ作っていきます。

ゲーム開発初心者、プログラミング初心者、または趣味でコーディングを始めようとする方々がゲームロジック設計を簡単に体験できるように構成されています。

  • 講義全体を通してゲームボード生成地雷配置周辺数字計算フラグ/オープン動作実装ゲーム勝敗判定まで段階的に進めていきます。


  • 講師個人としても「コーディングは直接作ってみてこそ面白い」という信念のもと、初心者でも最初のプロジェクトを完成できるよう構成しました。




必要不可欠な画面のみを扱い、受講生の学習負担を軽減しました。

ゲーム画面1

ゲーム画面2

ゲームクリア画面

ゲームオーバー画面

  • 講義を受講すると、Pythonの基礎文法と2次元配列処理、イベント駆動プログラミング、簡単なゲーム制作方法を理解し、直接実装できるようになります。


  • 受講生は講義後に自分だけのゲームロジック修正、デザイン変更、難易度調整などのカスタマイズが可能になります。


学習内容

セクション1 – 基本環境設定とボード制作

マインスイーパー開発の第一歩を踏み出します。
pygameのインストールから初期実行コード作成まで、開発環境をセットアップしてコンソールと画面にゲーム盤の枠組みを描いてみます。
このセクションを終えるとゲームの基本骨格が準備されます。

セクション2 – 初期構造整理と地雷配置

ゲーム盤に地雷を配置するコアロジックを実装します。
最初は手動で配置してテストを進行し、その後ランダム地雷配置に拡張します。
また、各マスの数字がどのように決定されるかの計算ロジックを学習します。

セクション3 – オブジェクト指向設計とクリック動作

ゲーム盤をBoardクラス形式で構造化し、コードの可読性と再利用性を向上させます。
マウスクリック座標を配列座標に変換する方法と、左クリック・右クリックに応じてマスを開いたりフラグを表示したりする動作を実装します。

セクション4 – 高度なロジック実装

マインスイーパーの魅力を活かす高級機能を追加します。
空きマスを一度に開くFlood Fillアルゴリズムを適用し、コードの重複除去と可読性を高めるリファクタリングを進めます。
効率的な例外処理とゲーム盤設定機能もこの段階で扱います。

セクション5 – 勝敗処理と追加機能

ゲームオーバーと勝利条件を実装してゲームの完成度を高めます。
一度に複数のマスを開くCHORDING機能、ゲーム再開機能、そして絵文字フォントを利用したUI装飾まで進めます。
このセクションを終えると完成したマインスイーパーゲームをプレイできます。

受講前の参考事項

  • 開発環境の準備が必要です。
    Python 3.xバージョンとpygameのインストールが可能である必要があり、Windows、macOS、Linuxのいずれかの環境で実習することができます。

  • GUI(グラフィカルユーザーインターフェース)プログラミングは扱いません。
    今回の講義はpygameライブラリを活用しますが、ボタンやメニューなどのGUIウィジェットを作成する過程は含まれません。ゲーム盤とグラフィック出力、マウスイベント処理に集中します。


  • ゲームロジック実装中心の講義です。
    単純にコードを真似して打つのではなく、マインスイーパーゲームの動作原理とアルゴリズムを理解し、直接実装する過程を目標とします。

  • 受講中についていくのが難しい場合
    プログラミングの基礎が不足してついていくのが困難だと感じられる場合は、下記講義の基礎セクションを参考してください。
    基礎は無料で受講できます。
    https://inf.run/bF2ta


    本講義を受講される方のために割引クーポンを発行いたします。有料受講される方は次のリンクをご活用ください。(スペースインベーダー割引クーポン

Python, Pygame, 2d-games, pygame-gui, game-programming

実習環境

  • オペレーティングシステム(OS)
    講義ではmacOS環境で実習を行いましたが、WindowsおよびLinux(Ubuntuを含む)環境でも同様に実装することができます。
    OSバージョンに大きな制限はありませんが、Python 3.8以上がインストール可能な環境を推奨します。

  • 使用ツール

    • Python 3.x (3.8以上推奨)

    • pygameライブラリ(最新安定版)

    • コードエディター:PyCharm(推奨)、Visual Studio Code等が利用可能

    • 全て無料です。

  • PC仕様

    • CPU: デュアルコア以上(i3、Ryzen 3以上推奨)

    • メモリ:4GB以上

    • ディスク:2GB以上の空き容量


学習資料

  • 提供形式

    • 講義サンプルソースコード全体(GitHubリポジトリを通じて提供)


  • 特徴と注意事項

    • 講義の進行段階ごとにコードをコミットしているため、各セクションごとに動画に合ったコードを確認することができます。

    • GitHubリンクは講座受講生にのみ提供され、自由にダウンロードして修正・実習が可能です。


前提知識および注意事項

  • 必須の前提知識

    • 特別な事前知識は必要ありませんが、プログラミングに慣れていない

      場合によっては受講中についていくのが難しい可能性があるため、下記講義の基礎セクションを参考にすることをお勧めします。(公開セクション)
      https://inf.run/bF2ta

  • 映像品質

    • 講義動画は画面の文字とコードがはっきりと見えるように編集されました。

    • 推奨視聴環境はPCまたはタブレットで、小さな画面(スマートフォン)では一部のコードの可読性が低下する場合があります。

  • 推奨学習方法

    • 講義を見ながらすぐにコードを作成して実行してみることをお勧めします。

    • 講義の各段階別コードはGitHubリポジトリで確認できますので、必要な場合はご活用ください。

  • 質問/回答およびアップデート

    • 受講中に疑問点がございましたら、講義Q&A掲示板にご投稿いただければ、確認後にご回答いたします。

    • バグ修正や機能改善が必要な場合、講義内容とコードを更新する予定です。

  • 著作権のご案内

    • 講義動画、サンプルコード、学習資料のすべての著作権は講師にあります。

    • 複製、再配布、二次加工も可能ですが、必ず出典を残してください。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • プログラミングを初めて始める完全初心者

  • ゲーム開発に興味のある入門者

  • Pythonを楽しく学びたい方

  • ゲーム制作の基礎知識が気になる方

こんにちは
です。

592

受講生

20

受講レビュー

15

回答

4.8

講座評価

3

講座

Hi, I’m sskcoach — a passionate developer who loves bringing ideas to life through code.

カリキュラム

全体

24件 ∙ (3時間 9分)

講座資料(こうぎしりょう):

講座掲載日: 
最終更新日: 

受講レビュー

全体

2件

5.0

2件の受講レビュー

  • aceoftop1975님의 프로필 이미지
    aceoftop1975

    受講レビュー 94

    平均評価 5.0

    5

    100% 受講後に作成

    (25/08/30/Sat 19:52) I couldn't understand the development just by looking at the game, but after taking the lecture, I understood a lot. I prefer lectures that are under 5 hours.^^;; Thank you for creating such a good lecture.

    • sskcoach
      知識共有者

      Hello sunny75. I'm proud to hear that you understood the game. I had a lot of concerns about fitting it into about 3 hours when creating the lecture, but it was worth adjusting the time. Thank you so much for the generous evaluation. Happy coding.

期間限定セール

¥4

42%

¥1,172

sskcoachの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!