2018年9月16日 星期日

挑戰程式設計師!


這個議題在遊戲公司的群組引起一陣討論,我們來看看各家的答案。




一秒決定型
美術S子:看不懂

弱雞型
企劃我:看得懂,只能寫簡單的excel函數

幹話型
企劃M:很帥的話,就嫁他


先抓GDD BUG型
程式C
我覺得跟程式無關啦,自然語言本來就語意不清

if(有雞蛋){ 買六顆蘋果;}
else{買一顆蘋果; }



買一顆蘋果;
if(有雞蛋)  {
  買六顆雞蛋;
}


正常作答型
程式X子
BuyItem=蘋果;
BuyCount=1;
If(有雞蛋)

   BuyCount=6;
  }

Buy(BuyItem,BuyCount);



認真魔人型
程式S
上面的不是職業病ㄛ 是 bug 才對

因為依照題目來看 應該是依序執行兩個函式

//幫忙去超市買1顆蘋果。(這邊有句號,所以是一件事)
Func BuyApple()
{
  買 1顆 蘋果
}

//如果他們有雞蛋,買六顆。(這邊有句號,所以是另一件事)
Func BuyEgg()
{
  if(他們有雞蛋)
    買 6個 雞蛋
}

// 執行上面兩件事
Func Buy()
{
Do BuyApple();
Do BuyEgg();
}

如果被寫成同一件事的話,就會容易出現 bug

Func Buy()
{
   if(他們有雞蛋)
     買 6顆 蘋果
   else
     買 1顆 蘋果
}

嚴格來說的話
這位 programmer 對於他媽媽來說才是 bug
因為媽媽發出指令而 programmer 執行了媽媽預期外的運算


有求必應型
程式R
var cmdAction = RecevieCommand(monCommand);
try{
DoCmd(cmdAction);
}
catch(Exception ex){
BuyItem(apple, 6);
}
finally{
Log.Info("因為他們有雞蛋啊!!!");
}

我:你怎麼是用程式碼把文章寫一遍啊!!!
R:原汁原味,忠於原著
我:你可以用程式碼把我的小說寫出來嗎?
R:可以啊
我:(傳檔中)這個來!!!

R:
Spoils.Spliting spliting = treasureFormBliar.Split(Ash, King, Queen, Moshak);
Moshak.Fallasleep();
King.Chatter();
Ash.KickAss(King);
King.TrytoUseBrain(spliting);
King.Chatter();
Queen.KickAss(King);

我:你可以用程式碼寫床戲嗎?

R:
player.Fuck(_xxxTarget);
while(player.IsSatisfy == false)
{
player.ChangePosition(rand.Next());
player,HondOn(10f);
}

我:少了調情
R:要求多耶
我:10f是什麼?
R:10.0 浮點數
我:可以講得更清楚一點嗎
R:玩家X "xxxTarget"
      當 玩家的滿足 等於 否
      玩家換位子 帶入隨機變數 <-- 這邊寫錯,原來是要寫Pose
      玩家撐 10秒
       rand.Next 是指取亂數表的下一個隨機亂數
      10f 是因為 玩家能堅持的秒數不一定是整數
      有可能是 2.5f(秒)
       +上f ,程式才會判斷成浮點數
我:講得很清楚
R:沒辦法,自己寫的東西總不能讓你問人吧
我:你是怕Fuck被看到嗎
R:不是啊,是流程啊
       "這人一次只能挺10秒"
我:其實我剛剛本來想指出這點的,但又覺得你可能另有深意
R:你不要這麼專業好不好



沒有留言:

張貼留言