![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
![]() |
#4 (permalink) |
長老會員
![]() ![]() |
![]() 再來輸入判斷既然已經完成
當然就是亂數部分啦 首先將第6行的 String num="5431"; 改成 String num; 接著亂數產生時機應該在表單的OnCreat事件 語法:
void __fastcall TForm1::FormCreate(TObject *Sender) { int s; randomize(); num=random(10); while(1){ s=random(10); for(int i=1;i<=num.Length();i++){ if(IntToStr(s)==num.SubString(i,1)) {s=0; break;} } if(s!=0) num=num+IntToStr(s); if(num.Length()==4) break; } ShowMessage(num); } while{...}是為了防止出現重複數字 好了,大家玩玩看吧!!! 然而大家或許會發現仍有些問題,譬如當您猜對後依然可以繼續猜 這時我們必須修改[我猜(SpeedButton1)]的OnClick事件,如下 語法:
void __fastcall TForm1::SpeedButton1Click(TObject *Sender) { int an=0,bn=0; for(int i=1;i<=4;i++){ if(Edit1->Text.SubString(i,1)==num.SubString(i,1)) an++; for(int j=1;j<=4;j++) if(Edit1->Text.SubString(i,1)==num.SubString(j,1)) if(i!=j)bn++; } ListBox1->Items->Add(Edit1->Text+" => "+IntToStr(an)+"A"+IntToStr(bn)+"B"); if(an==4) { ListBox1->Items->Add("猜對了..."); SpeedButton1->Enabled=false; Edit1->Enabled=false; } Edit1->Text=""; } 語法:
void __fastcall TForm1::SpeedButton2Click(TObject *Sender) { ListBox1->Clear(); num=""; FormCreate(Sender); SpeedButton1->Enabled=true; Edit1->Enabled=true; Edit1->SetFocus(); } 下個禮拜再與大家討論利用Socket物件設計可和好友網路對戰吧 < ![]() |
![]() |
送花文章: 5469,
![]() |