📄 cards.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
namespace QuickSpark
{
class Cards
{
/*private static int Itimes = 0;
GameForm form;
public cards(GameForm form)
{
this.form = form;
}
public void play()
{
//系统会每隔一段时间调用下面的函数 要玩游戏~~~
//生成机器人手中牌的随机数
Random Rnumber = new Random();
int Nnum = Rnumber.Next(1, 14);
//生成随机数来显示箭头的变量
int Iarrowhead = Rnumber.Next(1, 3);
//这是覆盖牌的中间数 用来记录覆盖牌的数值以便覆盖和修改
int p1, p2, p3, p4, q1, q2, q3, q4 = 0;
int[] Form1.getup
int[] cardsCards=form.getUpCards();
int[] midCards=form.getMidCards();
//IF是验证当第一个箭头为上 并且电脑手中4张牌中有牌比TEMP1的数字大的情况
if (!form.getUp1Status() && ((cardsCards[0] > midCards[0]) || (cardsCards[1] > midCards[0]) || (cardsCards[2] > midCards[0]) ||
(cardsCards[3]) > midCards[0]))
{
//把最大的数字覆盖TEMP1.TEXT
q1 = Math.Max(Math.Max(cardsCards[0], cardsCards[1]), Math.Max(cardsCards[2], cardsCards[3]));
form.setMid1Card(q1);
//生成新的电脑手中的刚使用的牌的随机数 覆盖旧牌
Nnum = Rnumber.Next(1, 14);
if (q1 == cardsCards[0])
{
Nnum = Rnumber.Next(1, 14);
form.setcards1Card(Nnum);
}
if (q1 == cardsCards[1])
{
Nnum = Rnumber.Next(1, 14);
form.setcards2Card(Nnum);
}
if (q1 == cardsCards[2])
{
Nnum = Rnumber.Next(1, 14);
form.setcards3Card(Nnum);
}
if (q1 == cardsCards[3])
{
Nnum = Rnumber.Next(1, 14);
form.setcards4Card(Nnum);
}
//修改箭头 随机上下
//form.initUpArrow();
//数字加一 记录已经成功修改牌一次
Itimes++;
form.ChangPic();
}
//当上一中情况不满足 就使用下一中情况 一共有9个情况 最后一个情况是当没牌可出的时候电脑自动洗牌 下面都是IF-ELSE类推
//表明了每隔X秒 机器人只会移动其中一张牌 并且机器人是按一定顺序要检查 这样降低难度 避免出现20张牌一次性全部使用完毕而造成
//玩家心理上和生理上的重大负担!
else
{
if (!form.getUp2Status() && ((cardsCards[0] > midCards[1]) || (cardsCards[1] > midCards[1]) || (cardsCards[2] > midCards[1]) ||
(cardsCards[3]) > midCards[1]))
{
q2 = Math.Max(Math.Max(cardsCards[0], cardsCards[1]), Math.Max(cardsCards[2], cardsCards[3]));
form.setMid1Card(q2);
//生成新的电脑手中的刚使用的牌的随机数 覆盖旧牌
Nnum = Rnumber.Next(1, 14);
if (q2 == cardsCards[0])
{
Nnum = Rnumber.Next(1, 14);
form.setcards1Card(Nnum);
}
if (q2 == cardsCards[1])
{
Nnum = Rnumber.Next(1, 14);
form.setcards2Card(Nnum);
}
if (q2 == cardsCards[2])
{
Nnum = Rnumber.Next(1, 14);
form.setcards3Card(Nnum);
}
if (q2 == cardsCards[3])
{
Nnum = Rnumber.Next(1, 14);
form.setcards4Card(Nnum);
}
//form.initUpArrow();
Itimes++;
form.ChangPic();
}
else
{
if (!form.getUp1Status() && ((cardsCards[0] > midCards[2]) || (cardsCards[1] > midCards[2]) || (cardsCards[2] > midCards[2]) ||
(cardsCards[3]) > midCards[2]))
{
q3 = Math.Max(Math.Max(cardsCards[0], cardsCards[1]), Math.Max(cardsCards[2], cardsCards[3]));
form.setMid1Card(q3);
//生成新的电脑手中的刚使用的牌的随机数 覆盖旧牌
Nnum = Rnumber.Next(1, 14);
if (q3 == cardsCards[0])
{
Nnum = Rnumber.Next(1, 14);
form.setcards1Card(Nnum);
}
if (q3 == cardsCards[1])
{
Nnum = Rnumber.Next(1, 14);
form.setcards2Card(Nnum);
}
if (q3 == cardsCards[2])
{
Nnum = Rnumber.Next(1, 14);
form.setcards3Card(Nnum);
}
if (q3 == cardsCards[3])
{
Nnum = Rnumber.Next(1, 14);
form.setcards4Card(Nnum);
}
//form.initUpArrow();
Itimes++;
form.ChangPic();
}
else
{
if (!form.getUp1Status() && ((cardsCards[0] > midCards[3]) || (cardsCards[1] > midCards[3]) || (cardsCards[2] > midCards[3]) ||
(cardsCards[3]) > midCards[3]))
{
q4 = Math.Max(Math.Max(cardsCards[0], cardsCards[1]), Math.Max(cardsCards[2], cardsCards[3]));
form.setMid1Card(q4);
//生成新的电脑手中的刚使用的牌的随机数 覆盖旧牌
Nnum = Rnumber.Next(1, 14);
if (q4 == cardsCards[0])
{
Nnum = Rnumber.Next(1, 14);
form.setcards1Card(Nnum);
}
if (q4 == cardsCards[1])
{
Nnum = Rnumber.Next(1, 14);
form.setcards2Card(Nnum);
}
if (q4 == cardsCards[2])
{
Nnum = Rnumber.Next(1, 14);
form.setcards3Card(Nnum);
}
if (q4 == cardsCards[3])
{
Nnum = Rnumber.Next(1, 14);
form.setcards4Card(Nnum);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -