We may earn an affiliate commission when you visit our partners.
taku - www.takux.one

本コースではPythonを使って「リバーシブルゲーム」を作ります。

ロジックPythonシリーズの第二弾となります。

対象者:Python中級者を目指したい方

*全くの初心者には少し難しい内容だと思います。Pythonの基礎として、if、for、関数、簡単なクラスを理解した後、受講をご検討いただけますと幸いです。

コースについて

  • ロジカルにプログラムを組んでいくことを目的としています。

  • GUIを使ったゲーム開発などは行いません。

  • (基本的に)Python構文、標準ライブラリのみで実装します。

  • ロジックを構築する際の設計の考え方などをご覧いただけます。

  • 中級者を目指す方のいい練習台になることを期待しています。

どうぞよろしくお願いいたします。

Enroll now

What's inside

Learning objectives

  • Pythonプログラミングのロジック
  • コーディング前の要件洗い出しや設計の考え方
  • Pythonプログラミング基礎(if,for,while,def,class)
  • Google colaboratoryを使ったプログラミング

Syllabus

イントロ
コースの事前確認項目
コース概要と対象者
コース構成と進め方
Read more
*環境準備&参考情報
プログラム全体設計
シミュレーション
必要な機能の洗い出し
用語・命名・その他ガイド
コーディング 関数編
セルとボード
create_board (1)
create_board (2)
create_board (3)
定数
display_board
周囲のセル
get_surrounding_cells (1)
get_surrounding_cells (2)
get_surrounding_cells (3)
反転可能なセル
get_directions
get_reversiable_cells_in_one_dir (1)
get_reversiable_cells_in_one_dir (2)
get_reversiable_cells_in_one_dir (3)
get_reversiable_cells_in_one_dir (4)
get_reversiable_cells_in_one_dir (5)
反転可能なセル - 関数の整理
get_reversible_cells
gm (game_manager)
ボード・リフレッシュ
refresh_board (1)
refresh_board (2)
manual_selection
automatic_selection
create_game_manager(gm改良)
play_game (1)
play_game (2)
play_game (3)
manual_selection (修正)
play_game (4)
play_game (5)
play_game (6)
デモ
コーディング クラス編
本セクションについて
関数をクラスに
クラスコーディングの準備
Player
Cell
Direction
Board (1)
Board (2)
GameManager (1)
GameManager (2)
GameManager (3)
GameManager (4)
GameManager (5)
GameManager (6)
GameManager (7)
GameManager (8)
ボーナスセクション
ボーナスコンテンツ

Save this course

Save ロジックPython - リバーシブルゲーム | Python中級者を目指すプログラミング練習コース to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in ロジックPython - リバーシブルゲーム | Python中級者を目指すプログラミング練習コース with these activities:
Pythonの基礎を復習する
コースで必要なPythonの基礎知識を復習し、スムーズな学習を支援します。
Browse courses on Python
Show steps
  • Pythonの基礎的な文法(if、for、関数、クラス)に関する教材を見直す。
  • 簡単なコードを書いて、文法の理解度を確認する。
  • 必要に応じて、オンラインのチュートリアルやドキュメントを参照する。
Pythonスタートブックを読んでみる
Pythonの基礎を固め、コースで扱うクラスやオブジェクト指向プログラミングの理解を深めます。
Show steps
  • Pythonスタートブックを入手する。
  • 本の目次を確認し、興味のある章から読み始める。
  • サンプルコードを実際に実行し、動作を確認する。
リバーシブルゲームのロジックについて議論する
他の受講生と協力して、リバーシブルゲームのロジックを理解し、コーディングのアイデアを共有します。
Show steps
  • 他の受講生とグループを作る。
  • リバーシブルゲームのルールとロジックを説明し合う。
  • コーディングに関する疑問点や課題を共有し、解決策を議論する。
