搜尋

搜尋結果

Spring Boot 04 - 進入http json api 世代
科技新知
MacauYeah・2024-05-23

本節,我們將會建立一個http服務,提供json api讓程式訪問。 下戴模版 我們跟上節一樣,使用Spring Initializr Maven 下載模版,但細節筆者就不再講啦。Dependency主要選擇 Spring Web Spring Boot DevTools 下載後,可以直接運行測試,可以用指令 mvn test 或經IDE運行。Spring會至少測試下能不能成功取用預設的8080端口。 Controller 我們若要實作 http json api,需要在 spring 中加入一個類,附註為 @RestController ,那方便起見,類名我們也命名為 XXXController 吧。作為示範,我們弄一個 HomeController.java ,裏面有最常見的 http GET, POST功能。 srcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapibasiccontrollerHomeController.java import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; ... other import @RestController @RequestMappingquot;apiquot; public class HomeController @GetMappingquot;someRecorduuidquot; public Map readSomeRecord@PathVariable String uuid return Map.ofquot;retquot;, quot;your uuidquot; uuid; @PostMappingquot;someRecordquot; public Map createSomeRecord@RequestBody Map requestBody HashMap ret = new HashMaprequestBody; ret.putquot;retquot;, quot;got your requestquot;; return ret; HomeController裏,完整的URL 其實為 GET httplocalhost8080apisomeRecorduuid POST httplocalhost8080apisomeRecord URL中的api之後的路徑,都是定義在 HomeController 中,而前半的8080及context path,是使用預設值。在正式環境下,可能隨時會被重新定義。但我們做本地測試,只需要驗證預設值就可以了。 我們真的運行起程式mvn clean compile springbootrun,再使用最簡測試工具進行測試。Windows的朋友,可以選擇Postman作為測試,它有圖形介面。而linux的朋友,請用curl,預設安裝都會有。下列為方便表示測試參數,筆者選用curl。 測試GET,其中1234會自動對應到spring裏的uuid。 curl httplocalhost8080apisomeRecord1234 # return quot;retquot;quot;your uuid1234quot; 測試 POST,其中的 d 參數,會對應 spring裏的 @RequestBody, H 參數則是設定 http header 的意思,我們就使用約定俗成的 json 作為 header 。 curl X POST httplocalhost8080apisomeRecord H quot;ContentType applicationjsonquot; d 'quot;requstquot;quot;did you get itquot;' # return quot;requstquot;quot;did you get itquot;,quot;retquot;quot;got your requestquot; 上面的兩個操作,都回傳了我們輸入的資訊,這代表了我們成功用spring架起了http json api,而且正常讀入資訊。 Test Case 雖然我們可以正常地架起 api,但每次開發都要 postman curl這種工具額外試一次,其實也有一些成本。而且 api 數量變大,或經多次修改後,就重複人手執行,就變得相當討厭。 面對這個問題,筆者會建議寫測試用例,即是Test Case,而且用Spring內置的@SpringBootTest來寫。 產生一個空的Test類,vscode中,最簡單可以Source Action =gt; Generate Test,然後加入這次要測試的參數。 srctestjavaiogithubmacauyeahspringboottutorialspringbootwebapibasiccontrollerHomeControllerTest.java import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.RequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultHandlers; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; @SpringBootTest @AutoConfigureMockMvc public class HomeControllerTest @Autowired private MockMvc mockMvc; @Test void testGetSomeRecord throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .contentTypeMediaType.APPLICATION_JSON; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.valuequot;your uuid1234quot; .andDoMockMvcResultHandlers.print; @Test void testPostSomeRecord throws Exception String request = quot;quot;quot; quot;requstquot;quot;did you get itquot; quot;quot;quot;; RequestBuilder requestBuilder = MockMvcRequestBuilders.postquot;apisomeRecordquot; .contentTypeMediaType.APPLICATION_JSON .contentrequest; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.jsonPathquot;$.requstquot;.valuequot;did you get itquot; .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.valuequot;got your requestquot; .andDoMockMvcResultHandlers.print; 最後就是執行 mvn test 或經IDE運行,應該都會得到所有測試都通過的結果。 mvn test # other test result ... INFO Tests run 2, Failures 0, Errors 0, Skipped 0, Time elapsed 0.368 s in io.github.macauyeah.springboot.tutorial.springbootwebapibasic.controller.HomeControllerTest # other test result ... 上面的程式碼很多,我們逐一來。 @SpringBootTest 寫在類的外面,代表執行這個測試類時,需要運行起整個Spring程序,當然也包括http的部份。 @AutoConfigureMockMvc 寫在類的外面,代表執行這個測試類時,可以模擬一些發向自己的 http 請求。 @Autowired private MockMvc mockMvc 寫在類的裏面,因為之前有定義了可以模擬 http 的請求,Spring在運行時為大家提供了那個所謂的模擬http client的實例。 MockMvcRequestBuilders,則是建造要測試的URL及Header參數。 MockMvcResultMatchers,則是檢查回傳的結果是否如遇期的一樣。 為何這個http client叫模擬 Mock 因為在測試用例中,可能連Controller 內部依賴組件也需要進一步模擬,這樣才能把測試目標集中在Controller裏,這也是單元測試的原意。只是本次的例子看不出模擬與否的差別。 MockMvcResultMatchers.jsonPath,這是用來檢測json的結構是否跟預期一樣。有些網路上的其他例子會簡寫成 jsonPath ,但因為vscode IDE的自動import功能比較差,筆者還是保留傳統的寫法。 如果大家覺得@SpringBootTest很難,想折衷地把其他測試方法,那麼把 postman curl好好管理起來,每次修改完程式,都完整地執行一次 postman curl ,也可以達到測試的效果。只不過大家還是要好好學會整合 postman curl,知道如何檢測json結構,什麼時候有錯,什麼時候叫測試通過,所以也要花一樣功夫來實現。 最後,大家千萬不要因為測試難寫而逃課,因為寫測試絕對地可以減輕日後重執行的工作量。除非你的程式碼即用即棄,否則都建議寫測試。測試跟寫文檔不一樣,有了測試也不能沒有文檔。好消息的是,文檔現在越來越多自動生成的工具,我們日後再找機會介紹。 Source Code spring boot web api basic

把握最後3日為澳門音樂人打氣!
音樂聯合國
魚與熊掌・2018-07-01

作為一個澳門人,除了浸過港澳碼頭水的Solar、小肥和慧敏哥之外,你還認識幾位澳門歌手? 或許你會笑說澳門所謂的樂壇根本搞不起,但無論你承認與否,它就是存在,而且每年都百花齊放。 除了收政府資助自製人氣的歌手之外,澳門還有許多你所不知道的隱世歌手、組合和樂隊在默默創作音樂,靜待伯樂來臨。平日裡也許很少機會聽到他們的歌,但每年這個時候,樂壇盛事《至愛新聽力》總能引蛇出洞,震出各路音樂人,讓我們一眾餓狼大飽耳福。 《至愛新聽力》雖說是一個比賽,卻更像澳門樂壇年度成果發布會,往屆不少歌曲如今亦一直留在我的歌單中。今屆新聽力有多達70首入圍候選歌曲,要全部聽完的確有難度,獨行魚早已聽了不下一次,不得不說今屆競爭非常激烈,3票完全不夠投,非常糾結!先來聽聽我忍痛選出的5首獨家推薦吧! 辣辣地主題曲 NO.15 我們青春被甚麼綁著[劉蘊晴]  試聽 愛到脫軌 NO.24 星軌 [張宇敏]  試聽 NO.35 密念 [馬曼莉]  試聽 90年代金曲感 NO.29 萬語千言 [陳佳、彭永琛]  試聽 前方高能>>>耳機帶穩!!! NO.23 相好 [石裂符]  試聽 NO.57 Bloom and Wither [林靜翬]  試聽 好歌當然不止以上幾首!大家有興趣可以上《至愛新聽力》官網收聽所有候選歌,發掘你的心水作品!投票只剩4日便截止,把握時間和手中一票,為澳門音樂人打氣! 利申:本人與推薦作品及其創作班底毫無關係

12月 9 日至 12 月15 日一周生肖運程
玄學星相
熊神進・2019-12-08

