你的位置:首页 > 数据库

[数据库]数据库操作(对战游戏)


数据连接类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace 对战
{
public class DZConnect
{
private static string connstring = "server=.;database=duizhan;user=sa;pwd=123";

public static SqlConnection Conn
{
get
{
return new SqlConnection(connstring);
}
}
}
}

实体类

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

 

namespace 对战
{
public class DZ
{
private int code;

 

public int Code
{
get { return code; }
set { code = value; }
}

 

private string name;

 

public string Name
{
get { return name; }
set { name = value; }
}
private bool sex;

 

public bool Sex
{
get { return sex; }
set { sex = value; }
}
private int xue;

 

public int Xue
{
get { return xue; }
set { xue = value; }
}
private int gong;

 

public int Gong
{
get { return gong; }
set { gong = value; }
}
private int fang;

 

public int Fang
{
get { return fang; }
set { fang = value; }
}
private int zhong;

 

public int Zhong
{
get { return zhong; }
set { zhong = value; }
}
private int shan;

 

public int Shan
{
get { return shan; }
set { shan = value; }
}

 

}

 

}

数据访问类

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace 对战
{
class DZDA
{
private SqlConnection _conn;
private SqlCommand _cmd;
private SqlDataReader _dr;


public DZDA()
{
_conn = DZConnect.Conn;
_cmd = _conn.CreateCommand();
}

public bool Add(string code, string name)
{

int seed = (int)Convert.ToChar(name.Substring(0, 1)) + (int)Convert.ToChar(name.Substring(0, 1));
Random rand = new Random();
bool sex = true;
int xue = 800 + rand.Next(100);
int gong = 300 + rand.Next(100);
int fang = 10 + rand.Next(20);
int zhong = rand.Next(80) + 50;
int shan = rand.Next(80) + 10;

_cmd.CommandText = "insert into DZ values(@code,@name,@sex,@xue,@gong,@fang,@zhong,@shan)";
_cmd.Parameters.Clear();
_cmd.Parameters.AddWithValue("@code", code);
_cmd.Parameters.AddWithValue("@name", name);
_cmd.Parameters.AddWithValue("@sex", sex);
_cmd.Parameters.AddWithValue("@xue", xue);
_cmd.Parameters.AddWithValue("@gong", gong);
_cmd.Parameters.AddWithValue("@fang", fang);
_cmd.Parameters.AddWithValue("@zhong", zhong);
_cmd.Parameters.AddWithValue("@shan", shan);

_conn.Open();
int n = _cmd.ExecuteNonQuery();
_conn.Close();
if (n > 0)
{
return true;
}
else
{
return false;
}
}
public List<DZ> Select()
{
_cmd.CommandText = "select * from DZ";
_conn.Open();
_dr = _cmd.ExecuteReader();

List<DZ> list = new List<DZ>();

if (_dr.HasRows)
{
while (_dr.Read())
{
DZ data = new DZ();
data.Code = (int)_dr[0];
data.Name = _dr[1].ToString();
data.Sex = Convert.ToBoolean(_dr[2]);
data.Xue = (int)_dr[3];
data.Gong = (int)_dr[4];
data.Fang = (int)_dr[5];
data.Zhong = (int)_dr[6];
data.Shan = (int)_dr[7];

list.Add(data);
}

}
_conn.Close();

return list;

}

public List<DZ> Select( string name)
{
_cmd.CommandText = "select * from DZ where Name=@name";
_cmd.Parameters.Clear();
_cmd.Parameters.AddWithValue("@name", name);
_conn.Open();
_dr = _cmd.ExecuteReader();

List<DZ> list = new List<DZ>();

if (_dr.HasRows)
{
while (_dr.Read())
{
DZ data = new DZ();
data.Code = (int)_dr[0];
data.Name = _dr[1].ToString();
data.Sex = Convert.ToBoolean(_dr[2]);
data.Xue = (int)_dr[3];
data.Gong = (int)_dr[4];
data.Fang =(int)_dr[5];
data.Zhong = (int)_dr[6];
data.Shan = (int)_dr[7];

list.Add(data);
}

}
_conn.Close();

return list;

}

}
}