Four other activities
Expand to see all activities and additional details
Show all seven activities
Pythonでのリスト操作の練習
リスト操作はゲームロジックの実装に不可欠です。反転可能なセルを特定する際にリスト操作の知識が役立ちます。
Show steps
  • オンラインのPython練習サイトでリスト操作の問題を解く。
  • リストの作成、要素の追加、削除、検索などの操作を練習する。
  • 複雑なリスト操作の問題に挑戦する。
リバーシブルゲームのAIプレイヤーを作成する
コースで作成したリバーシブルゲームにAIプレイヤーを追加し、より高度なプログラミングスキルを習得します。
Show steps
  • AIプレイヤーのアルゴリズム(ミニマックス法など)を調査する。
  • AIプレイヤーのコードを実装する。
  • AIプレイヤーの強さを調整する。
  • AIプレイヤーと対戦し、動作を確認する。
リバーシブルゲームの解説記事を作成する
リバーシブルゲームのルール、ロジック、コーディングについて解説記事を作成し、理解を深めます。
Show steps
  • リバーシブルゲームのルールとロジックを整理する。
  • コーディングのポイントや注意点をまとめる。
  • 記事を執筆し、図やコード例を挿入する。
  • 記事を公開し、フィードバックを収集する。
Pythonデザインパターンを読んでみる
オブジェクト指向プログラミングの設計原則を理解し、より洗練されたコードを書けるようにします。
Show steps
  • Pythonデザインパターンを入手する。
  • 本の目次を確認し、興味のあるデザインパターンから読み始める。
  • サンプルコードを実際に実行し、動作を確認する。

Career center

