請問猜數字遊戲哪裡錯了? |
答題得分者是:richtop
|
flycat
一般會員 發表:3 回覆:2 積分:1 註冊:2004-10-19 發送簡訊給我 |
各位大大好,我是很新很新的新手,對於DELPHI幾乎是一無所知。
對這方面的語法還不能駕輕就熟。老師出了一題有關猜數字遊戲的作業。
我用DELPHI7做了,不知道哪裡出錯...能不能指導一下呢!感激! 以下四個框都是用來填數字的(edit.text)
□□□□
這是猜測過程(Memo.Lines)
□
下面三個分別是起新局、結果、結束紐(botton)
⊙1(起新局的按鈕)
我點進"起新局"按鍵紐之後,寫了兩個地方
第一個是:在implementation和之間{$R*.dfm}寫上
var
N1,N2,N3,N4:Integer; 第二個是:在Begin跟end之間寫上
Randomize;
N1:=Random(9);
Repeat N2:=Random(9) Until (N2<>N1);
Repeat N3:=Random(9) Until (N3<>N2) And (N3<>N1);
Repeat N4:=Random(9) Until (N4<>N3) And (N4<>N2) And (N4<>N1); Memo1.Lines.clear;
edit1.text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:=''; ⊙2(結果的按鈕)
點進去"結果"按鈕後,我一樣有寫兩個地方
第一個:procedure TForm1.Button2Click(Sender: TObject);跟Begin之間
var
A1,A2,A3,A4:Integer;
A,B:Integer; 第二個:在Begin跟end之間
A1:=StrToint(edit1.text);
A2:=StrToint(edit2.text);
A3:=StrToint(edit3.text);
A4:=StrToint(edit4.text); If A=N1 then A:=A 1;
If A=N2 then A:=A 1;
If A=N3 then A:=A 1;
If A=N4 then A:=A 1; If (A1=N2) or (A1=N3) or (A1=A4) then B:=B 1;
If (A2=N1) or (A2=N3) or (A2=A4) then B:=B 1;
If (A3=N1) or (A3=N2) or (A3=A4) then B:=B 1;
If (A4=N1) or (A4=N2) or (A4=A3) then B:=B 1;
Memo1.lines.Add(IntTostr(A1) IntTostr(A2) IntTostr(A3) IntTostr(A4) '=>' IntTostr(A) 'A' IntTostr(B) 'B'); If (A=4) then Memo1.Lines.Add ('哇!您猜對了!真厲害!') ⊙3(結束離開的按鈕)
最後在點進去"結束離開"的按鈕後,我在Begin跟end之間寫了close; ---------------------------------------------------------------
以上是我再老師上課的時候學的,當我run的時候,會讓我run沒錯
可是猜測歷程(也就是我按結果出現的東西),卻很奇怪,如果我關掉不跑了
又會出現一段英文好像說是錯誤之類的。 我想請問,這樣的程式有哪裡需要改的呢?^^
講了這麼長的問題,感謝您把問題看完,如果能解答,我也感謝您的回答^^
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
flycat 您好: 看完您的程式碼,發現比較有問題的是下列這一段,您可先試著改改看。
另外,如果要更嚴謹些,應該要判斷輸入的資料有沒有重複的情形發生。
先給您參考。 < class="code">
A:=0; B:=0; // 先歸零
If A1=N1 then A:=A 1;
If A2=N2 then A:=A 1;
If A3=N3 then A:=A 1;
If A4=N4 then A:=A 1; RichTop 敬上 =====*****
把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題!
=====#####
|
flycat
一般會員 發表:3 回覆:2 積分:1 註冊:2004-10-19 發送簡訊給我 |
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |