toDoListをこなしながら部屋の模様替えが楽しめるPGM

<h1>toDoListをこなしながら部屋の模様替えが楽しめるPGM<h1>


toDoListを作成し、達成したタスクに応じてポイントを貯めて、そのポイントに応じて
自分自身のアバター装備や家具を市場・アイテムショップから購入し、楽しめる、PythonでのPGMを作成してみました

<hr>
gitHubURL:https://github.com/NanjoMiyako/toDoListWithImage
実行PGM:toDoListWithImage3.py

<hr>
実行画面例

![img1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412430/654c8cd8-48dd-c231-211e-4c273361e7bf.jpeg)

![img2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412430/f7c2598d-38a6-7a11-d44a-45ea970a66ae.jpeg)

![img3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412430/768320ef-4ab5-c51e-b7b1-9182251cbe84.jpeg)

![img4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412430/0402773e-4699-d349-1263-10028bbdd84c.jpeg)

![img5.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412430/5710514c-fc87-324f-93b4-ddb1d52fd71c.jpeg)


<hr>

使い方

当PGMのアイテムと家具のデータは予め市場用(/アイテム用)ディレクトリを用意しておき、
その場所のURLを指定してからジャンプして、そこからタスクをこなして獲得したポイントから
家具やアイテムを購入し、そこから、またポイントを利用して獲得したアイテムの家具や
アイテムを設置していくようになっています

<hr>

各ファイルの書式
各ファイルはCSVまたは=記号で区切られた文字列で保存しています。
各ファイルの値の意味は以下のようになっています.

MarketInfo.txt(家具購入用の市場情報ファイル):
(先頭の一行目のみ):Name,市場名
(それ以降):商品ID,商品名,対応する画像ファイル名,値段

AvatourItemShopInfo.txt(アバターアイテムショップの商品情報ファイル):
(先頭の一行目のみ):Name,ショップ名
(それ以降):商品ID,商品名,対応する画像ファイル名,値段

MyAvatour.txt(アバターの装備情報): アバターアイテム購入元のアバターショップのディレクトリパス, アバターショップ内での商品のID(int型),アバター内のアイテムのx位置,アバター内のアイテムのy位置,アバターアイテムのz位置(手前の時ほどzの値が大きいです),アバターアイテムの高さ,アバターアイテムの幅

MyRoomFaniture.txt(部屋内の家具情報):家具購入元の市場のディレクトリパス, 市場内での商品のID(int型),部屋内の家具のx位置,部屋内の家具のy位置,部屋内の家具のz位置(手前の時ほどzの値が大きいです)家具の高さ,家具の幅

MyHavingAvatourItem.txt(現在持っているアバターアイテムのリスト情報):アバターアイテム購入元のアバターショップのディレクトリパス, アバターショップ内での商品のID(int型)

MyHavingFaniture.txt(現在持っている家具のリスト情報):家具購入元の市場のディレクトリパス, 市場内での商品のID(int型)

TaskData.txt(タスク情報):タイトル,難易度,達成回数,リセット日時,リセット間隔(D,W,M,Y)

UserInfo.txt(ユーザー情報):=で区切られたPGM内での各変数の初期値

<hr>
作成に当たって参考にしたページ

<a href="https://suzutaka-programming.com/tkinter-listbox/#i-4">【Python GUIサンプル】TkinterでListbox(リストボックス)を使ってみる | エンジニアになりたいブログ</a>

<a href="https://www.pytry3g.com/entry/grid-widget">【tkinter】grid()を使ったWidgetの配置の方法 - どん底から這い上がるまでの記録</a>

<a href="https://python.keicode.com/advanced/tkinter-widget-listbox.php">Tkinter Listbox - Tkinter による GUI プログラミング - Python 入門</a>

<a href="Tkinter Listbox - Tkinter による GUI プログラミング - Python 入門">Tkinter grid ジオメトリマネージャ - Tkinter による GUI プログラミング - Python 入門</a>

<a href="https://www.shido.info/py/tkinter2.html">Tkinter 入門: 2. Widget を配置しよう</a>

<a href="https://www.delftstack.com/ja/howto/python-tkinter/how-to-get-the-input-from-tkinter-text-box/">Tkinter テキストボックスから入力を取得する方法 | Delft スタック</a>

<a href="https://pg-chain.com/python-messagebox">Pythonでメッセージボックスを表示する(tkinter.messagebox) | 鎖プログラム</a>

<a href="https://note.nkmk.me/python-split-rsplit-splitlines-re/">Pythonで文字列を分割（区切り文字、改行、正規表現、文字数） | note.nkmk.me</a>

<a href="https://note.nkmk.me/python-list-clear-pop-remove-del/">Pythonでリスト（配列）の要素を削除するclear, pop, remove, del | note.nkmk.me</a>

<a href="https://www.shido.info/py/tkinter6.html">Tkinter 入門: 6. Listbox を使ってお花を愛でましょう</a>

<a href="https://teratail.com/questions/221438">Python - Python GUI Tkinterにおけるリストボックスの取り扱い方について｜teratail</a>

<a href="https://tsukisuke.hateblo.jp/entry/2020/02/17/185706"><Python の Tkinter で 画像をリサイズして表示したりなど - つきすけ　の　コーディング記/a>

<a href="https://suzutaka-programming.com/tkinter-frame/">【Python GUIサンプル】Tkinter　ttk.Frameにreliefを指定して境界線を表示してみる | エンジニアになりたいブログ</a>

<a href="https://pg-chain.com/python-null">【Python】文字列が空白・NULLか判定する | 鎖プログラム</a>

<a href="https://www.it-swarm.dev/ja/python/tkinter-label%E3%82%A6%E3%82%A3%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88%E3%81%AE%E7%94%BB%E5%83%8F%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F/969116557/">python — Tkinter Labelウィジェットの画像を更新する方法は？</a>

<a href="https://stackoverflow.com/questions/6582387/image-resize-under-photoimage">python - Image resize under PhotoImage - Stack Overflow</a>

<a href="https://docs.python.org/ja/3/library/tkinter.ttk.html#treeview">tkinter.ttk --- Tk のテーマ付きウィジェット — Python 3.8.5 ドキュメント</a>

<a href="https://www.relief.jp/docs/python-date-yyyymmdd.html">Pythonで日付をYYYYMMDD形式の8桁で:Python</a>

<a href="https://note.nkmk.me/python-os-getcwd-chdir/">Pythonでカレントディレクトリを取得、変更（移動） | note.nkmk.me</a>

<a href="https://stackoverrun.com/ja/q/6244508">python - Tkinterでツリービュー全体をクリアする方法</a>

<a href="https://living-sun.com/ja/python/710875-adjust-height-of-a-row-in-tkinter-treeview-depending-on-wraped-strings-python-python-3x-tkinter-treeview.html">折り返し文字列に応じてTkinter Treeviewの行の高さを調整する - python、python-3.x、tkinter、treeview</a>

<a href="https://teratail.com/questions/171363">Python - Tkinterのラベルを削除したい｜teratail</a>

<a href="https://qiita.com/happyisland44/items/2f078c3164ccfcac561f">【Python】2次元配列を二番目の要素に注目して降順にソートする - Qiita</a>

<a href="https://python.keicode.com/advanced/tkinter-widget-scrollbar.php">Tkinter Scrollbar と Listbox - Tkinter による GUI プログラミング - Python 入門</a>