CDW 各国のダイス表示


2021年 9月 15日
 
 
 各国の戦力ダイス表示を作る。


 
 

1、中点を算出する

 まずもって各国の表示の中心点を算出する。

 白がマップ生成時の最初の点、赤ダイスが国の中心点座標。

 求め方は案外簡単で、その国の全 HEXの x座標と y座標を足して、その HEX数で割ってやれば良い。

 例えば、その国の HEX数が 10個だったとして、10個の HEXの X座標を全部足して 10で割ってやれば x座標の中点座標になる。

 最後の if lcy(ldn)<40 : lcy(ldn)=40は、最上部のサイコロ表示が切れないように下げてる。
 
 
 
2、ダイス表示の順番を算出する

 上部のダイス表示から順に下部のダイス表示をしていかないと、陰になって分からなくなる。

 各国のダイス表示の順番を算出しないといけない。

 マップ HEXのデータを 0から(上から)国がないか調べて、その順に表示順を登録している。

 下のダイス表示が手前(後から表示)になってるのが分かると思う。
 
 
 
3、ダイスの目を白抜きする

 ダイス表示の際、ダイスの目の部分を白表示する。

 ダイスは各プレイヤーの色で塗られているので、ダイスの画像の目の部分も同じように変わってしまう。

 元の画像

 gmulcolorで色を変えてる。

 目の部分をどうするか、PNG画像で目の部分を透明抜きにし、背景に白画像を張れば良い。


 
 
 表示

 dc28whwは上の白い四角の画像、dc28wはその上の 12個のサイコロ画像

 つまり始めに白の四角い画像を張って、その上にサイコロの画像を張ってる、目の部分は透明。
 
 
 ちなみに、この 12個のサイコロ画像について、本当は一つの目について 4面 4パターンの画像があるはずなんだけど、めんどくさいので、とりあえず各目が表示される 2パターンづつにしてる。

 パターンは見栄えが良いと思われる組み合わせにし、実際のサイコロを見ながら決めてる。

 もし緻密にダイスの表示をシミュレートするならば、全 24パターン用意しなければいけないと思う。
 
 
 
4、戦力ダイス表示の列補正

 16個 4列になってるけど、元は 8個 2列。

 変則ルールで最大 16個ダイスのようなものを考えてるけど、ゲームバランス的に良くないなら最大 8個 2列にする。

 とにかくも中心点座標を元にダイスの数により座標補正がかかる。

 dpx、dpyの使用は上記のソースの「国のダイス表示」のサイコロ表示の場所で使われてる。

 4個づつ、1列、2列、3列、4列の場合の座標補正データになってる。

コメントを残す

メールアドレスが公開されることはありません。