2048というゲーム | やまだの「死ぬまでにゲームをつくりたい!!」

2048というゲーム

前回の記事はこうでした。

 

そういえば、パズル自体は以下なんですよね。。。

 

もち、実装は自力でしましたが。(「神兵の武器庫」の仕様を参考に作成

最近そういうカテゴリがあることを知りました。。。

 

せっかくなので歴史を調べました。

Threes → 2048 → 2048の亜種などが大量発生(ここまで2014年)

 → 神兵の武器庫(2022年1月前後) → いまここ(2022年2月)

 

2048が放棄されているとはいえ、見た目の差異はいれとくといいか。

あとコードもOPEN化するか。もともとどこかに置きたい話だったし。

を、今回記載しています。m(_ _)m

 

  色変えプログラム@Python

 

本アイコンに差し替えるはしようかな。。資料の整理だし。

 

青色統一の画面は崩したくないので、うすーい青から、濃い青までの色にして、

1 - 12 まで作って、12以上は同じ色にしようかな。

 

赤い本をベースに、青系の色の本を作りたい。

以下はプログラムの結果。

上記の結果だと青の区別がほとんどできないので、

最終的には3種類の形と色4種にしました。

更新かけてそのうちふりーむに反映される予定。

 

Pythonプログラムはこんな感じ。

13ー23行目のとおり、画素いじるだけですけどね・・・。

まあ、それが結構苦戦したのです。。。


 

<=== ここからは言い訳 ===>

 

imreadによって、1画素がBGRと透過度の4要素で、

1ピクセルが配列として構成されているのはわかっているけど、

それらの値をどうやって参照したり更新したりしてよいかわからず。

(C言語ならかけるけど、Pythonがよくわからない話)

 

numbaのコードが参考にできましたのでそれを使いました。

(自分のコードの)Vという変数がnumbaの良さを殺しているようですが、

画像も小さいし一度動けばよいので速度は気にせず良しとしています。

 

プログラムはIF文があるとそこで判断しないといけないので、

不確定な要素があると遅いと。そういうことかなと。

Recompile()みたいな手段があるらしいですが、検索しても良くわからず。

 

それでも、numbaの有無で速度が劇的に変わることを確認したので採用してます。

質問掲示板、ありがとう!!

 

こうなると俄然 Pythonを使い続けるべきなのか?という気も。

 

結局、PNGなどから(ヘッダとかの解釈さぼって)画素を得て

配列をガチャガチャしたいだけ。

WSLもあるし、画素いじりはほかの手段を考えようかな。

Python詳しい人周りにいないし知識が得難いので。。。

 

  GitHubを使いはじめる

以下にて公開中。

 

最初版。(こちらのコード

 

ふりーむ版のコードも上げたいと思っていますが、

画像とか音楽が再配布になるので、それを取り除いてアップしたいと思ってます。

 

本は取得してもらってPYTHONでコンバートしてーにする。

 

こっちは、キャラはオリジナルなので多分影だけ。あの子はこちらのオリジナル要素なので。

音楽はDLすればそのまま組み込めます、壁紙はリンクあるのでリネームして使ってーという感じで。

 

リソースが無くても動けるようにはします。(NULLで死なない)

そこまでできたらアップロードする。

 

<=== ここからは言い訳 ===>

 

GitHub絶賛勉強中。全然わからず。触り始めたの最近で。

まあ、ぼちぼち慣れていこう。