【現状報告】星間戦争制作状況8・やっぱ難易度って必要かな・

投稿者:Material 185033 3 mini 光楼(114) 投稿日:2014/04/27 16:31

だんだんと暑くなってきましたね、みなさんはいかがお過ごしでしょうか?

僕は昨日、Minecraft PEで友達とマルチプレイを楽しんでました。

まさか同じWi-Fiに繋ぐだけでいいとは……

それにしても楽しいですね、マルチ。

それでは、今日も報告をいたしマッソ。



今回は難易度を実装?してみました。

ゲーム内での変更はまだ出来まっせん。

それでは、詳しく見てみまショータイム。

  • 種類
難易度はイージー(簡単)・ノーマル(普通)・ハード(難しい)の3つがあるでごじゃる。

  • 反撃
難易度によって反撃するかどうかが分かれマッシュルーム。
イージーでは、攻撃されたら攻撃範囲に関係なく反撃出来ます。
ノーマル以上では、攻撃範囲に敵がいる場合のみ反撃出来〼。

血波に、反撃時のダメージは通常の1/3になりましたんこぶ。

3倍じゃありませんよ? 3分の1ですよーいどん。

  • クリア条件
難易度によってクリア条件が変わりますます。
イージー・ノーマルでは星を全て自国の物にすればクリアですぅ。
ハードでは、星を全て自国の物にし、なおかつマップ上に敵がいない状態、つまりアドバンテージが100%になればクリアとなるでござんす。

  • ゲームオーバー条件
難易度によってゲームオーバーになる条件が変わりマウス。
イージー・ノーマルでは星が全て敵のものになってしまうとゲームオーバーとなりんす。
ハードでは、星が全て敵のものになり、なおかつマップ上に自軍のユニットがいない場合にゲームオーバになりやす。

書くことがこれしか無いのでスクリプトについて話します……

このゲームでは、マスの情報はこのような形で保存されています。
masu_date[マス番号] = "U|B|2|B|0|1|100|100|25|0|1|10|10"

ちなみに二次元配列ではありません。

何故かと言うと、オンラインを実装する時に簡単にデータを受け渡し出来るようにするためです。(もしかしてアレ二次元配列にできた?)

そしてマス番号から座標を求めるやり方です。二次元配列ならもっと簡単に出来たのにぃぃ……
x = floor(マス番号 / 縦のマス数)
y = floor(マス番号 % 縦のマス数)


その逆、座標からマス番号を求めるやり方です。
mx = floor((X座標 - マップ表示位置X - 枠の関係でずらす座標X + (カメラ位置X/拡大率X))/マスサイズ*拡大率X)
my = floor((Y座標 - マップ表示位置Y - 枠の関係でずらす座標Y + (カメラ位置Y/拡大率Y))/マスサイズ*拡大率Y)
マス番号 = my + (mx * myh)


マップ表示位置はsetSpriteCameraOffset関数、カメラ位置はsetSpriteCameraPosition関数、拡大率はsetSpriteCameraScale関数を使っているために、計算式に入っています。

攻撃範囲はこんな感じ
getVariable("攻撃範囲")[攻撃範囲パターン]="-1|-1_1|1_-1|1_1|-1"

_で一つずつ区切って、さらに|で区切って求めてます(左がX、右がY)
移動範囲も同じです。

面倒ですね……

ややこしいですね……

次回:【現状報告】星間戦争制作状況9・細かい所をちょくちょくと・
前回:【現状報告】星間戦争制作状況7・פייַנט קאַמף・

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Material 180953 2 mini  レン(投稿日:2014/04/28 21:12, 履歴)
ダジャレが…。

これはこれで私には無理だ…。
スクリプト重視にしなくてよかったかも。

お互いガンバです!
Material 185033 3 mini 光楼(114)(投稿日:2014/04/29 10:10, 履歴)
>お互いガンバです!
頑張りましょう!
User icon mini 退会したユーザー(投稿日:2014/04/27 20:59, 履歴)
ダジャレ酷いですねww
若年寄なのかしら。

>もしかしてアレ二次元配列にできた?
詳しくないけど、直にはできないですよね。
可能なのは文字列の受け渡しだから、いちいち変換すれば不可能ではないのかな?
なんか限定ジャンケンのオンライン対戦ゲームで色々やったけどよく覚えてない……。

ではでは、お互い制作頑張りましょう。
Material 185033 3 mini 光楼(114)(投稿日:2014/04/27 21:23, 履歴)
>詳しくないけど、直にはできないですよね。
ふぅ、良かった(出来たら今までの苦労が……)

>お互い制作頑張りましょう。
頑張りましょう!
    mini は~げん(投稿日:2014/04/27 17:07, 履歴)
コメント失礼します、は~げんです。

シュミレーションですね。作れるというのがうらやましいです。語尾に関しては突っ込みません。絶対突っ込みません。

体に気を付けて、ゲーム制作頑張ってください。
Material 185033 3 mini 光楼(114)(投稿日:2014/04/27 19:03, 履歴)
>シュミレーションですね。作れるというのがうらやましいです。
1年位ゲーム作りまくれば、作れるようにはなると思いますよ。

>体に気を付けて、ゲーム制作頑張ってください。
頑張ります~
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2014/04/27 16:55, 履歴)
マイクラ羨ましいな・・・。

ゲームオーバー条件で、イージー・ノーマルより、ハードのほうが易しい気が。

オンラインですか。
難しそうですが、頑張って下さい。
Material 185033 3 mini 光楼(114)(投稿日:2014/04/27 19:00, 履歴)
>ゲームオーバー条件で、イージー・ノーマルより、ハードのほうが易しい気が。
敵も星が取られても、ユニットが動かせるので微妙なところです……

>難しそうですが、頑張って下さい。
頑張ります~