1. GemProducer
* Menghasilkan gem dengan cara tertentu
* Digunakan oleh BoardGenerator, oleh PuzzleService ketika ada gem yang jadi untuk mengisi kekosongan posisi
* method nextGem -> int, untuk mengambil gem berikutnya
* method putBack(int), untuk mengembalikan gem tertentu
* method rewind untuk mengembalikan gem yang terakhir dikeluarkan
* method hasnext, masih ada stok atau tidak
Jenis GemProducer yang saya kerjakan adalah sbb :
a. Quota
* Bisa ditentukan quota untuk masing2 tipe gem
* Menghasilkan tipe gem secara random selama quota belum tercapai
* Jika sudah mencapai quota akan menghasilkan empty gem
* Jika di putBack suatu gem maka quota untuk gem tersebut akan bertambah satu
b. LimitPercent
* Ditentukan persentase dari masing2 tipe gem
* Awalnya random tanpa memperhitungkan persentase
* Jika sudah dikeluarkan sejumlah gem tertentu barulah persentase diperhitungkan
c. Pool
* Sudah ada list dari gem yang akan dikeluarkan
* Ada 2 method untuk membuat list diatas yaitu berdasarkan quota dan persentase
* Yang berdasarkan quota menggunakan QuotaGemProducer
* Yang berdasarkan persentase juga menggunakan QuotaGemProducer setelah persentase nya dinormalisasi terlebih dahulu
====
2. Evaluator
* Melihat kondisi suatu board apakah ada yang jadi ?
- RecursiveBoard
* Diperiksa keseluruhan
- RecursiveMove
* Diperiksa yang berkaitan dengan line tertentu saja
====
3. MoveFinder
- ExactGem
* numberOfGem
* gemType
* isOneColor
* isOnePartition
====
4. Data Access Object (DAO) - review in progress, tahap finishing
* Untuk mengubah dari database relational menjadi Java Object
* Operasi2 database seperti create, retrieve, update dan delete
* Akan digunakan oleh layer Service
- CharacterDao
- ModifierDao
- ClassDao
- BaseItemDao
- ItemDao
- PrimitiveDao Improvement
No comments:
Post a Comment