LoginSignup
20
21

More than 5 years have passed since last update.

学生あるある ゲームプログラミング

Last updated at Posted at 2015-02-06

まず、学生あるあるコード

  • プレイヤーが神オブジェクトになっている。
  • 機能を細分化して設計されてない。
  • シーン管理がswitch文で行われている。
  • 基本的にコピペのコードになっている。
  • 1つ関数が長い。
  • 頭良く書いている。
  • switch文がたくさんある。
  • 他人が読むとき苦になる。
  • などなどがあります。

解決策

プレイヤーなどの神オブジェクトについて

  • 神オブジェクトとは?
    • 1つクラスの中に様々の処理があり、1つのクラスが最強になっていることです。
  • 原因
    • 細分化の仕方がわからない。めんどくさい などがあるかもしれません。
  • 解決策
    • まずは、ゲームオブジェクトになるクラスに様々な機能を持たせるというイメージをしてもらうとわかやりすいかもしれません。
    • 様々な機能の作り方は、機能クラスに分けていきます。
    • ゲームオブジェクトの情報がほしい場合は、機能クラスでオブジェクトのポインターを取得してきます。
    • そうすれば、座標などが取得できます。

シーン管理について

  • switch文での管理はだめな理由
    • 1つのシーンが増えたら1つのcaseを作らなければならない。
    • それはいわゆるコピペが生まれるだけです。
  • 解決策
    • シーン管理のクラスを作りそこに各シーンを登録していく形にします。
    • 現在のシーンだけの情報をシーン管理に持たせます。
    • UpdateやDrawなどですべて動く形にしていきます。

基本的にコピペのコードになっている。

  • 関数の中に同じ処理が複数個ある。
    • 関数分けをして引数をうまく使いましょう。
  • if文が同じような判定になって、その中も同じような処理がある。
    • テーブル化をしてあげましょう。
  • ハードコーディングが多い。

頭良く書いている。

  • 自分しかわからないコードを書いてしまう。
  • 処理を上から見てもよくわからない。
  • 解消法
    • ある意味、ばかにコーディングしよう。
    • 他人の気持ちになりコードを書こう。

まとめ

  • 色々書いてきましたが、だれかの参考になればうれしいです。
  • あと、Gitを使いましょう!!
  • タスク管理およびスケジュール管理を行いましょう!!

以上です。

20
21
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
21