2014年5月7日 星期三

PLC練習題-井字遊戲

PLC的新手題目「紅綠燈」,可能每個人都會了,
所以在這邊出一個題目「井字遊戲」,供大家練習。


+++++++++++++++++++++++++
題目:請畫出井字遊戲的階梯圖。並包含勝負判別。
+++++++++++++++++++++++++

沒看錯,以上就是題目,留了整個A4的白紙給你畫階梯圖。
在寫之前會有很多疑問,需要自已克服。



PS:這個題目是我面試某家公司的題目。
包話其他試題一小時內完成。用畫的方式畫出階梯圖。

PS2:我有畫完成。

5 則留言:

  1. 這井字遊戲是 玩家VS玩家的? 還是電腦VS玩家的?
    可以選擇O或X 或是選擇誰先攻 等等之類的條件嗎?
    因為我有一文章寫了一個井字遊戲,但文內題目沒有說還有哪些條件
    所以不知道有無加入電腦VS玩家的模式

    回覆刪除
    回覆
    1. 訂正錯字 我有"依"文章寫了一個井字遊戲

      刪除
    2. 其實那天面試官,只看了「一眼」我寫的程式,連確認也沒有,只表示這不重要.....................(很傻眼)

      但我覺得這個有幾點可學習的,
      1.需要自已定義玩法,及限制(重覆檢出警報)
      2.需要自已定義去定義輸入輸出點
      3.在定義輸入輸出時,就會知道外部需要什麼硬體及零件

      如果我是面試者,出這個題目,我要考的目的應該是:
      1.面試者是否有自定義,規劃i/o的能力。
      2.一些常用指令是否熟悉
      3.是否會嘗試去寫
      ==================
      所以您提到的問題,都是您自已可以去設定的,
      當做自已在規劃一個機台的動作、設定。

      在開發新機時,也是無中生有,所以先設計出來,再來慢慢修即可。

      刪除
  2. 謝謝大大建議,我本來是用IO去規劃,但發現那需要比較大的硬體,所以我齁來都用M值去做用人機畫圖連線完就可以了,只是在AI方面寫得有點辛苦,我是把九宮格所有會發生的可能狀態都寫出來(要讓電腦做出絕對防禦= =),但我感覺自己有點像是土法煉鋼,我的意思是,萬一今天是要寫圍棋或五子棋,那要寫出絕對防禦的話,那邏輯組合不就是千千萬萬= =a 到實會演化能用公式或特殊指令去計算吧?

    回覆刪除
    回覆
    1. 1.我之前也是用土法煉鋼,把每種結果寫進去,因為最簡單,省時、組合也不多。
      2.如果是圍棋/五子棋,結果計算就要用到公式了。
      3.如果是AI,那更難了,這幾年電腦軟體,不是才打敗棋王,所以用PLC來寫,一定更痛苦了。這時候就建議用程式語言寫法,而不是階梯圖了。

      刪除