#鼠生肖運程# 【發之前,永遠是夢想;上路之後,永遠是挑戰】 今個星期會收到戀人給你甜蜜的祝福,心裡會特別歡心。在投資方面你會比較穩重,不會輕易去碰那些抓不住的項目,穩穩的看牢錢財,或許不會一下子獲得很多收入,但起碼賺錢賺的比較安心。你的才華、才能也會備受肯定,你也會發現很多事情,只要你站出去就可以吸睛,讓事情更容易成功。幸運數字:9 12月 9 日至 12 月15 日一周生肖運程 #牛生肖運程# 【態度決定一切。細節決定成敗,習慣成就人生】 正在追求的物件會被你的真誠所打動,可要乘勝追擊了;學習上太過鬆懈可不是一件好事,很容易就被別人超越;獨自去咖啡廳坐坐吧,一個人也可以過得很愜意。打算耶誕節出遠門的朋友, 本周會有抽獎機會, 你自己好好珍惜這次抽獎, 盡可能在抽獎的時候穿紅色衣服, 這是你的幸運顏色。 12月 9 日至 12 月15 日一周生肖運程 #虎生肖運程# 【凡是自強不息者,最終都會成功】 今個星期遇ldquo;天德rdquo;吉星庇護,你布貴心相助。單身者熱情洋溢的表現,易引來異性的關注,不經意間的回眸就能發現身邊人投來的電波,試著接觸對方會有意想不到的收穫。已婚者容易對另一半產生審美疲勞,應加強溝通。財運不錯,耶誕節快來, 為自己添置新行頭時有機會獲得商場回贈的禮物! 12月 9 日至 12 月15 日一周生肖運程 #兔生肖運程# 【別害怕別人怎麼看你,因為沒有人在看你】 今個星期會出現不錯的發展良機,應加以把握,工作會迎來好的局面,自身的努力加上貴人的幫助,能取得理想的成績。精神與活力不僅充沛甚至還多餘了呢, 可以去寺廟做義工, 不過這樣的精神狀況讓你顯得有些躁動, 將力量多放在工作或社團活動上吧,可別錯用在衝動或縱情遊樂的行為上。幸運方位:西南偏西向、東南偏南向 吉時吉色:pm700800 12月 9 日至 12 月15 日一周生肖運程 #龍生肖運程# 【聰明的人看得懂,精明的人看得准,高明的人看得遠】 今個星期的氣氛可能不會太好,不少人會發生爭吵,對於更多人而言則是想逃避出這個讓人窒息的氣氛,焦慮是難以避免的,但並非不能克服。事情不多,是非多,工作之餘還是不要紮堆在那裡東家長西家短的。多管閒事,反而會因他人的事引起你們之間發生爭吵,別去做吃力不討好的事情;財運平平,一切只需靜觀其變。 12月 9 日至 12 月15 日一周生肖運程 #蛇生肖運程# 【在哪裡跌倒,就在哪裡躺下來】 12月 9 日至 12 月15 日一周生肖運程 今個星期的你,心情可謂是春光明媚,燦爛的笑容對異性很有殺傷力,但也要時時提防爛桃花哦;財運很旺,微笑待人,獲得意外之財的機率很大;工作上,不斷接到新任務,但不乏他人的幫助。懷孕的機會很高,你有準備生小孩嗎?有機會懷上貴子。總的來說,今個星期你處於開心自在的狀態。 #馬生肖運程# 【生活有朝氣活得暢暢快快工作講求效率做得踏踏實實 】 這個星期遇到了子水,運勢欠佳,要防範有小人加害,工作或事業可能會出現一些變動,切記做事要踏踏實實,不要好高騖遠,凡事以小心謹慎為上,以靜制動,不要招惹是非,感情方面容易發生矛盾,夫妻同床異夢,健康上宜注意有疾病發生。開運方位:正南方向 12月 9 日至 12 月15 日一周生肖運程 #羊生肖運程# 【不登高山,不知天之高也;不臨深溪,不知地之厚也】 今個星期工作上要接受別人的意見,讓自己去理解對方的出發點;單身的你,要弄清楚和對方的明確關係,不要稀裡糊塗;有伴的你,下班的時候給對方做一頓豐盛的晚餐;財運方面,不好不壞,入帳不少,支出也多。總的來說,今個星期是充滿變動又會有很多小驚喜的日子。今個星期對屬羊人是一個大的轉機,懷才不遇的屬羊人可以得到他人賞識,但是也需要自己好好把握機會才會有大的進步。 12月 9 日至 12 月15 日一周生肖運程 #猴生肖運程# 【人生如白駒過隙死不足恨但夙心往志,不聞於末世矣】 戀愛上因為過於在意對方的反應,反而讓人心生不安。唯恐你出現過度的反應,約會時讓對方有一點點自由感還是很重要的。星期二的早晨不妨讓自己先有點慵懶情緒的開始,培養好元氣後發展成忙碌的結束。與父母間容易有生疏感,多是因為工作繁忙或在外發展,較少有機會與父母相聚,情感交流減少。幸運數字與尾數:6。 本周最吉顏色:紅色 黃色 12月 9 日至 12 月15 日一周生肖運程 #雞生肖運程# 【人生最大的喜悅是每個人都說你做不到,你卻完成它了】 今個星期得貴人扶助,凡事稱心如意,學業有進步,但須戒驕戒躁,不可恃才而傲。已婚的夫妻之間也相處和諧,很少有爭執發生,相敬如賓的關係讓夫妻雙方都感到婚姻的幸福,即便生活略微平淡,但你的幸福感感十足。不管前路你將遇到什麼東西,都是值得你珍惜的。那是你你自己爭取來的 開運方位:正南方向。 12月 9 日至 12 月15 日一周生肖運程 #狗生肖運程# 【因為年輕我們一無所有,也正因為年輕我們將擁有一切】 本周運勢時來運轉,在事業上將迎來大好的發展良機,宜好好把握時機,同時本月傷官生財,財運亨通,可適當進行投資,多可獲利,經商者宜放心投資,感情方面也易出現桃花運,單身的人士異性緣都不錯。另外,如果你收到兄弟姐妹的電話,不要驚訝,期待消息吧。幸運數字:9 12月 9 日至 12 月15 日一周生肖運程 #豬生肖運程# 【一個有信念者所開發出的力量,大於九十九個只有興趣者】 感情上可能會有些不愉快的事情發生。而已有伴侶的你在與另一半的相處還算愉快。但在過程中總是會有些吵鬧的聲音,彼此間的小型口舌是非不斷。雖然這些對於雙方的感情影響並不大,但也總是件心煩的事情。單身者多參加聚會,可提升桃花運。工作學習上,你小心翼翼的做事方式讓你平穩地走過來,而且還有望贏得領導老師的肯定,或會被委以重任。 如有任何問題,歡迎聯絡: 林小姐 13726267799晚8時後 或加微信號 13726267799 熊神進:澳門 85366618785 公共微信 macaumasterxiong 私人微信 macaumickey 淘寶風水法器店:httpmacauhung.taobao.com Facwbook 熊神進澳門風水師 中國澳門風水掌相學會會長(澳門政府註冊) 熊神進玄學信箱 httpsgoo.gljAVv8U

