今日はプロスキルカードゲーム開発勉強の40日目です。バグはやっと何個解決できました。島津先生のカードゲームコースのスクリプト素材は最基本なので、バグあったのは普通です。今まで発見されたのは四つあります。

 

①自分の手札のカードは相手のフィールドに置ける。

対策:DropPlaceのスクリプトにpublic enum TYPE は HANDとFIELDだけじゃなく、自分と相手のHANDとFIELDをはっきり分けて、SELFHAND、SELFFIELD、ENEMYHAND とENEMYFIELDを追加すると、システムがちゃんとわかったので、自分のカードは相手のフィールドに置けなくなった。

 

②スペルカードで攻撃して、自分や相手のヒーローのHPが0になっても、勝利判定できない。

対策:CardControllerのスクリプトにUseSpellToの最後にgameManager.CheckHeroHP()を追加すると、通常攻撃だけではなく、スペルカードで攻撃しても、勝利判定できるようになった。

 

③マナコストが0や以下になっても、スペルカード出せる。

対策:SpellDropManagerのスクリプトに

if(!movement.isDraggable)

{

return;

}

を追加すると出せないスペルカードは確実に出せないようになった。

 

④両方とも手札のカードが使切れたのに、勝利判定できない。

対策:GameManagerとUIManagerの勝利判定スクリプトにHeroHp <= 0だけよりplayer.deck.Count == 0 && enemy.deck.Count == 0とplayerHeroHp < enemyHeroHpを追加すると、勝利判定できるようになった。

 

ゲーム開発は本当に面白かったです。全く知識ゼロからスタートできるので、誰でも、勉強したら、開発はできます。バグ発見、ロジック理解、対策考えるのも勉強すべきです。