Re: [問題] 小精靈遊戲裡, 如何決定Ghost的路徑
先感謝大家的熱情分享 沒想到會有這麼多高手回應
我後來也有找出比較不會loop的版本
不過跟會追著PacMan跑的完美境界還有很大的距離 ^^"
我後來的作法是,
讓Ghost Random決定的要走方向 然後去檢查這個方向能不能走
不能走就重取Random.
不過這樣會有一個bug, 因為上下左右 才四各方向
random的值域太小 會出現ghost先往左邊走, 馬上走右邊
有倒退的感覺
覺得還是有點笨
所以在random值取完 我會先判斷 之前走的方向 跟這次走的方向是不是相反
(表示走回頭路)
ex: random說要走右, 上一次走左
就要判斷上下還有左是否都不能走, 如果是 才確定走右
否則就要重取random
這樣就可以大大避免走前 又馬上往回走的窘境
也不會因為說不准走反方向而被困住..
至少現在看起來 ghost像是自由的到處亂跑 :p
不過我又有一個很蠢的問題
這個單機版的PacMan裡面有三各class,
class MyGameEngine implements GameEngineInterface
class Ghost extends Thread
public class Main
平常都用Netbean開發
但是現在反而不知道 如果要在Command Line執行
我先執行了:
javac -classpath pacman.jar Main.java
會出現:
Ghost.class
MyGaneEngine.class
Main.class
我試過打下面的command
java Main.class
但卻出現這樣的error Msg:
Exception in thread "main" java.lang.NoClassDefFoundError: Main/class
不知道是否有高手願意指點我這個笨蛋
感激不盡!
※ 引述《Lordaeron (Terry)》之銘言:
: ※ 引述《Racci (Another Day...)》之銘言:
: : As title,
: : 先簡單介紹這個遊戲, 英文是叫做PacMan, 也就是大家俗稱的小精靈遊戲
: : 在迷宮裡, 有
: : 1. PacMan: 即User本身
: : 2. Jewel: 放在迷宮裡的寶物
: : 3. Ghost: 在迷宮裡四處移動的怪物, 如果PacMan碰到鬼, 就Game Over了..
: : 我已經做的差不多, 是StandAlone版..
: : 但是有一個很蠢的Bug..
: : Ghost移動時, 很容易跑一跑就陷入某各程度的loop, 不斷循環的跑某各區域
: : 先承認我現在做的路徑判斷很爛..
: : 大致就是 看現在的位置 上下左右 哪各可以走 就往哪邊走
: : 可能是因為上下左右判斷的順序一下 所以才會讓Ghost跑一跑就開始循環
: : 在網路上找過一些資料
: : 有些人是說, 必須要找出Ghost跟PacMan之間的最短路徑
: : 但是我一直不懂.. 所謂的最短路徑怎麼找出來
: : 舉例來說:
: : ##########
: : # #
: : # p### # #
: : # ## # #
: : # ## #
: : ##### #
: : # g # ###
: : # # ## #
: : # # # #
: : ##########
: : 從Ghost怎麼直接找shortest path去抓PacMan?
: : 在我的想法裡, 不是每走一步, 才知道接下來要走哪各位置嗎?
: : 在上面的例子裡, PacMan在上方, 可是上面是牆, 只有左右可以走
: : Ghost怎麼知道要走左邊好 還是右邊比較好?
: : 問題有點複雜, 謝謝大家看完 :)
: 你該不會想古時候的電腦會使用ooxx search 來追吧?
: 你有興趣可以拿台286 來跑看看, 保證你game 都不用玩了.
: 更別說6502了.
: 你有空去找個PACMAN來玩玩吧.
: 看看它們的反應, 猜猜就好了. 千萬別想太多.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 75.7.19.19
推
10/14 07:42, , 1F
10/14 07:42, 1F
推
10/14 10:12, , 2F
10/14 10:12, 2F
推
10/14 14:07, , 3F
10/14 14:07, 3F
推
10/14 19:17, , 4F
10/14 19:17, 4F
→
10/14 19:19, , 5F
10/14 19:19, 5F
→
10/14 19:21, , 6F
10/14 19:21, 6F
→
10/14 19:24, , 7F
10/14 19:24, 7F
→
10/14 19:26, , 8F
10/14 19:26, 8F
推
10/15 00:37, , 9F
10/15 00:37, 9F
→
10/15 00:39, , 10F
10/15 00:39, 10F
推
10/15 12:22, , 11F
10/15 12:22, 11F
推
10/16 06:14, , 12F
10/16 06:14, 12F
推
10/18 11:54, , 13F
10/18 11:54, 13F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 7 篇):