「你知道《旅行青蛙》是怎麼選擇旅行路線的嗎?」看完這 4 張圖,你會豁然開朗! – 我們用電影寫日記
原來青蛙旅行的方式是這樣子!!!
#旅行青蛙 #青蛙的旅行途徑 #解析大公開
#我們用電影寫日記 #時事篇
來源:知乎
作者:黃小秋
整理:冒牌生
–正文開始–
《旅行青蛙》簡單又輕鬆的遊戲概念,擄獲玩家們的心,不斷地有專業玩家提供各種攻略,甚至三葉草的無限收割方式,但是與其尋找BUG,真正喜愛這款遊戲的人,會想要更深入的了解你的青蛙,尤其時,青蛙到底都是怎麼選擇旅程?又怎麼決定拍出哪些景點照?
青蛙是如何選擇旅行路線的?
程序內建東、西、南、北四個區域,青蛙會選擇一個地區旅行?
每個區域的設計都是一個「連通的無向圖」,而青蛙的旅行路線就是在圖上某兩個點之間走出一條路徑(path)。
通過逆向手段,我們提取出了程序中的信息,生成了每個地圖的樣子。
東部地區
西部地區
南部地區
北部地區
圖上的每個頂點(vertex)都代表了一個地點。每個地點都有可能被青蛙經過,並觸發一些事件。
除了普通的地點外,還有四種特殊的地點會影響呱旅行的路線:
・ START 起始點(帽綠色)
・ GOAL 目的地(桃紅色)
・ PATH 途徑地(橘黃色)
・ DETOUR 繞路地(淺黃色)
連接節點之間的是邊(edge),代表連接地點的路,這些路上也會觸發遇上夥伴、拍攝照片等事件。
每次開始旅行的時候,根據你打包的物品,青蛙都會:
1、選擇目的地
攜帶特點食物或道具可以影響到地區的選擇,有些物品可以增加特定地區的被選概率,甚至可以直接確定選擇的地區。在一個區域內的目的地的選擇同樣取決於所攜帶的道具。具體每件物體效果會在後面提到。
2、選擇途徑地
途徑地由目的地決定,每個地點都有對應的途徑地,代碼中對此的描述是當地的縣府/交通樞紐。
3、選擇繞路地
這個很有意思,我猜測作者的目的是為了讓旅途更有多樣性,每次路途會額外添加幾個地區內繞路地點,攜帶物品對決定繞路地似乎沒有影響。
4、生成經過所有地點的旅行路徑
運用了圖論很經典的連通圖找最短路徑 Dijkstra 演算法,配合途徑地和繞路地的邏輯,最終計算出旅行路徑。
—————————————————————
喜歡文章的讀者,也歡迎【追蹤】和【分享】,這都是對我寫作最大的鼓勵。
—————————————————————
—————————————————————
——————————————————————
內容簡介:
老天給你傷害,又讓你留下來面對, 就是要讓你知道人生還有希望。
愛情從不是人生的全部;心中有愛,能感受愛才是。
別忘了,愛過以後,你依然值得被愛。
——————————————————————
「這世界已經夠負面的了!而按下讃,是在說我們渴望讓這個世界變得更美好。」 – 冒牌生