Learners who complete ロジックPython - リバーシブルゲーム | Python中級者を目指すプログラミング練習コース will develop knowledge and skills that may be useful to these careers:
ゲームプログラマー
ゲームプログラマーは、ゲームの設計に基づいて、実際に動作するプログラムを開発する仕事です。このコースでは、Pythonを使ってリバーシブルゲームを作成するため、ゲームプログラマーに必要なプログラミングスキルとロジック構築能力を養うことができます。特に、このコースで扱うようなロジックを構築する際の設計の考え方は、ゲームプログラマーとして活躍するために非常に役立ちます。ゲームプログラマーを目指す方は、このコースを通して実践的なスキルを身につけ、ゲーム開発の基礎を固めることをお勧めします。
ソフトウェア開発者
ソフトウェア開発者は、顧客のニーズに応じたソフトウェアを開発する仕事です。このコースは、Pythonによるリバーシブルゲームの開発を通して、ソフトウェア開発に必要なプログラミングの基礎と応用力を高めるのに役立ちます。特に、ロジカルにプログラムを組んでいくことを目的としているため、ソフトウェア開発において重要な問題解決能力やアルゴリズムの設計能力が向上します。ソフトウェア開発者を目指す方は、このコースを受講することで、実践的な開発スキルを習得し、現場で即戦力として活躍できる基盤を築くことができます。
バックエンドエンジニア
バックエンドエンジニアは、ウェブアプリケーションやシステムのサーバーサイドを開発する仕事です。このコースでは、Pythonを使用してリバーシブルゲームのロジックを構築するため、バックエンド開発に必要なプログラミングスキルを習得できます。特に、ロジカルにプログラムを組んでいくことを目的としているため、効率的なアルゴリズムの設計やデータベースとの連携など、バックエンド開発において重要なスキルを磨くことができます。バックエンドエンジニアを目指す方は、このコースを通して、実践的な開発スキルを習得しサーバーサイドのプロフェッショナルとして成長するための基盤を築くことができます。
アプリケーション開発者
アプリケーション開発者は、スマートフォンやタブレットなどのモバイルデバイス上で動作するアプリケーションを開発する仕事です。このコースでは、Pythonを使用してリバーシブルゲームを作成するため、アプリケーション開発に必要なプログラミングスキルを習得できます。特に、GUIを使わないゲーム開発に焦点を当てているため、バックエンドのロジック構築に集中でき、アプリケーションの基盤となる部分をしっかりと理解することができます。アプリケーション開発者を目指す方は、このコースを通して、実践的なプログラミングスキルと問題解決能力を磨き、より高度なアプリケーション開発に挑戦するための基礎を築くことができます。
フルスタックエンジニア
フルスタックエンジニアは、フロントエンドからバックエンドまで、ウェブアプリケーション全体の開発を担当する仕事です。このコースは、GUIを使わないリバーシブルゲームのロジックをPythonで構築することで、バックエンドの基礎を固めつつ、フロントエンドとの連携を意識した設計の考え方を学ぶことができます。特に、ロジカルにプログラムを組む経験は、フルスタックエンジニアとして幅広い領域で活躍するために不可欠です。フルスタックエンジニアを目指す方は、このコースを通して、ウェブアプリケーション開発に必要な幅広い知識とスキルをバランス良く習得することができます。
組み込みシステムエンジニア
組み込みシステムエンジニアは、家電製品や産業機器などの組み込みシステムを開発する仕事です。このコースでは、Pythonを使ってリバーシブルゲームを作成するため、組み込みシステム開発に必要なプログラミングの基礎を学ぶことができます。特に、ロジカルにプログラムを組んでいくことを目的としているため、限られたリソースの中で効率的にプログラムを動作させるためのスキルを習得できます。組み込みシステムエンジニアを目指す方は、このコースを受講することで、実践的なプログラミングスキルと問題解決能力を身につけ、組み込みシステム開発の分野で活躍するための基礎を築くことができます。
フロントエンドエンジニア
フロントエンドエンジニアは、ウェブサイトやウェブアプリケーションのユーザーインターフェースを開発する仕事です。このコースでは直接GUIを使った開発は行いませんが、Pythonでのロジック構築を通じて、フロントエンドで必要となるデータ処理や状態管理の基礎を学ぶことができます。特に、ゲームのロジックをPythonで実装することで、ユーザーのインタラクションに応じた動的なUIを構築するための考え方を養うことができます。フロントエンドエンジニアを目指す方は、このコースを通して、バックエンドの知識も身につけ、より包括的な視点からウェブ開発に取り組むことができるようになります。
品質保証エンジニア
品質保証エンジニアは、ソフトウェアやシステムの品質を保証するために、テスト戦略の策定やテストの実施、バグの追跡などを行う仕事です。このコースでは、Pythonを使ってリバーシブルゲームを作成するため、品質保証に必要なプログラミングの基礎を学ぶことができます。特に、ロジカルにプログラムを組んでいくことを目的としているため、テストケースの作成やバグの発見に役立つ論理的思考力を養うことができます。品質保証エンジニアを目指す方は、このコースを受講することで、実践的なプログラミングスキルとテストスキルを身につけ、品質保証の分野で活躍するための基礎を築くことができます。
データサイエンティスト
データサイエンティストは、大量のデータを分析し、ビジネス上の意思決定に役立つ知見を提供する仕事です。このコースでは、Pythonを使用してリバーシブルゲームを作成するため、データ分析に必要なプログラミングスキルを習得できます。特に、ゲームのロジックを構築する過程で、アルゴリズムの設計や最適化について学ぶことができ、データ分析の効率化に役立ちます。データサイエンティストを目指す方は、このコースを通して、実践的なプログラミングスキルを身につけ、データ分析の分野で活躍するための基礎を築くことができます。
機械学習エンジニア
機械学習エンジニアは、機械学習モデルの設計、開発、実装を担当する仕事です。このコースではPythonを用いてリバーシブルゲームを作成することで、プログラミングの基礎を固められます。特に、ロジックを構築する際の設計の考え方を学べる点が、機械学習におけるアルゴリズム設計に応用可能です。このコースは機械学習エンジニアとして必要なプログラミングスキルと問題解決能力を養う上で有益かもしれません。機械学習エンジニアを目指す方は、このコースを足がかりとして、より専門的な知識の習得を目指すと良いでしょう。
プロジェクトマネージャー
プロジェクトマネージャーは、プロジェクトの計画、実行、管理を行う仕事です。このコースではPythonを用いてリバーシブルゲームを作成する過程で、要件定義から設計、実装、テストまでの一連の流れを体験できます。特に、プログラム全体設計や必要な機能の洗い出しといった項目は、プロジェクトマネジメントにおけるスコープ定義やタスク管理に役立ちます。プロジェクトマネージャーを目指す方は、このコースを通して、ソフトウェア開発のプロセスを理解し、プロジェクトを成功に導くための基礎を築くことができます。
ITアーキテクト
ITアーキテクトは、企業のITシステム全体の設計を行う仕事です。このコースでは、Pythonを使ってリバーシブルゲームを作成するために、システム全体の設計や各コンポーネントの役割を考える練習ができます。特に、ロジカルにプログラムを組んでいくことを目的としているため、システムの複雑さを整理し、効率的なアーキテクチャを設計する能力を養うことができます。ITアーキテクトを目指す方は、このコースを受講することで、実践的な設計スキルを習得し、より大規模なシステム開発に挑戦するための基礎を築くことができます。ITアーキテクトは通常、修士号または博士号を取得していることが望ましいです。
テクニカルサポートエンジニア
テクニカルサポートエンジニアは、顧客からの技術的な問い合わせに対応し、問題解決を支援する仕事です。このコースでは、Pythonを使ってリバーシブルゲームを作成するため、プログラミングの基礎を学ぶことができます。特に、プログラムのロジックを理解することで、顧客が抱える問題の原因を特定しやすくなります。テクニカルサポートエンジニアは、技術的な知識だけでなく、顧客とのコミュニケーション能力も重要です。したがって, このコースでプログラミングの基礎を習得することは有益かもしれません。
サイバーセキュリティアナリスト
サイバーセキュリティアナリストは、企業や組織のITシステムをサイバー攻撃から保護する仕事です。このコースでは、Pythonを使ってリバーシブルゲームを作成する過程で、プログラミングの基礎知識や論理的思考力を養うことができます。サイバーセキュリティアナリストは、ネットワークやシステムの脆弱性を発見し、攻撃を防ぐための対策を講じる必要があります。そのため、プログラミングの知識は必ずしも必須ではありませんが、攻撃の手法や防御の仕組みを理解する上で役立ちます。サイバーセキュリティアナリストを目指す方は、このコースを通してITの基礎知識を習得し、セキュリティに関する専門的な知識を深めることをお勧めします。
ITコンサルタント
ITコンサルタントは、企業のIT戦略策定やシステム導入を支援する仕事です。このコースでは、Pythonを使用してリバーシブルゲームを作成する過程で、プログラミングの基礎知識や論理的思考力を養うことができます。ITコンサルタントは、クライアントの課題を理解し、最適なITソリューションを提案する必要があります。そのため、プログラミングの知識は必ずしも必須ではありませんが、システムの仕組みや開発プロセスを理解する上で役立ちます。ITコンサルタントを目指す方は、このコースを通してITの基礎知識を習得し、コンサルティングのスキルを磨くことをお勧めします。

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in ロジックPython - リバーシブルゲーム | Python中級者を目指すプログラミング練習コース.
この本はPythonの入門書として最適です。基本的な構文から、オブジェクト指向プログラミングまで、幅広くカバーしています。特に、このコースで重要なクラスの概念を理解するのに役立ちます。コースの予習として読むことで、よりスムーズに学習を進めることができます。
この本は、Pythonでのデザインパターンについて解説しています。オブジェクト指向プログラミングの設計原則を理解するのに役立ちます。特に、このコースで作成するゲームの設計を改善するのに役立ちます。コース終了後に読むことで、より高度なプログラミングスキルを習得することができます。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser