[Unity]UnityとC#を学ぶ問題:007

第一問

前回作成したコードのUpdate関数も見やすくまとめましょう。

ヒント

if ( xxx ) return;
で以降を読まなくて済むやりかたが良いです。by readable code

答え(のひとつ)

if()returnを多用するようにし、ブロックを使わないことで見やすくしています。

第二問

SnakeHeadのスクリプトを編集して次の仕様を追加してください。

仕様

  • Head,Body,Tailを関係なく、cube -> sphere -> cube -> sphere … と交互にでてくるように変更してください。
  • その際、色は赤、青、緑、赤、青…と3色が順に出るようにしてください。

ColorSnakeBoxAndSphere from s2kw on Vimeo.

Ad

答え

解説

2回で1巡するパターンと、3回で一巡するパターンを混ぜてみました。
四角と球体の交互に出現しつつ、色は赤、青、緑というパターンです。

それぞれを別ものとして捉え、各個撃破すればわかりやすくなるかと思います。

また、パターンは頭であるか尻尾であるかは関係なくなるのでbodyCountだけで判断できるようになります。
結果、コードがかなり少なくなります。

ただし、頭は自動スナップしませんのでそれを解釈するための変数は用意する必要があります。
boolでフラグとしても良いですし、今回の答えとして表したようにintでも良いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です