一個較復(fù)雜的需求

在開發(fā)業(yè)務(wù)需求的時候舟舒,往往策劃有時提出的需求不是那么簡單和合理瞭吃,我在工作中遇到過很多次,有些是可以通過近似的結(jié)果來滿足需求杜跷,但有的不是那么簡單傍念,比如下面的一個需求,在大部分游戲項目中可能都會遇到葛闷。

角色身上有十個部位憋槐,每個部位可以穿戴裝備,且對應(yīng)的裝備可以由碎片合成(可能在合成的時候也要花費其他材料)淑趾,且能穿戴需要花費一定的資金和經(jīng)驗阳仔,某個碎片不足的時候,可能由另外的材料合成扣泊,大概需求是這些近范。

后來在開發(fā)完后出現(xiàn)兩個bug嘶摊,其中一個是需求不明確(能在不同部位穿戴相同的裝備),另一個是后期加的需求评矩,由另外同學(xué)在原代碼基礎(chǔ)上加的條件叶堆,因代碼位置不對導(dǎo)致可能有其他能合成的裝備,沒有機會合成和穿戴斥杜,進而導(dǎo)致整個邏輯出問題蹂空。

其實這個需求是不難,但因為能自動合成果录,這里要考慮的是遞歸的深度上枕,盡最大能力來滿足當(dāng)前可穿的,不能出現(xiàn)不能穿的卻被穿上弱恒,或者扣除材料出現(xiàn)負(fù)數(shù)辨萍。

比如A裝備合成需要材料1,2返弹,3锈玉,數(shù)量10,15义起,20拉背,花費金幣300,需要條件X默终;B裝備合成需要材料1椅棺,2,3齐蔽,數(shù)量8两疚,10,11含滴,花費金幣500诱渤,要條件Y;玩家現(xiàn)在沒有A和B裝備谈况,但有材料1勺美,2,3碑韵,數(shù)量分別是10赡茸,15,20泼诱,金幣1000坛掠,條件Y赊锚;條件是后期功能完成后加的掰派。

有問題的寫法是在能合成A時缠劝,需要的材料先預(yù)扣除独悴,但是在處理其他條件時,發(fā)現(xiàn)A不能滿足X友多,導(dǎo)致后面的B沒機會被合成和穿戴,所以這里需要把對條件的判斷移到適合的位置堤框,先過濾域滥,然后再進行合成。

因為這里合成是遞歸的蜈抓,需要考慮什么時候停止启绰,因為策劃的配表數(shù)據(jù),可能會造成A->B->A這樣的循環(huán)沟使,如果中間再多層不是很容易發(fā)現(xiàn)委可,那么程序很可能進入死胡同。這里要么在導(dǎo)表時通過工具檢查配表腊嗡,在提交時發(fā)現(xiàn)問題着倾,要么在程序中,限制遞歸的次數(shù)燕少。

再比如上面的需求卡者,A裝備合成需要材料1,2客们,3崇决,數(shù)量10,15底挫,20嗽桩,花費金幣300,需要條件X凄敢;B裝備合成需要材料1碌冶,2,3涝缝,數(shù)量8扑庞,10,11拒逮,花費金幣500罐氨,要條件Y;C裝備合成需要材料1滩援,2栅隐,3,數(shù)量5,5租悄,11谨究,花費金幣500,要條件Z泣棋;玩家現(xiàn)在沒有A/B/C裝備胶哲,但有材料1,2潭辈,3鸯屿,數(shù)量分別是13,15把敢,22寄摆,金幣1000,條件都滿足修赞;這里看能合成A冰肴,或者B/C兩個,因為A/B/C裝備的屬性不一樣榔组,穿戴A能提供10000戰(zhàn)斗力熙尉,穿戴B能提供6000,穿戴C能提供5000搓扯,為了尋求最優(yōu)化检痰,這里是不能合成A的,需要把B和C進行合成锨推。

所以铅歼,問題就歸納為貪心或者背包類的算法問題,因為我對這塊沒有過多的深入换可,這里暫時不再分析算法本身的思想椎椰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市沾鳄,隨后出現(xiàn)的幾起案子慨飘,更是在濱河造成了極大的恐慌,老刑警劉巖译荞,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓤的,死亡現(xiàn)場離奇詭異,居然都是意外死亡吞歼,警方通過查閱死者的電腦和手機圈膏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來篙骡,“玉大人稽坤,你說我怎么就攤上這事丈甸。” “怎么了尿褪?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵睦擂,是天一觀的道長。 經(jīng)常有香客問我茫多,道長,這世上最難降的妖魔是什么忽刽? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任天揖,我火速辦了婚禮,結(jié)果婚禮上跪帝,老公的妹妹穿的比我還像新娘今膊。我一直安慰自己,他們只是感情好伞剑,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布斑唬。 她就那樣靜靜地躺著,像睡著了一般黎泣。 火紅的嫁衣襯著肌膚如雪恕刘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天抒倚,我揣著相機與錄音褐着,去河邊找鬼。 笑死托呕,一個胖子當(dāng)著我的面吹牛含蓉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播项郊,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼馅扣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了着降?” 一聲冷哼從身側(cè)響起差油,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎任洞,沒想到半個月后厌殉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡侈咕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年公罕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耀销。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡楼眷,死狀恐怖铲汪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情罐柳,我是刑警寧澤掌腰,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站张吉,受9級特大地震影響齿梁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肮蛹,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一勺择、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧伦忠,春花似錦省核、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赋咽,卻和暖如春旧噪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脓匿。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工舌菜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人亦镶。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓日月,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缤骨。 傳聞我的和親對象是個殘疾皇子爱咬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344