遊戲程式設計:貪吃蛇
Code
https://github.com/MaxWutw/snake
功能
- 按按鈕之後會頭尾交換
- 顯示題目
- 出現ABCD四種蘋果
- 吃到錯誤的蘋果會顯示廣告
- 顯示RGB蘋果
變數宣告
想法
- 我希望按下w可以進行頭尾交換,而交換後的行徑方向會和原行徑方向相反,例如原本是向左,按下w之後會向右。
- 題目的部分我想要用json來存,然後藉由random的方式從json裡面挑題目出來
進度
- 2023/10/28 閱讀Gaspared的範例code 吳振榮
- 2023/10/29 調整視窗大小以及紅色蛇頭,開始撰寫按按鈕後頭尾交換吳振榮
- 2023/11/12 製作按下w會頭尾交換、題目顯示code 吳振榮
- 2023/12/01 增加游戲畫面(Home, About Us, Help)韓欣劭
- 2023/12/02 更改結束畫面,多個膨果生成 韓欣劭
- 2023/12/03 膨果的正確性判斷 韓欣劭
- 2023/12/04 game:44加入函式
- 2023/12/04 更改速度機制,增加技能面版及技能冷卻機制 韓欣劭
- 2023/12/06 新增廣告機制 韓欣劭、吳振榮
- 2023/12/07 新增障礙物機制,新增技能「净化」 韓欣劭
- 2023/12/09 新增問答反饋機制,新增 RGB 蛇 韓欣劭
目前遇到的問題
- 膨果有時候明明觸碰到了,但沒被判定到,也就是說可能要做一個range,如果蛇頭落在這個range就要被判定說吃到膨果。
- 頭尾交換後我們下一步要運行的方向是哪裡,可以藉由變數direction去調整方向。
- 題目要放在哪個位置
- (12/01 新增)目前蛇撞到自己并不會死亡,并且可以往自己的反方向走
Debug或遇到的問題
- Iterating over ArrayList:
- 我在儲存json的時候遇到
RuntimeException: A JSONArray text must start with '['
的錯誤,後來知道說當我們要將json儲存成array list的時候json的檔案需要用中括號包住,如果用大括號包住可能要用parser去處理會比較麻煩
Reference
https://github.com/Gaspared/Snake-Pro
Java ArrayList Reference: https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html