0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonを用いて自作した人対人のリバーシ対戦ゲームを、python用のWEBフレームワークBottleを用いてlocalhostに表示した(ChatGPTの助けをかりて)

Last updated at Posted at 2025-01-09

 前回、Pythonを用いて、人対人のリバーシ対戦ゲームをつくった( https://qiita.com/tkoji3744/items/08b71054dfba4f93f2c4 )。
 さらに、python用のWEBフレームワークFlaskをつかって、Pythonファイル(俳句SNS)をPythonanywhereにデプロイした(Flaskのファイルも既存でつくられていた)
https://qiita.com/tkoji3744/items/2f605cef3348d650f7dd )

 今回、自作した人対人のリバーシ対戦ゲームを、自作のpython用のWEBフレームワークBottleを用いてlocalhostに表示した。

リバーシbottle.png

「いちばんやさしいpython教本」(鈴木たかのり、インプレス)を参考にbottleでWEB表示してみた。

ディレクトリ構造例
プロジェクトフォルダは以下:

(Project) reversimmweb/
├── reversimm.py
├── reversimmweb.py
├── views/
│ └── index.tpl
├── static/
│ ├── app.js
│ └── style.css

  

 プロンプト(またはVSC)でpython reversimmweb.py → http://localhost:8080 (httpSでない)でうまく表示できたのが上記である。

 Bottleは、ルーチング、テンプレートができるが、データベータアクセス、セキュリティ機能(ユーザー管理など)ができない。その分、シンプルな構造で(ぼくのような)初心者でもわかりやすい。
 既にリバーシ(人対人)のpythonスクリプトがあるので、それをChatGPTに提示し、いろいろ対話しながら作っていった。
 途中、pycache フォルダはPythonの仕様上作成されるもので、そのままにしておいても問題ないという、(ぼくとしては)新しい知識が得られた。
 ただ、今回、図形描写には、PythonのTkinkerはつかわずapp.js(JavaScript)やstyle.css(スタイルシート)がつかわれたので、できあがったものには、最初のリバーシ(人対人)のpythonスクリプトの痕跡はほとんどなくなってしまった。
 作業そのもは、大きな問題もなく、2時間くらいで上記のものが完成したが、まさに独力ではありえない達成だった。

 とはいえ、localhostに表示した(多くの書籍はここまでで説明はおわりである)後、このpython WEB アプリケーションをデプロイするのは、(あまりそう書かれてないが)かなり困難である(pythonの動くレンタルサーバーは多くないしその使い方はまた勉強いる、pythonanywhereでさえ、実はデプロイが実現しているのものが多くない)。
 多くのpythonコードがJavaScriptで書き換えられているところからすると、最初からJavaScriptでつくったほうが今回のような単純なプロジェクトのデプロイにはあっていると思える。
 ただ、もっと大がかりなプロジェクトについてはまた別の話ではあろうが。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?