1. Ingame
    1. check khi tung bai ra chan
    2. remove event listener la bai cua gamer khi throw
    3. khi bi che boi la bai khac thi khong the mouseUp, can chu y de lam tinh nang swap
    4. drag n drop, swap
    5. auto combo
    6. throw combo ra ngay lap tuc khi danh
    7. scale khi select
    8. khi co mot nguoi choi trong phong va da bat dau tran dau, nhan thoat khong duoc (loi nay co ve kho gap trong thuc te vi phong khong the chi co 1 nguoi choi)
    9. thu font bitmap
    10. hien thi bai cua nguoi choi bang H Group
    11. //hien thi chu phong, nguoi choi dang danh,
    12. //hien thi quan bai cua nhung nguoi choi khac
    13. //chi chu phong va chua bat dau tran dau moi thay duoc nut bat dau
    14. //chuyen cac nut danh bai xuong duoi va thay skin
    15. //can chinh le ra giua cua ten nguoi choi
    16. tro vao duoi thi select binh thuong va swap, tren la bai thi auto combo
  2. Server
    1. nick va name khong trung nhau
    2. quan ly bang id cua smartfox, han chi truyen string name
    3. he thong san sang va bat dau
      1. van con don gian, can chi tiet hoa yeu cau
    4. add them may khi can thiet (chu phong co the yeu cau add them)
    5. chinh lai viec cap nhat khi co nguoi choi vao phong luc dang danh
    6. ket thuc tran dau co exception khi xoa list
      1. jvm 1 | java.util.ConcurrentModificationException
      2. jvm 1 | at java.util.LinkedList$ListItr.checkForComodification(LinkedLis
      3. t.java:761)
      4. jvm 1 | at java.util.LinkedList$ListItr.next(LinkedList.java:696)
      5. jvm 1 | at it.gotoandplay.smartfoxserver.util.scheduling.Scheduler.execu
      6. teTasks(Scheduler.java:296)
      7. jvm 1 | at it.gotoandplay.smartfoxserver.util.scheduling.Scheduler.run(S
      8. cheduler.java:223)
      9. jvm 1 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Thread
      10. PoolExecutor.java:886)
      11. jvm 1 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool
      12. Executor.java:908)
      13. jvm 1 | at java.lang.Thread.run(Thread.java:619)
    7. sua lai loi trung combo cua may, doi temppcombo sang NOcombo
      1. cho phep 1 la bai co the thuoc ve nhieu combo
    8. them name cho tung state de sau nay tien debug va change (ko dung if ma dung list de iterate)
    9. kiem tra xem co phai chu phong gui yeu cau bat dau van bai khong
    10. Tao 1 pool nhung turn de tiet kiem bo nho
    11. nguoi duoc huong sai bo luot hoac thoat = > ?
    12. trong khoang giua 2 luot danh, neu nhan thoat se bi loi
    13. co ve nhu sau khi ket thuc van bai, bat dau mot van moi, khi bat dau thi nguoi cam 3 bich khong nhan duoc tin hieu wait tu server
    14. reset lai tran dau sau khi ket thuc
    15. Xu thua cho gamer bo van bai
    16. loi khong nhuong quyen uu tien khi ve nuoc (huong sai)
      1. | Den luot nguoi choi 3
      2. | Nguoi choi 3 da thang trong luot nay !!!
      3. | Nguoi choi 1 con 1
      4. | Nguoi choi 3 con 1
      5. | Nguoi choi 4 con 1
      6. | ==============
      7. | Nguoi choi 3 bat dau luot bai.
      8. | 1
      9. | 2
      10. | 3
      11. | 4
      12. | Gamer 3 da tim thay combo de bat dau luot choi
      13. | Bat dau tung bai ra :Rac tam nhep
      14. | 19
      15. | Nguoi choi 3 da tung ra combo thanh cong !
      16. | Nguoi choi 3 da ve nuoc.
      17. | ================================================
      18. | Den luot nguoi choi 4
      19. | 1
      20. | 2
      21. | 3
      22. | 4
      23. | 5
      24. | Nguoi choi 4 da that bai trong viec chan combo va phai bo luot !
      25. | Nguoi choi 4 bo luot.
      26. | Den luot nguoi choi 1
      27. | Nguoi choi 1 da thang trong luot nay !!!
      28. | Nguoi choi 1 con 1
      29. | Nguoi choi 4 con 1
      30. | ==============
      31. | Nguoi choi 1 bat dau luot bai.
    17. hoan thien he thong thong bao ket qua cua tran dau
    18. khi chu phong thoat thi nguoi ke se tro thanh chu phong. client cung cap nhat
    19. //khi nguoi choi ra bai sai thi khong bo qua ma van tiep tuc cho gamer do
    20. mot huong khac la dung 1 bien int priority o gamecycle, luu lai order cua nguoi choi huong sai, neu combo bi break thi bien do bang -1
    21. khi con lai 2 nguoi choi, nguoi kia sap ve nuoc thi nguoi nay khong nhin thay dong ho cua nguoi kia chay
    22. nguoi choi 1 ra bai va ve nuoc luon, nguoi choi 3 bo luot= > nguoi choi 2 thang (cung ko phai la bug lam)
      1. Nguoi choi 2 da tung ra combo thanh cong !
      2. Den luot nguoi choi 3
      3. 1
      4. 2
      5. Nguoi choi 3 bo luot.
      6. Den luot nguoi choi 1
      7. 1
      8. 2
      9. 3
      10. 4
      11. 5
      12. 6
      13. Gamer da tim thay combo de block
      14. Bat dau tung bai ra :Rac Q co
      15. 49
      16. Nguoi choi 1 da tung ra combo thanh cong !
      17. Nguoi choi 1 da ve nuoc.
      18. ================================================
      19. Den luot nguoi choi 2
      20. Nguoi choi 2 da thang trong luot nay !!!
      21. Nguoi choi 2 con 2
      22. Nguoi choi 3 con 3
      23. ==============
      24. Nguoi choi 2 bat dau luot bai.
      25. 1
      26. 2
      27. 3
      28. 4
      29. 5
    23. thoat ngay khi thang trong luot
      1. | Nguoi choi 4 con 1
      2. | Nguoi choi 5 con 1
      3. | Nguoi choi 2 con 1
      4. | Nguoi choi 9 con 1
      5. | ==============
      6. | Nguoi choi 4 bat dau luot bai.
      7. | Da qua 20 giay, nguoi choi 4 bo luot.
      8. | Nguoi choi 4 bo luot.
      9. | Den luot nguoi choi 5
      10. | Da qua 20 giay, nguoi choi 5 bo luot.
      11. | Nguoi choi 5 bo luot.
      12. | Den luot nguoi choi 2
      13. | Da qua 20 giay, nguoi choi 2 bo luot.
      14. | Nguoi choi 2 bo luot.
      15. | Den luot nguoi choi 9
      16. | Nguoi choi 9 da thang trong luot nay !!!
      17. | Nguoi choi 4 con 1
      18. | Nguoi choi 5 con 1
      19. | Nguoi choi 2 con 1
      20. | Nguoi choi 9 con 1
      21. | ==============
      22. | Nguoi choi 9 bat dau luot bai.
      23. | Da qua 20 giay, nguoi choi 9 bo luot.
      24. | Nguoi choi 9 bo luot.
      25. | Den luot nguoi choi 4
      26. | Da qua 20 giay, nguoi choi 4 bo luot.
      27. | Nguoi choi 4 bo luot.
      28. | Den luot nguoi choi 5
      29. | Da qua 20 giay, nguoi choi 5 bo luot.
      30. | Nguoi choi 5 bo luot.
      31. | Den luot nguoi choi 2
      32. | Nguoi choi 2 da thang trong luot nay !!!
      33. | Nguoi choi 2 da thoat khoi ban.
      34. | Nguoi choi 2 bo luot.
      35. | Den luot nguoi choi 9
      36. | Nguoi choi 9 bo luot.
      37. | Den luot nguoi choi 4
      38. | Nguoi choi 4 bo luot.
      39. | Den luot nguoi choi 5
      40. | Nguoi choi 5 bo luot.
      41. | Den luot nguoi choi 9
      42. | Nguoi choi 9 bo luot.
      43. | Den luot nguoi choi 4
      44. | Nguoi choi 4 bo luot.
      45. | Den luot nguoi choi 5
      46. | Nguoi choi 5 bo luot.
      47. | Den luot nguoi choi 9
    24. tai sao nguoi choi thoat khi dang bat dau luot bai lai thanh thoat khi dang cho ? co the la do realtime, quit luc sau khi begin()
      1. | Den luot nguoi choi 3
      2. | Da qua 20 giay, nguoi choi 3 bo luot.
      3. | Nguoi choi 3 bo luot.
      4. | Den luot nguoi choi 4
      5. | Nguoi choi 4 da thang trong luot nay !!!
      6. | Nguoi choi 1 con 2
      7. | Nguoi choi 2 con 1
      8. | Nguoi choi 3 con 1
      9. | Nguoi choi 4 con 1
      10. | ==============
      11. | Nguoi choi 4 bat dau luot bai.
      12. | Nguoi choi 4 da thoat khoi ban khi dang cho.
      13. | Nguoi choi 4 bo luot.
      14. | Den luot nguoi choi 1
      15. | Da qua 20 giay, nguoi choi 1 bo luot.
      16. | Nguoi choi 1 bo luot.
      17. | Den luot nguoi choi 2
      18. | Da qua 20 giay, nguoi choi 2 bo luot.
      19. | Nguoi choi 2 bo luot.
      20. | Den luot nguoi choi 3
      21. | Nguoi choi 3 da thang trong luot nay !!!
      22. | Nguoi choi 1 con 2
      23. | Nguoi choi 2 con 1
      24. | Nguoi choi 3 con 1
      25. | ==============
      26. | Nguoi choi 3 bat dau luot bai.
      27. | Da qua 20 giay, nguoi choi 3 bo luot.
      28. | Nguoi choi 3 bo luot.
    25. thoat hang loat (tran dau ket thuc do chi con duy nhat 1 nguoi choi ma nguoi choi do cung thoat) , khi announce winner thi khong con nguoi choi nao trong phong thi get first cua player list se bi loi
      1. | Nguoi choi 1 bo luot.
      2. | Den luot nguoi choi 2
      3. | Da qua 20 giay, nguoi choi 2 bo luot.
      4. | Nguoi choi 2 bo luot.
      5. | Den luot nguoi choi 3
      6. | Nguoi choi 3 da thang trong luot nay !!!
      7. | Nguoi choi 1 thoat khi da bo luot.
      8. | Nguoi choi 1 con 2
      9. | Nguoi choi 2 con 1
      10. | Nguoi choi 3 con 1
      11. | ==============
      12. | Nguoi choi 3 bat dau luot bai.
      13. | Nguoi choi 2 da thoat khoi ban khi dang cho.
      14. | Nguoi choi 3 da thoat khoi ban khi dang cho.
      15. | Tran dau ket thuc !!!
      16. | 14:41:42.297 - [ WARNING ] > Exception in ExtensionHandler: java.util
      17. ElementException
      18. | Exception type: java.util.NoSuchElementException
      19. | java.util.NoSuchElementException
      20. | at java.util.LinkedList.getFirst(LinkedList.java:109)
      21. | at vn.GameBTL.announceWinners(GameBTL.java:219)
      22. | at vn.GameBTL.removeQuiter(GameBTL.java:206)
      23. | at vn.sfsBTL.handleRequest(sfsBTL.java:152)
      24. | at it.gotoandplay.smartfoxserver.controllers.ExtensionHandler.pr
      25. ent(ExtensionHandler.java:454)
      26. | at it.gotoandplay.smartfoxserver.controllers.ExtensionHandler.ru
      27. sionHandler.java:344)
      28. | at java.lang.Thread.run(Thread.java:619)
      29. | [ vn.sfsBTL ]: Khong con nguoi choi nao trong phong !
      30. | Error: java.lang.NullPointerException
      31. | Handler: vn.sfsBTL$BTLTask@1a497e2
      32. | java.lang.NullPointerException
      33. | at vn.sfsBTL$BTLTask.doTask(sfsBTL.java:367)
      34. | at it.gotoandplay.smartfoxserver.util.scheduling.Scheduler.execu
      35. (Scheduler.java:310)
      36. | at it.gotoandplay.smartfoxserver.util.scheduling.Scheduler.run(S
      37. r.java:223)
      38. | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Thread
      39. cutor.java:886)
      40. | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool
      41. r.java:908)
      42. | at java.lang.Thread.run(Thread.java:619)
      43. | Nguoi choi 5 con 2
      44. | Nguoi choi 4 con 1
      45. | Nguoi choi 2 con 1
      46. | ==============
      47. | Nguoi choi 4 bat dau luot bai.
      48. | Da qua 20 giay, nguoi choi 4 bo luot.
      49. | Nguoi choi 4 bo luot.
      50. | Den luot nguoi choi 2
      51. | Da qua 20 giay, nguoi choi 2 bo luot.
      52. | Nguoi choi 2 bo luot.
      53. | Den luot nguoi choi 5
      54. | Nguoi choi 5 da thang trong luot nay !!!
      55. | Nguoi choi 5 con 2
      56. | Nguoi choi 4 con 1
      57. | Nguoi choi 2 con 1
      58. | ==============
      59. | Nguoi choi 5 bat dau luot bai.
      60. | Da qua 20 giay, nguoi choi 5 bo luot.
      61. | Nguoi choi 5 bo luot.
      62. | Den luot nguoi choi 4
      63. | Nguoi choi 2 da thoat khoi ban khi dang cho.
      64. | Nguoi choi 4 da thoat khoi ban khi dang cho.
      65. | Nhung nguoi con lai deu da bo luot.
      66. | Den luot nguoi choi 5
      67. | Tran dau ket thuc !!!
      68. | 15:20:37.144 - [ WARNING ] > Exception in ExtensionHandler: java.util
      69. ElementException
      70. | Exception type: java.util.NoSuchElementException
      71. | java.util.NoSuchElementException
      72. | at java.util.LinkedList.getFirst(LinkedList.java:109)
      73. | at vn.GameBTL.announceWinners(GameBTL.java:219)
      74. | at vn.GameBTL.removeQuiter(GameBTL.java:206)
      75. | at vn.sfsBTL.handleRequest(sfsBTL.java:152)
      76. | at it.gotoandplay.smartfoxserver.controllers.ExtensionHandler.pr
      77. ent(ExtensionHandler.java:454)
      78. | at it.gotoandplay.smartfoxserver.controllers.ExtensionHandler.ru
      79. sionHandler.java:344)
      80. | at java.lang.Thread.run(Thread.java:619)
      81. | [ vn.sfsBTL ]: Khong con nguoi choi nao trong phong !
      82. | Error: java.lang.NullPointerException
      83. | Handler: vn.sfsBTL$BTLTask@1e37e4a
      84. | java.lang.NullPointerException
      85. | at vn.sfsBTL$BTLTask.doTask(sfsBTL.java:367)
      86. | at it.gotoandplay.smartfoxserver.util.scheduling.Scheduler.execu
      87. (Scheduler.java:310)
      88. | at it.gotoandplay.smartfoxserver.util.scheduling.Scheduler.run(S
      89. r.java:223)
      90. | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Thread
      91. cutor.java:886)
      92. | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool
      93. r.java:908)
      94. | at java.lang.Thread.run(Thread.java:619)
    26. server gui thong tin sau khi del room => phai chan
      1. [ RECEIVED ]: <msg t='sys'><body action='uCount' r='1' u='3'></body></msg>, (len: 60)
      2. [ RECEIVED ]: <msg t='sys'><body action='uCount' r='8' u='0' s='0'></body></msg>, (len: 66)
      3. [ RECEIVED ]: <msg t='sys'><body action='roomDel'><rm id='8'/></body></msg>, (len: 61)
    27. xoa bo hoan toan viec gui roomlist
  3. Database
    1. //chuyen sang MySQL
  4. Lobby
    1. xoa phong choi khi tran dau chua bat dau ma moi nguoi da roi bo het
    2. vao phong choi, trong khi do o ngoai (hoac kenh khac ?) tao 1 phong choi khac = > khi thoat ra, du van nhin thay phong do nhung khong the vao duoc
      1. trong mot so truong hop hi huu nao do van co the xay ra, can chu y kiem tra
    3. viet lai ham createroom va joinroom de khong broadcast nua (chi su dung users list cua extension)
    4. trien khai popup
    5. chu y kiem tra lai event listenner o lobby
    6. khi vao mot phong day thi hien thi ra 1 popup bao rang phong da day, chu y he thong pop window
    7. ngan gamer vao mot ban dau da choi
    8. trien khai viec ngan chan vao phong o phia client và sẻver
  5. Signup
  6. Thiet ke lai client theo design pattern
  7. Login
    1. Login nhu binh thuong, co nhap mat khau
    2. tach rieng login ra 1 ung dung rieng de nguoi dung khong phai cho down ve roi moi login
    3. them loading bar
  8. Web
    1. signup