这个是用visual studio 和 C# 做的21点游戏的代码.
帮我看看怎么能实现1. 电脑只随机得到1个1-40的数.(只有1个,而且用户不知道)
2. 用户只能得到1-10的数,但能得到几个(但如果大于20,就直接比较)
3. 点比较时,看谁的和20近或等于20,谁就赢.
//////////////////////////////////////////////////////////using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace _21点
{
public partial class Form1 : Form
{
public static int iswho=0;
private int u1;
private int u2;
private int sum1;
private int sum2;
private int []pai1=new int[5];
private int[] pai2 = new int[5];
int kk;//记录是否已经平分了
bool kaishi; private int lost, win, pease;
public Form1()
{
InitializeComponent();
u1 = 0;
u2 = 0;
for (int i = 0; i < 5; i++)
{
pai1[i] = 0;
pai2[i] = 0;
}
sum1 = 0;
sum2 = 0;
lost = 0;
win = 0;
pease = 0;
kk = 0;
kaishi = false; } private void Form1_Load(object sender, EventArgs e)
{ this.textBox1.Text = "win:" + win + " lost:" + lost + " pease:" + pease;
} protected void get_radom()
{
Random a = new Random();
for (int i = 0; i < 5; i++)
{
pai1[i] = a.Next(1, 14);
pai2[i] = a.Next(1, 14);
// pai2[i] = 2;
} this.lblu1.Text = pai1[0].ToString();
this.lblu2.Text = pai1[1].ToString();
this.lblu3.Text = pai1[2].ToString();
this.lblu4.Text = pai1[3].ToString();
this.lblu5.Text = pai1[4].ToString();
}
private void diannaoqushu()
{ while (sum2 < 17)
{
sum2 = 0;
u2++;
for (int j = 0; j <= u2; j++)
{
if (j == 5)
break;
sum2 += pai2[j];
}
if (u2 == 4)
return;
} huhu();
}
private void button1_Click(object sender, EventArgs e)
{
kaishi = true;
this.lblu2.Visible = false;
this.lblu3.Visible = false;
this.lblu4.Visible = false;
this.lblu5.Visible = false;
this.lbld2.Visible = false;
this.lbld3.Visible = false;
this.lbld4.Visible = false;
this.lbld5.Visible = false;
this.lbld1.Text = "";
this.lbld2.Text = "";
this.lbld3.Text = "";
this.lbld4.Text = "";
this.lbld5.Text = "";
get_radom();
u1 = 0;
u2 = 0;
this.lblu1.Visible = true;
this.lbld1.Visible = true;
sum1 = 0;
sum2 = 0;
kk=0;
} private void button2_Click(object sender, EventArgs e)
{
if (!kaishi)
{
MessageBox.Show("还没开始了!点击开始选牌吧!");
return;
}
if (kk == 1)
{
MessageBox.Show("这局已经平分了,请重新开局吧!!!");
return;
}
if (u1 == 4)
{
MessageBox.Show("5张都已选了,这么好的牌,还选,你傻啊!");
return;
}
if (!isda())
return;
else
u1++;
sum1 = 0;
for (int i = 0; i <= u1; i++)
{ sum1 += pai1[i];
}
hehe(); if (sum2 < 17)
{
sum2 = 0;
u2++;
for (int j = 0; j <= u2; j++)
sum2 += pai2[j];
} huhu();
}
private void hehe()
{
if (u1 >=1)
{
this.lblu2.Visible = true;
if(u1>=2)
{
this.lblu3.Visible=true;
if(u1>=3)
{
this.lblu4.Visible=true;
if(u1>=4)
{
this.lblu5.Visible=true;
}
else return;
}
} }
}
private void huhu()
{
if (u2 >= 1)
{
this.lbld2.Visible = true;
this.lbld2.Visible = true;
if (u2 >= 2)
{
this.lbld3.Visible = true; if (u2 >= 3)
{
this.lbld4.Visible = true;
if (u2 >= 4)
{
this.lbld5.Visible = true;
}
else return;
}
} }
} private void diaonaopai()
{
if (u2 >= 1)
{
this.lbld1.Text = pai2[0].ToString();
this.lbld2.Text = pai2[1].ToString();
if (u2 >= 2)
{
this.lbld3.Text = pai2[2].ToString();
if (u2 >= 3)
{
this.lbld4.Text = pai2[3].ToString(); if (u2 >= 4)
{
this.lbld5.Text = pai2[4].ToString();
}
else return;
}
} } }
private bool isda()
{
if (sum1 > 21)
{
MessageBox.Show("不好意思!爆牌,你不能选牌了,开牌吧!!");
return false;
}
else return true; }
private bool isxiao()
{
if (sum1 < 17)
{
MessageBox.Show("你的牌数还没到17哦!继续选牌吧,还有小心爆牌哦!!!");
return false;
}
else return true;
}
private void button3_Click(object sender, EventArgs e)
{
if (!kaishi)
{
MessageBox.Show("还没开始了!点击开始选牌吧!");
return;
}
if (kk == 1)
{
MessageBox.Show("这局平分已经平了,重新开局吧!");
return;
}
if (!isxiao())
return;
diannaoqushu();
diaonaopai();
if ((u1 == 4)&&(sum1<=21))
{
if (u2 == 4)
{
MessageBox.Show("运气不太好,这种牌都能和局!");
pease++;
}
else
{
MessageBox.Show("你牌太好了,5张都没爆,翻3倍,win3局");
win += 3;
}
this.textBox1.Text = "win:" + win + " lost :" + lost + " pease:" + pease;
kk = 1;
return;
}
if ((u2 == 4)&&(sum2<=21))
{
huhu();
MessageBox.Show("运气太次了,让电脑得了这种牌,你lost3局");
lost += 3;
this.textBox1.Text = "win:" + win + " lost :" + lost + " pease:" + pease;
kk = 1;
return;
}
// diannaoqushu();
// diaonaopai();
if ((sum1 > 21 && sum2 > 21)||(sum1==sum2))
{
MessageBox.Show("运气不错麽,和电脑打了平手! 你的总数"+sum1+"电脑总数"+sum2);
pease++;
}
else if ((sum1 > 21 && sum2<=21))
{
MessageBox.Show("你运气太次了,输给电脑了! 你的总数" + sum1 + "电脑总数" + sum2);
lost++; }
else if ((sum1 > sum2)||((sum1<=21)&&(sum2>21)))
{
MessageBox.Show("恭喜你,you win 你的总数"+sum1+"电脑总数"+sum2);
win++; }
else
{
MessageBox.Show("你运气太次了,输给电脑了! 你的总数" + sum1 + "电脑总数" + sum2);
lost++;
}
kk = 1;
this.textBox1.Text = "win:" + win + " lost :" + lost + " pease:" + pease;
} private void toolStripButton2_Click(object sender, EventArgs e)
{
Frmhelp_usr fm = new Frmhelp_usr();
fm.Text = "游戏简介";
iswho = 0;
fm.Show();
} private void toolStripButton3_Click(object sender, EventArgs e)
{
Frmhelp_usr fms = new Frmhelp_usr();
fms.Text = "作者简介!";
iswho = 1;
fms.Show();
} private void textBox1_TextChanged(object sender, EventArgs e)
{ } private void label4_Click(object sender, EventArgs e)
{ } private void lblu1_Click(object sender, EventArgs e)
{ }
}
}
帮我看看怎么能实现1. 电脑只随机得到1个1-40的数.(只有1个,而且用户不知道)
2. 用户只能得到1-10的数,但能得到几个(但如果大于20,就直接比较)
3. 点比较时,看谁的和20近或等于20,谁就赢.
//////////////////////////////////////////////////////////using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace _21点
{
public partial class Form1 : Form
{
public static int iswho=0;
private int u1;
private int u2;
private int sum1;
private int sum2;
private int []pai1=new int[5];
private int[] pai2 = new int[5];
int kk;//记录是否已经平分了
bool kaishi; private int lost, win, pease;
public Form1()
{
InitializeComponent();
u1 = 0;
u2 = 0;
for (int i = 0; i < 5; i++)
{
pai1[i] = 0;
pai2[i] = 0;
}
sum1 = 0;
sum2 = 0;
lost = 0;
win = 0;
pease = 0;
kk = 0;
kaishi = false; } private void Form1_Load(object sender, EventArgs e)
{ this.textBox1.Text = "win:" + win + " lost:" + lost + " pease:" + pease;
} protected void get_radom()
{
Random a = new Random();
for (int i = 0; i < 5; i++)
{
pai1[i] = a.Next(1, 14);
pai2[i] = a.Next(1, 14);
// pai2[i] = 2;
} this.lblu1.Text = pai1[0].ToString();
this.lblu2.Text = pai1[1].ToString();
this.lblu3.Text = pai1[2].ToString();
this.lblu4.Text = pai1[3].ToString();
this.lblu5.Text = pai1[4].ToString();
}
private void diannaoqushu()
{ while (sum2 < 17)
{
sum2 = 0;
u2++;
for (int j = 0; j <= u2; j++)
{
if (j == 5)
break;
sum2 += pai2[j];
}
if (u2 == 4)
return;
} huhu();
}
private void button1_Click(object sender, EventArgs e)
{
kaishi = true;
this.lblu2.Visible = false;
this.lblu3.Visible = false;
this.lblu4.Visible = false;
this.lblu5.Visible = false;
this.lbld2.Visible = false;
this.lbld3.Visible = false;
this.lbld4.Visible = false;
this.lbld5.Visible = false;
this.lbld1.Text = "";
this.lbld2.Text = "";
this.lbld3.Text = "";
this.lbld4.Text = "";
this.lbld5.Text = "";
get_radom();
u1 = 0;
u2 = 0;
this.lblu1.Visible = true;
this.lbld1.Visible = true;
sum1 = 0;
sum2 = 0;
kk=0;
} private void button2_Click(object sender, EventArgs e)
{
if (!kaishi)
{
MessageBox.Show("还没开始了!点击开始选牌吧!");
return;
}
if (kk == 1)
{
MessageBox.Show("这局已经平分了,请重新开局吧!!!");
return;
}
if (u1 == 4)
{
MessageBox.Show("5张都已选了,这么好的牌,还选,你傻啊!");
return;
}
if (!isda())
return;
else
u1++;
sum1 = 0;
for (int i = 0; i <= u1; i++)
{ sum1 += pai1[i];
}
hehe(); if (sum2 < 17)
{
sum2 = 0;
u2++;
for (int j = 0; j <= u2; j++)
sum2 += pai2[j];
} huhu();
}
private void hehe()
{
if (u1 >=1)
{
this.lblu2.Visible = true;
if(u1>=2)
{
this.lblu3.Visible=true;
if(u1>=3)
{
this.lblu4.Visible=true;
if(u1>=4)
{
this.lblu5.Visible=true;
}
else return;
}
} }
}
private void huhu()
{
if (u2 >= 1)
{
this.lbld2.Visible = true;
this.lbld2.Visible = true;
if (u2 >= 2)
{
this.lbld3.Visible = true; if (u2 >= 3)
{
this.lbld4.Visible = true;
if (u2 >= 4)
{
this.lbld5.Visible = true;
}
else return;
}
} }
} private void diaonaopai()
{
if (u2 >= 1)
{
this.lbld1.Text = pai2[0].ToString();
this.lbld2.Text = pai2[1].ToString();
if (u2 >= 2)
{
this.lbld3.Text = pai2[2].ToString();
if (u2 >= 3)
{
this.lbld4.Text = pai2[3].ToString(); if (u2 >= 4)
{
this.lbld5.Text = pai2[4].ToString();
}
else return;
}
} } }
private bool isda()
{
if (sum1 > 21)
{
MessageBox.Show("不好意思!爆牌,你不能选牌了,开牌吧!!");
return false;
}
else return true; }
private bool isxiao()
{
if (sum1 < 17)
{
MessageBox.Show("你的牌数还没到17哦!继续选牌吧,还有小心爆牌哦!!!");
return false;
}
else return true;
}
private void button3_Click(object sender, EventArgs e)
{
if (!kaishi)
{
MessageBox.Show("还没开始了!点击开始选牌吧!");
return;
}
if (kk == 1)
{
MessageBox.Show("这局平分已经平了,重新开局吧!");
return;
}
if (!isxiao())
return;
diannaoqushu();
diaonaopai();
if ((u1 == 4)&&(sum1<=21))
{
if (u2 == 4)
{
MessageBox.Show("运气不太好,这种牌都能和局!");
pease++;
}
else
{
MessageBox.Show("你牌太好了,5张都没爆,翻3倍,win3局");
win += 3;
}
this.textBox1.Text = "win:" + win + " lost :" + lost + " pease:" + pease;
kk = 1;
return;
}
if ((u2 == 4)&&(sum2<=21))
{
huhu();
MessageBox.Show("运气太次了,让电脑得了这种牌,你lost3局");
lost += 3;
this.textBox1.Text = "win:" + win + " lost :" + lost + " pease:" + pease;
kk = 1;
return;
}
// diannaoqushu();
// diaonaopai();
if ((sum1 > 21 && sum2 > 21)||(sum1==sum2))
{
MessageBox.Show("运气不错麽,和电脑打了平手! 你的总数"+sum1+"电脑总数"+sum2);
pease++;
}
else if ((sum1 > 21 && sum2<=21))
{
MessageBox.Show("你运气太次了,输给电脑了! 你的总数" + sum1 + "电脑总数" + sum2);
lost++; }
else if ((sum1 > sum2)||((sum1<=21)&&(sum2>21)))
{
MessageBox.Show("恭喜你,you win 你的总数"+sum1+"电脑总数"+sum2);
win++; }
else
{
MessageBox.Show("你运气太次了,输给电脑了! 你的总数" + sum1 + "电脑总数" + sum2);
lost++;
}
kk = 1;
this.textBox1.Text = "win:" + win + " lost :" + lost + " pease:" + pease;
} private void toolStripButton2_Click(object sender, EventArgs e)
{
Frmhelp_usr fm = new Frmhelp_usr();
fm.Text = "游戏简介";
iswho = 0;
fm.Show();
} private void toolStripButton3_Click(object sender, EventArgs e)
{
Frmhelp_usr fms = new Frmhelp_usr();
fms.Text = "作者简介!";
iswho = 1;
fms.Show();
} private void textBox1_TextChanged(object sender, EventArgs e)
{ } private void label4_Click(object sender, EventArgs e)
{ } private void lblu1_Click(object sender, EventArgs e)
{ }
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货