Re: [推薦] 碼農修真

看板CFantasy作者 (七祈綺契)時間3年前 (2020/09/09 12:24), 3年前編輯推噓6(6028)
留言34則, 7人參與, 3年前最新討論串5/10 (看更多)
※ 引述《aeoluns (風兒)》之銘言 : 感謝板友推薦,剛剛看到三十二章 : 有一段程式碼沒看懂,想和大家討論一下 : { : 提供靈氣, : 那么, : 敏捷術開啟運行, : 截斷靈氣, : 那么, : 敏捷術停止運行。} function magics(human){ function agileMagic(mana){ if(mana){ human.useMagic("agileMagic") }else{ human.stopMagic("agileMagic") } } return { agileMagic: agileMagic } } 菜雞 有錯歡迎提出 但有錯我也不更正==手機好難打 沒寫過遊戲大概是這樣 他那個當pseudo code我是覺得還好 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.42.28 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/CFantasy/M.1599625444.A.230.html

09/09 12:34, 3年前 , 1F
截斷靈氣要寫 if (!mana) 不是 else
09/09 12:34, 1F
我就懶== 真要說我還要判斷他傳的是不是靈氣

09/09 12:35, 3年前 , 2F
建議起一個interface Magic,裡面定對一個功能叫run
09/09 12:35, 2F

09/09 12:35, 3年前 , 3F
和stop
09/09 12:35, 3F
太麻煩了 我手機打這段打快20分鐘 ※ 編輯: xga00mex (125.230.42.28 臺灣), 09/09/2020 12:39:44

09/09 12:41, 3年前 , 4F
寫 if(!mana) 才能表現出冗碼啊 www
09/09 12:41, 4F

09/09 12:42, 3年前 , 5F
不然其實我看起來比較像兩個 function
09/09 12:42, 5F

09/09 12:54, 3年前 , 6F
所以說這程式功能很怪阿w
09/09 12:54, 6F

09/09 12:57, 3年前 , 7F
啟動跟關閉兩個功能塞在同一個函數裡面
09/09 12:57, 7F

09/09 12:57, 3年前 , 8F
他那個我覺得像是提一個要求 實作細節工程師隨意=
09/09 12:57, 8F

09/09 12:57, 3年前 , 9F
=
09/09 12:57, 9F

09/09 13:04, 3年前 , 10F
要進else只有mana==0 但都==0了為啥不是回傳mana不
09/09 13:04, 10F

09/09 13:04, 3年前 , 11F
足而是停下使用法術
09/09 13:04, 11F

09/09 13:05, 3年前 , 12F
human.useMagic()那端沒有mana的相關判斷嗎w
09/09 13:05, 12F

09/09 13:08, 3年前 , 13F
好問題 我有想過要不要傳過去 後來想想算了 停下就
09/09 13:08, 13F

09/09 13:08, 3年前 , 14F
當他魔力不足能燒血條吧==
09/09 13:08, 14F

09/09 13:09, 3年前 , 15F
說真的小說寫到太詳細反而很無聊 像瘋法推的那個中
09/09 13:09, 15F

09/09 13:09, 3年前 , 16F
醫一堆古籍文言文我只想叫他給我全部翻成白話文
09/09 13:09, 16F

09/09 13:11, 3年前 , 17F
不過這個碼農也有點太簡化就是了
09/09 13:11, 17F

09/09 13:12, 3年前 , 18F
這感覺不是簡化 是基本程式邏輯都不清楚
09/09 13:12, 18F
做一個switch函數來call開/關我覺得還好吧== 回傳法力不足一樣要關法術啊或是等他跳錯自己停(? 想了一下human不該當magics參數 應該把magics當human私有函數的 ※ 編輯: xga00mex (125.230.42.28 臺灣), 09/09/2020 13:30:18

09/09 13:43, 3年前 , 19F
不懂的覺得可以看,相關專業頭很痛的作品lol
09/09 13:43, 19F

09/09 13:51, 3年前 , 20F
比較直覺的思考是法術端在吃不到mana的時候就會自
09/09 13:51, 20F

09/09 13:51, 3年前 , 21F
動停止吧
09/09 13:51, 21F

09/09 13:59, 3年前 , 22F
總覺得應該往回推先畫出流程圖w
09/09 13:59, 22F

09/09 14:03, 3年前 , 23F
有個問題是沒有agileMagic()函數的說明
09/09 14:03, 23F

09/09 14:10, 3年前 , 24F
我不是來寫能動的程式的==那種不重要的細節沒差吧
09/09 14:10, 24F

09/09 14:12, 3年前 , 25F
這個把human拿掉 判斷式裡改console.log應該也能動
09/09 14:12, 25F

09/09 14:13, 3年前 , 26F
就是了
09/09 14:13, 26F
※ 編輯: xga00mex (125.230.42.28 臺灣), 09/09/2020 14:13:44

09/09 14:18, 3年前 , 27F
如果agileMagic()會在沒mana的時候自動停止那就不
09/09 14:18, 27F

09/09 14:18, 3年前 , 28F
需要寫出mana==0的時候停止法術了嘛
09/09 14:18, 28F

09/09 14:18, 3年前 , 29F
反正不重要啦w
09/09 14:18, 29F

09/09 15:46, 3年前 , 30F
覺得不用return那行耶
09/09 15:46, 30F

09/09 15:48, 3年前 , 31F
=0自動停止那很恐怖吧 那等於一直空轉 修真世界法力
09/09 15:48, 31F

09/09 15:48, 3年前 , 32F
真的歸零可能跟廢功沒兩樣
09/09 15:48, 32F
這是js的閉包寫法== 要用的話就 var customMagic = magics(human) customMagic.agileMagic(mana) 不能不return 作者寫的是提供/截斷 不做手動停止的話 有可能是自己被抽乾(假設靈氣直接抽自身) 或沒影響(給定量靈氣到用完為止) 前者好處是不用一直刷新 後者好處是不怕被抽乾 我自己覺得作者是想寫前者 但我沒把human.useMagic的實作細節寫出來所以就當通用吧== ※ 編輯: xga00mex (125.230.42.28 臺灣), 09/09/2020 16:30:29

09/09 20:15, 3年前 , 33F
所以才會說不知道法術是啥內容需要說明嘛w
09/09 20:15, 33F

09/09 20:17, 3年前 , 34F
畢竟也有可能是施法後法術有持續時間
09/09 20:17, 34F
文章代碼(AID): #1VM5Za8m (CFantasy)
討論串 (同標題文章)
文章代碼(AID): #1VM5Za8m (CFantasy)