全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2641
推到 Plurk!
推到 Facebook!

請問猜數字遊戲哪裡錯了?

答題得分者是:richtop
flycat
一般會員


發表:3
回覆:2
積分:1
註冊:2004-10-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-31 13:27:09 IP:218.171.xxx.xxx 未訂閱
各位大大好,我是很新很新的新手,對於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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-31 13:43:50 IP:211.76.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-31 14:37:57 IP:218.171.xxx.xxx 未訂閱
先說一聲:非常感謝您! 問題確是解決了! 我很開心呢! 不過您說〝要判斷輸入的資料有沒有重複的情形發生。〞 請問是說我並沒有寫嗎? 我以為“起新局”裡的 >
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-31 16:25:17 IP:211.76.xxx.xxx 未訂閱
flycat 您好: 不好意思沒說清楚,我的意思是指: 如果猜的人輸入相同的數字,如:1122或3333,那就能測試某些數字是否正確。 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
系統時間:2024-04-27 2:25:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!