線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2422
推到 Plurk!
推到 Facebook!

bitbtn元件屬性

尚未結案
north
一般會員


發表:10
回覆:17
積分:5
註冊:2004-08-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-10 15:30:13 IP:211.78.xxx.xxx 未訂閱
我想寫一個井字遊戲 電腦與人對打 我使用bitbtn按鈕作為圈叉的顯示 □□□bitbtn1,2,3 □□□ 4,5,6 □□□ 7,8,9 請問如何在遊戲程式中定義bitbtn元件 目前進度: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Panel1: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; BitBtn5: TBitBtn; BitBtn6: TBitBtn; BitBtn7: TBitBtn; BitBtn8: TBitBtn; BitBtn9: TBitBtn; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Game(); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); //結束按鈕 begin Form1.Close; end; procedure TForm1.Button1Click(Sender: TObject); //開始按鈕 begin Game(); end; procedure TForm1.Game; //遊戲程式內容 var i:integer; begin for i:=1 to 9 do //遊戲內容定義 begin //請問bitbtn要如何定義呢 if TBitbtn.Control[i] is Tbitbtn then // //當使用者滑鼠按下時 //bitbtn的caption:='O' bitbtn[i].caption:='O' // end; } end; end. 謝謝唷^^ 這是我第一個程式說^^
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-10 16:22:42 IP:61.221.xxx.xxx 未訂閱
north 你好: 首先是使用者按下開始遊戲的時候,要清除所有按鍵狀態  
引言: procedure TForm1.Button1Click(Sender: TObject); //開始按鈕 var i:integer; begin for i:=0 to Form1.ControlCount-1 do if Form1.Controls[i] is TSpeedButton then begin TSpeedButton(Form1.Controls[i]).Down:=true; TSpeedButton(Form1.Controls[i]).Caption:=''; end; end;
接下來是對bitbtn按鈕按下時做處理,狀況有4種 1.if 優先權 < 對手 and 對手 next=15 then 要先佔領 next 2.if 優先權 > 對手 and 我方 next=15 then 要先佔領 next 3.if 優先權 > 對手 and 對手 next<>15 then 要隨機選取一個未選取的bibtn 4.當 一方 bibtn的值加起來=15則結束比賽 由於這是你的第一個程式所以只給提示希望你會成功 p.s. 816 357 462
------
======================
昏睡~
不昏睡~
不由昏睡~
north
一般會員


發表:10
回覆:17
積分:5
註冊:2004-08-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-11 21:58:22 IP:220.143.xxx.xxx 未訂閱
KO大大你好: 想請問一下 「if 優先權 < 對手 and 對手+next=15 then 要先佔領 next」 優先權我覺的是代表人 就是我下面程式中的a 對手是指電腦 就是我下面程式中的b next我想是指下一個BITBTN[i]之中i的值 可是為什麼要等於15呢 因為如果是bitbtn1,2,3  這加起來不等於15阿 而且8,6,1加起來等於15 可是卻不是一直線說    我的畫面是 開始 結束   2個button _____   虛線代表Panel | 1 2 3 |   內有9個bitbtn | 4 5 6 | | 7 8 9 | ————- 下面是我依KO大大的城市去修改成我目前的進度    procedure TForm1.Button1Click(Sender: TObject);  //開始按鈕 var i:integer; begin   for i:=1 to Form1.ControlCount-1 do              //KO大大的程式     if Form1.Controls[i] is TSpeedButton then      //我套用進去     begin     TSpeedButton(Form1.Controls[i]).Down:=true;     TSpeedButton(Form1.Controls[i]).Caption:='';     end;   game();   //執行遊戲程序 end;   procedure TForm1.Game; var i,a,b:integer; begin    for a:=1 to 5 do          // a代表人,最多畫5次     begin        for b:=1 to 5 do  // b代表電腦         begin           for i:=1 to Form1.ControlCount-1 do  // i是9個bitbun           begin            if a>b then              TSpeedButton(Form1.Controls[i]).Down:=true              TSpeedButton(Form1.Controls[i]).Caption:='O'            else if a
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-11 22:10:20 IP:211.20.xxx.xxx 未訂閱
north 你好    ko 大大 已有提示了,各個bitbtn所代表的數值如下    _____ 虛線代表Panel | 8 1 6 | 內有9個bitbtn | 3 5 7 | | 4 9 2 |  <== 中間應該是 9 才對 ————- bitbtn1  代表數值為8 bitbtn2  代表數值為1 bitbtn3  代表數值為6 .....以此類推    _______________________________________ 深藍的魚,祝您好運..........連連
north
一般會員


發表:10
回覆:17
積分:5
註冊:2004-08-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-12 15:14:17 IP:211.78.xxx.xxx 未訂閱
引言: north 你好 ko 大大 已有提示了,各個bitbtn所代表的數值如下 _____ 虛線代表Panel | 8 1 6 | 內有9個bitbtn | 3 5 7 | | 4 9 2 | <== 中間應該是 9 才對 ————- bitbtn1 代表數值為8 bitbtn2 代表數值為1 bitbtn3 代表數值為6 .....以此類推 _______________________________________ 深藍的魚,祝您好運..........連連
喔~~原來是這樣唷 那我在想想繼續努力了 謝謝唷
系統時間:2017-10-23 6:42:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!