今日空氣質量指數何其差,還可以外出嗎?
生活在我城
Trisha・2017-09-18

今日空氣何其差gt;.lt; 哇今早起床煙霞好像是好大的樣子,呼吸也辛苦極了,人也感覺很累,這樣的天氣外出活動會有影響嗎 筆者是一個有探求精神的女子,見到今日這樣子的天氣,也是去搜集資料,要知道出現煙霞大的時候會對人體有何影響呢 今早登入澳門氣象局的網站,就發現今日的空氣質量是非常不良。 空氣質量指數 預測 20170918 之空氣質量指數 監測站 澳門空氣質量指數 空氣質量 路邊 150180 不良 高密度住宅區 165195 不良 一般性 180210 不良非常不良 面對不同級別的空氣質量指數,我們可以採取下列措施 健康忠告 我應該採取甚麼預防措施 我們建議你在不同空氣污染水平時採取適當的預防措施 健康風險級別 空氣質素健康指數 易受空氣污染影響的人士 戶外工作僱員 一般市民 心臟病或呼吸系統疾病患者# 兒童及長者 1 3 可如常活動。 可如常活動。 可如常活動。 可如常活動。 4 6 一般可如常活動,但個別出現症狀的人士應考慮減少戶外體力消耗。 可如常活動。 可如常活動。 可如常活動。 7 心臟病或呼吸系統疾病患者應減少戶外體力消耗,以及減少在戶外逗留的時間,特別在交通繁忙地方。這類人士在參與體育活動前應諮詢醫生意見,在體能活動期間應多作歇息。 兒童及長者應減少戶外體力消耗,以及減少在戶外逗留的時間,特別在交通繁忙地方 可如常活動。 可如常活動。 810 心臟病或呼吸系統疾病患者應盡量減少戶外體力消耗,以及盡量減少在戶外逗留的時間,特別在交通繁忙地方。 兒童及長者應盡量減少戶外體力消耗,以及盡量減少在戶外逗留的時間,特別在交通繁忙地方。 從事重體力勞動的戶外工作僱員的僱主應評估戶外工作的風險,並採取適當的預防措施保障僱員的健康,例如減少戶外體力消耗,以及減少在戶外逗留的時間,特別在交通繁忙地方。 一般市民應減少戶外體力消耗,以及減少在戶外逗留的時間,特別在交通繁忙地方。 10 心臟病或呼吸系統疾病患者應避免戶外體力消耗,以及避免在戶外逗留,特別在交通繁忙地方。 兒童及長者應避免戶外體力消耗,以及避免在戶外逗留,特別在交通繁忙地方。 所有戶外工作僱員的僱主應評估戶外工作的風險,並採取適當的預防措施保障僱員的健康,例如減少戶外體力消耗,以及減少在戶外逗留的時間,特別在交通繁忙地方。 一般市民應盡量減少戶外體力消耗,以及盡量減少在戶外逗留的時間,特別在交通繁忙地方。 除留意以上的一般健康忠告外,你亦可按本身健康狀況調整體力活動。由於空氣污染對不同人士的影響不一,如你有疑問或感到不適,應徵詢醫生的意見。如你有吸煙習慣,應立即戒煙! 忠告不適用於易受空氣污染影響的人士。 # 例如冠狀心臟病及其他心血管疾病、哮喘及慢性阻礙氣管疾病,包括慢性支氣管炎和肺氣腫。 參考資料 1.澳門物理暨氣象局httpwww.smg.gov.mosmgc_index.htm 2.空氣素量指數,健康忠告 httpwww.aqhi.gov.hktchealthadvicesubhealthadvice.html

