質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1589閲覧

駒移動のをpygameで行う方法を教えてください!

teto727

総合スコア1

Pygame

Pygameは、ビデオゲームの製作用に設計されたクロスプラットフォームのPythonモジュールセットです。Pythonでコンピューターグラフィックスと音声を扱うためのライブラリが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/09/09 17:42

前提・実現したいこと

チェスや将棋のような
駒をクリック→マス目をクリック→駒をクリックしたマス目に移動
という流れをpygameにて実装したいです。

補足情報

event.type == MOUSEBUTTONDOWN:
でクリックを検知することはできるのですが
どの駒を動かすかのクリックとどこへ動かすかのクリックを連続で取得することができません。
(二回目のクリックの時には一回目のクリックで取得した情報が消えてしまう)
参考になるサイトや情報など教えて頂けると助かります!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stdio

2020/09/10 01:20

まず、コードを掲載して頂かないと答えようがありません。 後、ゲームなら、最低限ゲーム画面を見せて頂かないと、何がしたいのか一切分かりません。
teto727

2020/09/12 17:14

申し訳ありません。。。 pygameにおいてクリックした情報を保持する機能を実装する場合、一般的にどのようなものがあるかをお聞きしたかったので、具体的に作りたいゲームなどはなくコードもありませんでした。
guest

回答1

0

ベストアンサー

  • 辞書などを用意し、駒情報(移動可能区域など):駒の位置情報を格納する
  • 同様に盤面情報を用意する
  • 自身と相手プレイヤーの持ち駒情報を用意する
  • 駒をクリックした際に、今度は盤面を選択するイベントを設定
  • 盤面を選択したら、辞書内の対象の駒の位置情報及び盤面情報を更新
  • 相手の駒を取った場合のイベントを設定する
  • 交代制ルールの定義
  • 勝利条件/敗北条件の定義

駒の移動であればこんなところではないでしょうか?
参考になるコードの掲載がない場合にはこの程度のアドバイスしかできませんがご参考ください。

投稿2020/09/11 18:49

nto

総合スコア1438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teto727

2020/09/12 17:15

回答ありがとうございます! とても参考になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問