主函数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace 对战
{
class Program
{
static DZ at(DZ d_1, DZ d_2)
{
Random rand = new Random();
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine(d_1.Name + "准备发起攻击····");
Console.ForegroundColor = ConsoleColor.Black;

System.Threading.Thread.Sleep(1000);
int m2 = rand.Next(100) + d_1.Zhong;
int s1 = rand.Next(100) + d_2.Shan;
if (m2 > 100)
{
if (s1 > 150)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(d_2.Name + "躲开了" + d_1.Name + "的攻击");
Console.ForegroundColor = ConsoleColor.Black;
}
else
{
int a = rand.Next(200) + d_1.Gong;
d_2.Xue = d_2.Xue - a + d_2.Fang;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(d_1.Name + "攻击掉" + d_2.Name + (a - d_2.Fang) + "血");
Console.ForegroundColor = ConsoleColor.Black;
}
}
else
{
Console.ForegroundColor = ConsoleColor.DarkYellow;
Console.WriteLine(d_1.Name + "攻击失误");
Console.ForegroundColor = ConsoleColor.Black;
}
return (d_2);
}
static void Main(string[] args)
{
Console.WriteLine("1是添加,2是战斗");
string c = Console.ReadLine();
if (c == "1")
{
DZDA zz = new DZDA();
int i = 0;
while (i < 1)
{
Console.WriteLine("请输入代号:");
string code = Console.ReadLine();
Console.WriteLine("请输入名字:");
string name = Console.ReadLine();

if (zz.Add(code, name))
{
Console.WriteLine("输入成功!");
}
else
{
Console.WriteLine("输入失败!");
}
i++;
Console.WriteLine("是否继续添加,继续添加选择1,停止选择2");
int n = int.Parse(Console.ReadLine());
if (n == 1)
{
i--;
}
else
{
Console.WriteLine("全部添加完毕");
}
}
Console.WriteLine("回车显示添加数据");
Console.ReadLine();


List<DZ> list = zz.Select();

foreach (DZ data in list)
{
string sexname=data.Sex?"男":"女";

Console.WriteLine(data.Code + "--" + data.Name + "--" + sexname + "--" + data.Xue + "血值:" + data.Gong + "攻击:" + data.Fang + "防御:" + data.Zhong + "命中:" + data.Shan + "闪避:");
}
Console.ReadLine();
}
else if (c == "2")
{
DZDA zz = new DZDA();
int j = 0;
while (j < 1)
{
Console.WriteLine("请输入第一个玩家姓名:");
string Name_1 = Console.ReadLine();
List<DZ> list1 = zz.Select(Name_1);
Console.WriteLine("*************");
Console.WriteLine("请输入第二个玩家姓名:");
string Name_2 = Console.ReadLine();
List<DZ> list2 = zz.Select(Name_2);
Console.WriteLine("*************");
while (list1[0].Xue > 0 && list2[0].Xue > 0)
{
DZ pp2 = at(list1[0], list2[0]);
list2[0] = pp2;
DZ pp1 = at(list2[0], list1[0]);
list1[0] = pp1;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(list2[0].Name + ":" + (list2[0].Xue < 0 ? 0 : list2[0].Xue) + "**********" + (list1[0].Name + ":" + (list1[0].Xue < 0 ? 0 : list1[0].Xue)));
//Console.WriteLine("aa");
Console.WriteLine();
Console.WriteLine();
System.Threading.Thread.Sleep(2000);
}
Console.WriteLine("---------战斗结束------------");
Console.WriteLine();
if (list1[0].Xue <= 0 && list2[0].Xue > 0)
{
Console.WriteLine(list2[0].Name + "赢了");
}
else if (list2[0].Xue <= 0 && list1[0].Xue > 0)
{
Console.WriteLine(list1[0].Name + "赢了");
}
else if (list1[0].Xue <= 0 && list2[0].Xue <= 0)
{
Console.WriteLine(list2[0].Name + "同归于尽");
}
j++;
Console.WriteLine("需要继续战斗吗?继续:1,否:2");
int d = int.Parse(Console.ReadLine());
if (d == 1)
{
j--;
}
else
{
Console.WriteLine("对战完毕");
}
}
}
Console.ReadLine();

}
}
}