為何 VueJS 除錯如此麻煩?
科技新知
MacauYeah・2025-11-04

前一次,筆者分享了VS code debugging frontend的好功能,也確實了coding anywhere並不是一個普通的notepad language server就可以解決的事。我們還要考慮如何debugging 除錯)的問題。 雖然筆者知道 vscode 可以解決問題,但為何 最原始的 nodejs debugger 不能解決問題。如果node debugger 不能解決問題,那麼 vscode 又做了什麼,它可以解決問題?經過一輪的實驗,筆者懷心疑,也許,強大的並不是 vscode 本身,而瀏覽器才真正的做到 debugger 的功能。而 vscode 只是以更方便的方式,重現那些結果。 為何 backend 的 debugger 不發揮作用? 筆者舉例,現時有一個 vue 3 專案,使用官方建議的方式生成 $ npm create vue@latest 這個專案,在開發模式下,會以 vite 架起一個端口為 5173 的伺服器,讓開發人員可以經過瀏覽器看到vue內容。筆者一直都認為,只要在 vite 的指令中插入 inspect 參數,一切就可以成功,就像 nodejs 一樣,只要在開始時加入參數就可以。結果當然是不行的。 經過對比 VueDevTools 的參考功能,筆者發現了一個出發點的問題。vite 其實是一個伺服器級的程式,也許它只是負責把所以 vue js 動態轉成常見 js,就像 webpack 一樣。我們想要設的中斷點,都不在它的程式上,所以 debug 參數也沒有用。實質,我們要加的中斷點,其實要在客戶端上,也就是瀏覽器上。那因此,VueDevTools 也不包括那些功能。它只是好好地記錄了每個 vue component 或 js 是如何被改寫的過程(就像被 webpack改寫的過程)。 官方又是用什麼來除錯的? 既然我們知道了問題所在,就要看看傳統的 javascript 又是如何除錯的。實際上,因為瀏覽器的配合,設立中斷點的功能,原來早就實現了。 httpsdeveloper.mozilla.orgenUSdocsWebJavaScriptReferenceStatementsdebugger 只要我們在任何 javascript 地方,插入 ldquo;debugger;rdquo; 這個神奇的字,瀏覽器就會在inspect模式下,自動產生中斷點。之後,你可以控制瀏覽器進行watch step into step over 功能。絕對比console.log更有意義。 在發現了這個方法之後,回去找vue3的官方文件,驚訝地發現,它就是提議用這種方式進行除錯。 httpsvuejs.orgguideextrasreactivityindepth.html#reactivitydebugging 未解之謎 雖然我們找到了設定中斷點的方式,但對於vscode是如何做到客戶端、伺服器端通用這件事,筆者還是沒有了解到。就以現在的知訊來看,很大機會就是vscode操控了瀏覽器的除錯模式,把所有資訊都回傳了vscode本身。這也是解譯了為何vscode在起動debugger時,必需要由vscode自己叫起瀏覽器。而codeserver這類雲IDE無法叫起本地瀏覽器,就造成它無法運用除錯功能的原因。 有與趣為codeserver一起搵解決方案的朋友,可以到筆者的 httpsgithub.commacauyeahAProgrammerPrepares ,以文字教學的方提交你的解決方案。 祝願大家可以早日實現coding 自由。

