日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

【c#】24点游戏的实现(可存档且局域网互联)

發布時間:2025/4/5 C# 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【c#】24点游戏的实现(可存档且局域网互联) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ??

(更新,附上此款游戲的源代碼供大家學習吧!http://download.csdn.net/detail/gshengod/5774531)

? ? ? lz辛苦考上了北郵的研究生,剛進入實驗室,就接到了一個棘手的任務,被要求編寫一個24點游戲,而且要可存檔可局域網互聯。對于我這個剛剛開始學習編程的菜鳥是個不小的挑戰。好了,現在進入正題,大牛們可無視,小菜鳥們可以看過來,我將分享我的學習歷程。

? ? ? ? ?首先是用vs2008進行界面方面的設計,建立form類的窗口,把工具箱打開,這樣就可以實現向里拖拉一些按鈕。然后可以自己搞一些圖片加到背景image中,這樣可以讓程序看起來更好看。如下圖。

接下來是比較復雜的代碼部分了。

? ? ? ? ?先講level1,是實現機器自動計算實現24點的運算。用random函數,可以實現出現四個隨機數,我們要做的就是將它們加上括號或是加減乘除的按鈕,讓他們結果為24。這個主要是用的遍歷的思想,因為我們可以將式子分為兩種,一種是((a*b)+c+d)但括號形式。一種是兩括號形式,(a+b)*(c-d)形式。

具體計算方法詳見代碼中的Randomnew.cs類。levle1如圖


? ? ? ? ?level2是要求我們在得知四個數字的情況下,輸入表達式,看是否為24.這個因為計算機讀不動string中的符號,所以要用正則方法將數字與算數符分離,因為括號乘除加減等的優先級不同,所以要分別將其按不同的優先級入棧,在計算。具體可見我的代碼中的類Algorithm.cs,這部分也可到這里下載看下http://download.csdn.net/detail/gshengod/5738011。至于存檔讀檔,要用的數據流的知識

FileStreamfs=newFileStream("D:\\workplace\\save.txt",FileMode.Create,FileAccess.Write);
StreamWriter sw = new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
?。還有就是timer控件,對于倒計時方面主要代碼

int time = int.Parse(arr[1]);
? ? ? ? ? ? lefttime = time;
? ? ? ? ? ? this.timer1.Start();

this.label7.Text = "剩余時間" + lefttime.ToString() ;
? ? ? ? ? ? lefttime--;
? ? ? ? ? ? if (lefttime == 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Randomnew b1 = new Randomnew();
? ? ? ? ? ? ? ? string answer = b1.compute(label2.Text, label3.Text, label4.Text, label5.Text);
? ? ? ? ? ? ? ? MessageBox.Show("time out,正確答案是" + answer);

level2圖片如下:



? ? ? ? ? ? ?level3則是關于局域網互聯的知識,主要是socket編程方面的應用,可以下載這個作為參考,這個代碼寫的很好http://download.csdn.net/detail/gshengod/5738067。

嗯,就是這些吧,我還在改一些小bug,過兩天會吧代碼完整版發上來分享。



ps:大家有什么問題可以留言一起討論哈!!!






總結

以上是生活随笔為你收集整理的【c#】24点游戏的实现(可存档且局域网互联)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。