今天接着昨天的项目做一个稍微复杂点的功能。就做一个剪子包袱锤的游戏吧。功能比较简单
首先画好界面
图1
然后实现几个比较重要的方法
1、计算机随机出的方法:
void ComputerGetCards() { cancellationToken1 = new CancellationTokenSource(); var token1 = cancellationToken1.Token; task1 = Task.Factory.StartNew(() => { try { for (int i = 0; i < 10000000; i++) { if (token1.IsCancellationRequested) { //task1.Dispose(); return; } else { int rand = new Random().Next(0, 3); string cardInfo = Cards[rand]; computerCard = rand; Invoke(new Action(() => { label1.Text = cardInfo; })); } System.Threading.Thread.Sleep(50); } Invoke(new Action(() => { label1.Text = "一直不出,不玩了!"; })); } catch (Exception ex) { MessageBox.Show(ex.Message); } }, token1); }
2、人出拳的方法:
void PersonSendCard(int cardIndex) { cancellationToken1.Cancel(); label2.Text = Cards[cardIndex]; int mResult = cardIndex - computerCard; switch (mResult) { case -2: label3.Text = "你输了!"; break; case -1: label3.Text = "你赢了!"; break; case 0: label3.Text = "平局!"; break; case 1: label3.Text = "你输了!"; break; case 2: label3.Text = "你赢了!"; break; } }
编译运行:
图2
图3
制作完成,明天把文字换成图片继续完善一下。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!