[遊戲編年史] Devil May Cry 2 - 那個一直被認為是黑歷史的存在
手機‧電玩
MacauYeah・2021-05-12

雖然DMC2 有著不好的評價,但以時代的角度來看,它是為了嘗試解決DMC1的問題而作出的嘗試。 DMC1最大的問題,是跑圖的操作很差,雖然打小兵時打擊感很好,但跑圖或是打Boss,視角總是在亂轉,平時跑圖還好,即使變向操作,就腦海中卡一卡,但Boss時,你連Boss都沒法正常看到,再加個方向突然改變,很多時會馬上命喪Boss之下。 那個問題,要從很古舊的PS1 3D遊戲時代說起 想當年,生化危機13,在PS1年代,都是以坦克型操作Tank Control為主,就是方向鍵的上,永遠是對應角色的前方,但視覺卻不是尾隨或越肩,而是上帝視覺得場景中的固定視覺。坦克型操作,對於當時長期遊戲的玩家來說,很快就可以適應,但對於新手,總是要花一定的學習成本。 而DMC1,想做一個爽快的動作遊戲,這個問題必需要得到解決。雖然DMC1是發售在PS2 年代,但由於開發技術不熟,才第一次嘗試在3D環境中做自由走動,還不敢做鏡頭的自由走動,因為Randering上限、場景會有會穿崩、鏡頭改動而產生的Bug,要解決的難題也多。所以DMC1做了一個取捨,行動操作是自由,但視角不能自由轉換,所以在場景轉向時有一定的慣性移動即如果玩家一直按著quot;上quot;來行走,第一個場景中,角色真的會向上走,但換場景後,角色會一直向自己的正前方走,直到玩家有其他方向的改變。。這種慣性移動,在整個PS2年代,都廣泛地使用例如DMC3, DMC4依然使用著,Silent Hill 4也是如此。 但系統奇怪的轉視角轉變,一直都是動作遊戲的阻礙,即便完全不能解決,也要做一些舒緩機制。DMC2,也在這個方向努力過。 DMC2到底做了些什麼改動 1 場景變大了,鏡頭在一個大家廣場上空敍下俯視,鏡頭會進死角的機會變少,鏡頭可以慢慢的跟著角色走動,減少切換機制。 2 加強了槍擊的玩法,因為近戰很需求走動,但槍的遠攻可以減少這樣的操作。 3 近戰動作的整套修改,不鼓勵方向性的連技,減少方向性輸入方向性輸入還是有的,不過可有可無。 如果單從技術上來講,它的確避免了很多鏡頭問題,但另一個嚴重的問題因此而發生,那就是,它不再好玩。鏡頭拉遠了,臨場感就變低了,遠攻變成了常態,近戰的快感就營造不了,而且玩家依賴了遠攻作為保命解決問題的最好用招式,就使得整個遊戲都變得淡而無味。由此可見,沒有深思熟慮的改變,並不能真正抗大核心玩家群。據說當初開發預算成本比DMC1更低,好醜也要修正一些問題,結果就變成這。 遊戲雖然不錯,但能留住玩家玩下去就實在太少了 以筆者的感覺而言,打完Dante New Game之後,感覺真的很空洞。最後的幾場Boss戰其實有夠難的,絕對不亞於其他集數,但整個遊戲設定,只讓覺得我的Dante很沒有活動能力比Rockman X的感覺差很多,打完一輪之後,我不太有動力去嘗試不同的打法。另一個原因是因為DMC2還使用絕對性線流程,無法中途自行選關,只能順序從第一關打到最後一關。想回到過去,要麼打二輪,要麼讀檔重來。 能拯救這遊戲的,就只有Speedrun Community 之前玩血咒之城就已經有這樣的感覺。一個遊戲,如果只是機制設計有點失誤,而令遊戲很沉悶,但不致於無法遊戲,那麼Speedrun Community就救得了這個遊戲。像是血咒之城,本身沒什麼技術力突破,道具多變但造不出切換道具的必要性,操作也沒有什麼好感,所以筆者一週目,也是感覺平平,當時筆者第一直覺,也是覺得這遊戲不值它的售價。直至筆者參考完Speedrun 大神的低等級通關攻略,筆者才覺得有興趣起來。 DMC2又一個活生生的案例,能直正讀懂這遊戲的,就只有Speedrun玩家 httpswww.twitch.tvvideos536164956 當你看完大神的打法後,才知道原來重武器的差異,再加上魔化的加乘,絕對比槍的DPS要高很多。這集的Speedrun也跟其他集數不同,不用介意升級用的資源。因為遊戲一開始就給你完整的連技,升級只是在乎攻擊力的差異。所以即使用沒有大神們的精準操作,你還是可以照搬它們的遊玩思路。 好啦,痛苦的DMC2就讓它到此為止吧。下期再介紹筆者心中認為目前最偉大的DMC3吧 筆者的DMC2黑歷史遊玩記錄 httpswww.youtube.complaylistlist=PLUbYXpKT7aEVRTjbH2JLxX1QmLpPSBYg0

