【現状報告】星間戦争制作状況8・やっぱ難易度って必要かな・
投稿者: 光楼(114) 投稿日:2014/04/27 16:31
だんだんと暑くなってきましたね、みなさんはいかがお過ごしでしょうか?
僕は昨日、Minecraft PEで友達とマルチプレイを楽しんでました。
まさか同じWi-Fiに繋ぐだけでいいとは……
それにしても楽しいですね、マルチ。
それでは、今日も報告をいたしマッソ。
今回は難易度を実装?してみました。
ゲーム内での変更はまだ出来まっせん。
それでは、詳しく見てみまショータイム。
イージーでは、攻撃されたら攻撃範囲に関係なく反撃出来ます。
ノーマル以上では、攻撃範囲に敵がいる場合のみ反撃出来〼。
血波に、反撃時のダメージは通常の1/3になりましたんこぶ。
3倍じゃありませんよ? 3分の1ですよーいどん。
イージー・ノーマルでは星を全て自国の物にすればクリアですぅ。
ハードでは、星を全て自国の物にし、なおかつマップ上に敵がいない状態、つまりアドバンテージが100%になればクリアとなるでござんす。
イージー・ノーマルでは星が全て敵のものになってしまうとゲームオーバーとなりんす。
ハードでは、星が全て敵のものになり、なおかつマップ上に自軍のユニットがいない場合にゲームオーバになりやす。
書くことがこれしか無いのでスクリプトについて話します……
このゲームでは、マスの情報はこのような形で保存されています。
ちなみに二次元配列ではありません。
何故かと言うと、オンラインを実装する時に簡単にデータを受け渡し出来るようにするためです。(もしかしてアレ二次元配列にできた?)
そしてマス番号から座標を求めるやり方です。二次元配列ならもっと簡単に出来たのにぃぃ……
その逆、座標からマス番号を求めるやり方です。
マップ表示位置はsetSpriteCameraOffset関数、カメラ位置はsetSpriteCameraPosition関数、拡大率はsetSpriteCameraScale関数を使っているために、計算式に入っています。
攻撃範囲はこんな感じ
_で一つずつ区切って、さらに|で区切って求めてます(左がX、右がY)
移動範囲も同じです。
面倒ですね……
ややこしいですね……
次回:【現状報告】星間戦争制作状況9・細かい所をちょくちょくと・
前回:【現状報告】星間戦争制作状況7・פייַנט קאַמף・
ツイート
僕は昨日、Minecraft PEで友達とマルチプレイを楽しんでました。
まさか同じWi-Fiに繋ぐだけでいいとは……
それにしても楽しいですね、マルチ。
それでは、今日も報告をいたしマッソ。
今回は難易度を実装?してみました。
ゲーム内での変更はまだ出来まっせん。
それでは、詳しく見てみまショータイム。
- 種類
- 反撃
イージーでは、攻撃されたら攻撃範囲に関係なく反撃出来ます。
ノーマル以上では、攻撃範囲に敵がいる場合のみ反撃出来〼。
血波に、反撃時のダメージは通常の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・פייַנט קאַמף・
コメントする
コメントするには、ログインする必要があります。
コメント一覧
池ちゃん(翡翠ヶ池)(投稿日:2014/04/27 16:55,
履歴)
マイクラ羨ましいな・・・。
ゲームオーバー条件で、イージー・ノーマルより、ハードのほうが易しい気が。
オンラインですか。
難しそうですが、頑張って下さい。
ゲームオーバー条件で、イージー・ノーマルより、ハードのほうが易しい気が。
オンラインですか。
難しそうですが、頑張って下さい。
これはこれで私には無理だ…。
スクリプト重視にしなくてよかったかも。
お互いガンバです!
頑張りましょう!