2017年6月17日 星期六

小山的 C# 教學-第41課-五子棋小遊戲(二)-動態建立棋子

本課簡介

本課承接上一課的專案
將繼續製作五子棋小遊戲

本課主要的重點在於如何使用程式碼來動態建立出棋子
而不是預先將棋子擺放在視窗上來顯示

教學影片

注意:影片有高畫質 720P 的選項,可以看得更清楚喔!



重點提示

製作重點

  • 建立出一個 Piece class 來代表棋子
  • 讓 Piece class 繼承 PictureBox 以獲得它的能力
  • 黑棋跟白棋也要分別建立出 class 並繼承 Piece

製作步驟

  1. 建立一個 Piece class
  2. 讓 Piece class 繼承 PictureBox
  3. 幫 Piece class 撰寫 constructor 並用 x, y 座標當作參數
  4. 在 Piece 的 constructor 中設定背景色、位置(利用獲得的 x, y 座標) 與大小
  5. 建立出 BlackPiece (黑棋) 與 WhitePiece (白棋) 的 class,並繼承 Piece
  6. 幫 BlackPiece 和 WhitePiece 建立 constructor,同樣以 x, y 當作參數
  7. 在 BlackPiece 和 WhitePiece 建立 constructor 中設定兩者的圖片
  8. 嘗試在 Form 中用程式碼建立出黑白棋的物件
  9. 將 Piece 設定為 abstract class 來避免被實體化

細節提醒

  • MSDN 是官方提供給開發者用來查詢內建函式庫的一個平台
  • 程式中的顏色一般是由「紅、藍、綠」三原色所組成。可以藉由控制三種顏色的比例來調整組合出來的顏色。有時候還會有 alpha,代表透明度。
  • 視窗的座標是從左上角開始算,左右用 X 座標控制,上下用 Y 座標控制。

練習

自己上 MSDN 看一下本課所使用的 Color, Point, Size 這些 class 具有哪寫方法以及如何建立出來。

5 則留言:

  1. 老師 我想問一下
    為什麼color不用new
    但是point 跟size卻要new出來??
    是因為有透過using system.Drawing關係嗎??

    回覆刪除
    回覆
    1. 因為一個是屬性,一個是物件。(誤)

      刪除