【澳門探店】可能是全澳門最貼心美味的火鍋
澳城餐飲
明珠・2022-01-18

最近跟朋友試了一間位於澳門皇朝,裝修大氣,味道非常正宗的火鍋店 ldquo;有掂頭成都火鍋rdquo;,個人覺得無論是味道,環境,食物,服務都絕對值得擁有十粒星 先説鍋底,我們選的是鴛鴦鍋底,一邊是紅油辣鍋底,一邊是豬肚雞湯鍋底,最特別的是紅油鍋底,裏面的是純牛牛油加上牛骨高湯,重點是不會越煮越鹹,或者越煮越辣,只會辣嘴不會辣味,會越吃越上癮,越吃越過癮那種絕對值得一試 推薦菜品全家福丸美組合 由黑松露丸,飛魚子丸,芝士蝦滑丸,苦瓜丸等等組成而成的,點一盤就能吃到各種丸滑類,都是由新鮮的魚肉和蝦肉現手打造而成的,不像外面的半成品,他家的丸子肉質吃起來滿滿的鮮味彈牙 高鈣羊肉:上菜時充滿仙氣,妥妥的儀式感外表像肥牛,實際是羊肉,而且比肥牛更有營養價值,羊肉來説口感一點也不騷,吃起來像吃骨肉相連的感覺 小酥肉:據說是現點現炸的,口感非常酥脆可口美味 紅糖糍粑:也是現點現炸的,軟糯的口感配上紅糖,口感簡直絕絕子 九宮格:四川特色之一,在澳門比較少見,肉質非常新鮮可口 極鮮牡蠣 就是非常鮮美的生豪,甚至比我的手掌還要大,看得出店家果然不惜功本 烤羊肉串牛肉串 一定要試他家的烤肉串,非常惹味,吃膩了火鍋物,最后以烤肉串結束是最完美 環境 裝修大氣,環境寬敞舒適,坐著一點也不會覺很逼,並且最貼心的是會有一個簍子可以放包包和外套,這樣吃完火鍋,包包和外套就不會有味道了,服務員都很友善,而且上菜快,包厢房間更可以一人一鍋的形式 聼說店家在新年前會有超級大以及強勁的優惠,詳情可向店家查詢喔,並且最近更推出火鍋外賣套餐,不出家門就能吃到火鍋簡直不要太貼心了! 【澳門有拈頭成都市井火鍋】地址:澳門皇朝布魯塞爾街恆基花園1座AF️電話:28995599 如喜歡作者的內容的話,歡迎關注喔 httpswww.facebook.comMCMCTour 本篇文章、相片版權屬作者所有,經由版權持有人授權CyberCTM.com發表。 聯絡及邀約微信 charissa_cheok