# 遊戲程式設計:貪吃蛇 ## Code https://github.com/MaxWutw/snake ```bash $ git clone https://github.com/MaxWutw/snake.git ``` ## 功能 - 按按鈕之後會頭尾交換 - 顯示題目 - 出現ABCD四種蘋果 - 吃到錯誤的蘋果會顯示廣告 - 顯示RGB蘋果 ## 變數宣告 ## 想法 - 我希望按下w可以進行頭尾交換,而交換後的行徑方向會和原行徑方向相反,例如原本是向左,按下w之後會向右。 - 題目的部分我想要用json來存,然後藉由random的方式從json裡面挑題目出來 ## 進度 - 2023/10/28 閱讀Gaspared的範例code [name=吳振榮] - 2023/10/29 調整視窗大小以及紅色蛇頭$snake\_head()$,開始撰寫按按鈕後頭尾交換[name=吳振榮] - 2023/11/12 製作按下w會頭尾交換、題目顯示code [name=吳振榮] - 2023/12/01 增加游戲畫面(Home, About Us, Help)[name=韓欣劭] - 2023/12/02 更改結束畫面,多個膨果生成 [name=韓欣劭] - 2023/12/03 膨果的正確性判斷 [name=韓欣劭] - 2023/12/04 game:44加入函式 - 2023/12/04 更改速度機制,增加技能面版及技能冷卻機制 [name=韓欣劭] - 2023/12/06 新增廣告機制 [name=韓欣劭、吳振榮] - 2023/12/07 新增障礙物機制,新增技能「净化」 [name=韓欣劭] - 2023/12/09 新增問答反饋機制,新增 RGB 蛇 [name=韓欣劭] ## 目前遇到的問題 - 膨果有時候明明觸碰到了,但沒被判定到,也就是說可能要做一個range,如果蛇頭落在這個range就要被判定說吃到膨果。 - 頭尾交換後我們下一步要運行的方向是哪裡,可以藉由變數direction去調整方向。 - 題目要放在哪個位置 - (12/01 新增)目前蛇撞到自己并不會死亡,并且可以往自己的反方向走 ## Debug或遇到的問題 - Iterating over ArrayList: ```java= ArrayList<Integer> x = new ArrayList<Integer>(); // ... some process ... for(int i = 0;i < x.size();i++) print(x.get(i) + " "); ``` - 我在儲存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
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up