【C#】简易人机对抗“石头剪刀布”游戏
需要实现如下图所示的人机猜拳小游戏:

我们需要建立一个玩家类Player、一个电脑类Computer、一个裁判类Judge来分别模拟各自的操作:
【Player.cs】
/** 作者:JeronZhou* 时间:2021-11-01* 功能:石头剪刀布游戏*/using System;namespace Test2_2
{public class Player{public string FistName { get; set; }public int Play(string name){FistName = name;switch (FistName){case "石头":return 1;case "剪刀":return 2;case "布":return 3;default:return 0;}}}
}
【Computer.cs】
/** 作者:JeronZhou* 时间:2021-11-01* 功能:石头剪刀布游戏*/using System;namespace Test2_2
{public class Computer{public string FistName { get; set; }public int RandomPlay(){Random random = new Random(Guid.NewGuid().GetHashCode());int num = random.Next(1, 4);switch (num){case 1:FistName = "石头";break;case 2:FistName = "剪刀";break;case 3:FistName = "布";break;}return num;}}
}
【Judge.cs】
/** 作者:JeronZhou* 时间:2021-11-01* 功能:石头剪刀布游戏*/using System;namespace Test2_2
{public class Judge{public string Win(int play, int computer){int result = play - computer;switch (result){case -1:return "你赢了";case 2:return "你赢了";case -2:return "你输了";case 1:return "你输了";default:return "平手";}}}
}
【窗体设计】
共有5个标签(3个空标签),三个按钮。

【MainForm.cs】
/** 作者:JeronZhou* 时间:2021-11-01* 功能:石头剪刀布游戏*/using System;
using System.Windows.Forms;namespace Test2_2
{public partial class MainForm : Form{public MainForm(){InitializeComponent();}void Button1Click(object sender, EventArgs e){Player p = new Player();int playerName = p.Play(button1.Text);label3.Text = p.FistName;Computer c = new Computer();int computerName = c.RandomPlay();label4.Text = c.FistName;Judge judge = new Judge();label5.Text = judge.Win(playerName, computerName);}void Button2Click(object sender, EventArgs e){Player p = new Player();int playerName = p.Play(button2.Text);label3.Text = p.FistName;Computer c = new Computer();int computerName = c.RandomPlay();label4.Text = c.FistName;Judge judge = new Judge();label5.Text = judge.Win(playerName, computerName);}void Button3Click(object sender, EventArgs e){Player p = new Player();int playerName = p.Play(button3.Text);label3.Text = p.FistName;Computer c = new Computer();int computerName = c.RandomPlay();label4.Text = c.FistName;Judge judge = new Judge();label5.Text = judge.Win(playerName, computerName);}}
}
【Program.cs】
/** 作者:JeronZhou* 时间:2021-11-01* 功能:石头剪刀布游戏*/using System;
using System.Windows.Forms;namespace Test2_2
{internal sealed class Program{[STAThread]private static void Main(string[] args){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new MainForm());}}
}
【测试结果】



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
