多數的線上遊戲可以選擇對手,基本上這是一個詢問與回答的程序,如上圖在線上的客戶A會先對客戶B提出邀請,B若同意就會建立兩人的正式連線關係,開始互動,當然其他使用者也就不能再介入兩人的互動關係了!本單元我們將以之前已經完成的五子棋連線遊戲為基礎,加上遊戲對象邀請的機制。

表單修改
請在線上使用者列表(ListBox1)下方加入一個Button3物件,Enabled屬性設為False,Text寫為邀請對手,在沒有正確選擇對手之前此按鍵是不能亂按的!設計畫面如下:


選擇對手後
選擇線上對手的動作是在 ListBox1_SelectedIndexChanged事件,程式碼如下:

你當然不能選擇自己跟自己下,所以只要不是選到自己的名稱邀請對手用的Button3就可以啟用了!

邀請對手(Button2)

就是發出"7"命令碼的訊息,內容就是自己的名稱。

接受與拒絕邀請
當對手發出邀請訊息之後當然是在 Listen副程式接收,而且命令碼是"7",請新增案例"7"如下:

這裡故事必須從紅框部分的Case Else說起,前面Button3發出的邀請訊息內容是邀請者名稱,內容應該不是『接受』也不是『拒絕』,此時你應該是受邀者,就顯示一個訊息小視窗(MsgBox),上面會有是與否的按鍵以及誰邀請你遊戲的提示。回應『是』的時候會對邀請者發出『接受』的"7"訊息,同時將邀請者設為ListBox1的選定對象;
回應『否』的時候會對邀請者發出『拒絕』的"7"訊息。
因此,如果你是主動邀請者就可能收到『接受』或『拒絕』的訊息,程式反應就是告訴你對方的回答囉!

試試看,線上邀請機制已經完成了!