网页斗地主游戏源码(求unity3d斗地主游戏源码)

2024-09-30 08:22:04 0

网页斗地主游戏源码(求unity3d斗地主游戏源码)

大家好,网页斗地主游戏源码相信很多的网友都不是很明白,包括求unity3d斗地主游戏源码也是一样,不过没有关系,接下来就来为大家分享关于网页斗地主游戏源码和求unity3d斗地主游戏源码的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

本文目录

求unity3d斗地主游戏源码

我根据自己的理解写一点吧,纯手写。第一题: 1,脚本中定义public变量,然后在检视面板(inspector)中拖拽赋值获取 2,使用GameObject.Find+游戏物体名字获取如:GameObject.Find("cube"); 3,使用GameObject.FindGameObjectWithTag

c#设计斗地主游戏!【高手进】

我到做过贪吃蛇的! 给你源代码using System;using System.Collections;using System.Drawing;using System.Windows.Forms;using System.Timers; namespace GreedySnake{ #region Snake 蛇身 /// /// Snake 的摘要说明。 /// public class Snake { private Control dcControl; private static int iMoveDirection = 0x1000; // 蛇的运动方向 , 初始化为 right - 0x1000 private int iCount; // 骨节的总数 private int iRadius; // 骨节的半径 private static int iCurrentHeadX; // 当前蛇头的中心坐标 X private static int iCurrentHeadY; // 当前蛇头的中心坐标 Y private static int iCurrentTrailX; // 当前蛇尾的中心坐标 X private static int iCurrentTrailY; // 当前蛇尾的中心坐标 Y private static int iNextHeadX; // 下一时刻蛇头的中心坐标 X private static int iNextHeadY; // 下一时刻蛇头的中心坐标 Y private static int iPreTrailX; // 前一时刻蛇尾的中心坐标 X private static int iPreTrailY; // 前一时刻蛇尾的中心坐标 Y private static ArrayList alSnake; // 存放整条蛇 private bool bDisposing = true; private bool bIsEatself = false; // 是否吃自己 private bool bIsOutOfRange = false; // 是否超出允许活动的范围 public Control DcControl { set { dcControl = value; } get { return dcControl;} } public int MoveDirection { set { iMoveDirection = value; } get { return iMoveDirection; } } public int Count { set { iCount = value; } get { return iCount; } } public int Radius { set { iRadius = value; } get { return iRadius; } } public int CurrentHeadX { set { iCurrentHeadX = value; } get { return iCurrentHeadX; } } public int CurrentHeadY { set { iCurrentHeadY = value; } get { return iCurrentHeadY; } } public int CurrentTrailX { set { iCurrentTrailX = value; } get { return iCurrentTrailX; } } public int CurrentTrailY { set { iCurrentTrailY = value; } get { return iCurrentTrailY; } } public int NextHeadX { set { iNextHeadX = value; } get { return iNextHeadX; } } public int NextHeadY { set { iNextHeadY = value; } get { return iNextHeadY; } } public int PreTrailX { set { iPreTrailX = value; } get { return iPreTrailX; } } public int PreTrailY { set { iPreTrailY = value; } get { return iPreTrailY; } } public bool IsEatself { set { bIsEatself = value; } get { return bIsEatself; } } public bool IsOutOfRange { set { bIsOutOfRange = value; } get { return bIsOutOfRange;} } public Snake() : this(null , 20 , 5) { // // TODO: 在此处添加构造函数逻辑 // } public Snake(Control control , int iCount , int iRadius) { DcControl = control; Count = iCount; Radius = iRadius; CurrentHeadX = CurrentTrailX = PreTrailX = 5; CurrentHeadY = CurrentTrailY = PreTrailY = 5; Initialize(); } ~Snake() { Dispose(false); } // 初始化蛇 private void Initialize() { alSnake = new ArrayList(); for (int i=0 ; i { alSnake.Insert(0 , new SnakeNode(DcControl , CurrentHeadX , CurrentHeadY , Radius)); CurrentHeadX += 2 * Radius; } CurrentHeadX -= 2 * Radius; NextHeadX = CurrentHeadX + 2 * Radius; NextHeadY = CurrentHeadY; } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } public void Dispose( bool bDisposing ) { if (bDisposing) { // 调用 Dispose 处理受控资源中的字段 MoveDirection = 0x1000; CurrentHeadX = CurrentHeadY = NextHeadX = NextHeadY = 5; alSnake.Clear(); } // 清除非受控资源 } // 加头 public void AddHead() { alSnake.Insert(0 , new SnakeNode(DcControl , NextHeadX , NextHeadY , Radius)); CurrentHeadX = NextHeadX; CurrentHeadY = NextHeadY; Count++; } // 加尾 public void AddTrail() { alSnake.Add(new SnakeNode(DcControl , PreTrailX , PreTrailY , Radius)); Count++; ((SnakeNode)alSnake).Draw(); } // 去尾 public void RemoveTrail() { if (alSnake.Count》1) { PreTrailX = ((SnakeNode)alSnake).CenterX; PreTrailY = ((SnakeNode)alSnake).CenterY; alSnake.RemoveAt(alSnake.Count - 1); Count--; CurrentTrailX = ((SnakeNode)alSnake).CenterX; CurrentTrailY = ((SnakeNode)alSnake).CenterY; } } // 移动到下一位置 public void MoveNext() { // 加头 AddHead(); // 画头 ((SnakeNode)alSnake).Draw(); // 清除尾(将蛇尾用背景色填充) ((SnakeNode)alSnake).Clear(); // 去尾(将蛇尾从 ArrayList 中删除) RemoveTrail(); } // 画整条蛇 public void Draw() { for (int i=0; i { ((SnakeNode)alSnake).Draw(); } } // 清除整条蛇 public void Clear() { for (int i=0; i { ((SnakeNode)alSnake).Clear(); } } // 重设运动方向 public void ResetMoveDirection(string strKeyData) { // 获取键盘输入 int iKeyDirection; switch (strKeyData) { case "W": case "Up": iKeyDirection = 0x0001; break; case "S": case "Down": iKeyDirection = 0x0010; break; case "A": case "Left": iKeyDirection = 0x0100; break; case "D": case "Right": iKeyDirection = 0x1000; break; default: iKeyDirection = 0x0010; break; } // 重设蛇的运动方向(综合按键方向和当前蛇的运动方向考虑) int iDirection = iKeyDirection | MoveDirection; if (iDirection == 0x0011 || iDirection == 0x1100) MoveDirection = MoveDirection; // 运动方向保持不变 else MoveDirection = iKeyDirection; // 运动方向等于按键方向 } // 是否超出范围 public void Check() { GetNextHeadXY(); // 检查是否吃自己 foreach (SnakeNode sn in alSnake) { if (sn.CenterX == NextHeadX && sn.CenterY == NextHeadY) { IsEatself = true; break; } } // 检查是否超出允许活动的范围 IsOutOfRange = NextHeadX《0 || NextHeadX》DcControl.Width || NextHeadY《0 || NextHeadY》DcControl.Height; } // 预先算出下个位置坐标 private void GetNextHeadXY() { switch (MoveDirection) { case 0x0001: NextHeadX = CurrentHeadX; NextHeadY = CurrentHeadY - 2 * Radius; break; case 0x0010: NextHeadX = CurrentHeadX; NextHeadY = CurrentHeadY + 2 * Radius; break; case 0x0100: NextHeadX = CurrentHeadX - 2 * Radius; NextHeadY = CurrentHeadY; break; case 0x1000: NextHeadX = CurrentHeadX + 2 * Radius; NextHeadY = CurrentHeadY; break; default: break; } } } #endregion #region SnakeNode 蛇的骨节 /// /// Snake Note /// 蛇的骨节 /// public class SnakeNode { private Control dcControl; // 用于画图的控件 private int iCenterX; // 中心坐标 X private int iCenterY; // 中心坐标 Y private int iRadius; // 半径 private Color colorNode; // 颜色 public Control DcControl { set { dcControl = value; } get { return dcControl; } } public int CenterX { set { iCenterX = value; } get { return iCenterX; } } public int CenterY { set { iCenterY = value; } get { return iCenterY; } } public int Radius { set { iRadius = value; } get { return iRadius; } } public Color ColorNode { set { colorNode = value; } get { return colorNode; } } private bool bDisposing = true; public SnakeNode() : this(null , 0 , 0 , 5) { } public SnakeNode(Control control , int iX , int iY , int iR) { DcControl = control; CenterX = iX; CenterY = iY; Radius = iR; } ~SnakeNode() { Dispose(false); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } public void Dispose( bool bDisposing ) { if (bDisposing) { // 调用 Dispose 处理受控资源中的字段 CenterX = CenterY = 0; Radius = 5; } // 清除非受控资源 } // 画自身 public void Draw() { Draw(Color.Blue); } public void Draw(Color color) { // 以指定颜色画圆 ColorNode = color; DrawCircle(ColorNode); } // 清除 public void Clear() { // 以控件的背景色画圆 DrawCircle(DcControl.BackColor); } // 以骨节的中心画圆 public void DrawCircle(Color color) { using (Graphics dc = DcControl.CreateGraphics()) { // 创建实心的笔刷 SolidBrush sbBrush = new SolidBrush(color); // 创建圆的区间范围 float x = CenterX - Radius; float y = CenterY - Radius; float width = 2 * Radius; float height = 2 * Radius; // 创建开始和扫过的弧度 float fStartAngle = 0.0F; float fSweepAngle = 360.0F; // 画圆 dc.FillPie(sbBrush , x , y , width , height , fStartAngle , fSweepAngle); } } } #endregion #region SnakeFood 蛇的食物 /// /// SnakeFood 的摘要说明。 /// public class SnakeFood { private Control dcControl; private int iMaxCount; // 最多能剩下的食物总数 private int iCurrentCount; // 当前剩下的食物总数 private int iRadius; // 骨节的半径private Color{Color.Red , Color.Green , Color.Yellow}; // 新点的颜色取值范围 private static ArrayList alSnakeFood; // 蛇的食物 private bool bDisposing = true; public Control DcControl { set { dcControl = value; } get { return dcControl;} } public int MaxCount { set { iMaxCount = value; } get { return iMaxCount; } } public int CurrentCount { set { iCurrentCount = value;} get { return iCurrentCount;} } public int Radius { set { iRadius = value; } get { return iRadius; } } public SnakeNode this { get { if (index《0 || index》=CurrentCount) { throw new IndexOutOfRangeException(); } return (SnakeNode)alSnakeFood; } } public SnakeFood() : this(null , 5 , 5) { } public SnakeFood(Control control , int iMaxCount , int iRadius) { DcControl = control; MaxCount = iMaxCount; CurrentCount = 0; Radius = iRadius; alSnakeFood = new ArrayList(); } ~SnakeFood() { Dispose(false); } public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } public void Dispose( bool bDisposing ) { if (bDisposing) { // 调用 Dispose 处理受控资源中的字段 CurrentCount = 0; alSnakeFood.Clear(); } // 清除非受控资源 } // 添加食物 public void AddFood() { Random random = new Random(); int iStep = Radius + Radius; int iX = Radius + iStep * random.Next(0 , DcControl.Width/iStep); int iY = Radius + iStep * random.Next(0 , DcControl.Height/iStep); SnakeNode sn = new SnakeNode(DcControl , iX , iY , iRadius); Random randomIndex = new Random(); Color color = acolor; color = Color.Green; sn.Draw(color); alSnakeFood.Add(sn); // 当前剩下的食物总数加1 CurrentCount++; } // 删除被吃掉的食物 public void RemoveFood(int iIndex) { if (CurrentCount》0) { alSnakeFood.RemoveAt(iIndex); // 当前剩下的食物总数减1 CurrentCount--; } } // 画所有食物 public void Draw() { foreach (SnakeNode sn in alSnakeFood) { sn.Draw(); } } // 清除所有食物 public void Clear() { foreach (SnakeNode sn in alSnakeFood) { sn.Clear(); } } } #endregion}

用C#写一个斗地主程序

写是肯定可以写的, 如果是单单的人与人的对战容易实现一点, 如果要实现人机对战, 这里面涉及到人工智能,算法非常复杂, 没有一定的功底写不出来。

如果你还想了解更多这方面的信息,记得收藏关注本站。

网页斗地主游戏源码(求unity3d斗地主游戏源码)

本文编辑:admin
下一篇:没有内容了

更多文章:


极品飞车8地下狂飙(极品飞车8之地下狂飙2繁体中文完美硬盘版 怎么安装啊)

极品飞车8地下狂飙(极品飞车8之地下狂飙2繁体中文完美硬盘版 怎么安装啊)

大家好,今天小编来为大家解答以下的问题,关于极品飞车8地下狂飙,极品飞车8之地下狂飙2繁体中文完美硬盘版 怎么安装啊这个很多人还不知道,现在让我们一起来看看吧!本文目录极品飞车8之地下狂飙2繁体中文完美硬盘版 怎么安装啊极品飞车8:地下狂飙

2024年4月25日 12:03

小众好玩的手机游戏(日常安利《梦境侦探》恨不得拿放大镜的侦探游戏)

小众好玩的手机游戏(日常安利《梦境侦探》恨不得拿放大镜的侦探游戏)

其实小众好玩的手机游戏的问题并不复杂,但是又很多的朋友都不太了解日常安利《梦境侦探》恨不得拿放大镜的侦探游戏,因此呢,今天小编就来为大家分享小众好玩的手机游戏的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录日常安

2024年5月5日 16:06

英文游戏名字男(仙气飘飘的英文游戏男名 英文名字简单气质娴静唯美)

英文游戏名字男(仙气飘飘的英文游戏男名 英文名字简单气质娴静唯美)

大家好,如果您还对英文游戏名字男不太了解,没有关系,今天就由本站为大家分享英文游戏名字男的知识,包括仙气飘飘的英文游戏男名 英文名字简单气质娴静唯美的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录仙气飘飘的英文游戏

2024年5月6日 16:42

石头剪刀布输了看隐私的游戏作文(剪刀石头布四年级作文)

石头剪刀布输了看隐私的游戏作文(剪刀石头布四年级作文)

大家好,关于石头剪刀布输了看隐私的游戏作文很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于剪刀石头布四年级作文的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本

2024年6月23日 00:21

免费强 游戏女角色破解版(女神之刃s有破解版吗)

免费强 游戏女角色破解版(女神之刃s有破解版吗)

大家好,免费强 游戏女角色破解版相信很多的网友都不是很明白,包括女神之刃s有破解版吗也是一样,不过没有关系,接下来就来为大家分享关于免费强 游戏女角色破解版和女神之刃s有破解版吗的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开

2024年6月30日 03:55

洛克王国符咒鲨进化(洛克王国各系最厉害是谁)

洛克王国符咒鲨进化(洛克王国各系最厉害是谁)

大家好,关于洛克王国符咒鲨进化很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于洛克王国各系最厉害是谁的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录洛克

2024年8月3日 17:06

恐龙快打(无限币)(恐龙快打攻略)

恐龙快打(无限币)(恐龙快打攻略)

“恐龙快打(无限币)”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看恐龙快打(无限币)(恐龙快打攻略)!本文目录恐龙快打攻略手机版恐龙快打无限币版如何弄出2p我在平板电脑上安装了安卓版的《恐龙快打》可是只能跳,不能打敌人,请

2024年5月26日 18:43

街机模拟器9000合集安卓版(fbn街机游戏模拟器安卓APK)

街机模拟器9000合集安卓版(fbn街机游戏模拟器安卓APK)

大家好,关于街机模拟器9000合集安卓版很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于fbn街机游戏模拟器安卓APK的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所

2024年6月12日 20:00

崇州疫情最新消息今天新增病例(11月27日蕲春县疫情情况最新通报蕲春县疫情最新消息今天)

崇州疫情最新消息今天新增病例(11月27日蕲春县疫情情况最新通报蕲春县疫情最新消息今天)

大家好,关于崇州疫情最新消息今天新增病例很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于11月27日蕲春县疫情情况最新通报蕲春县疫情最新消息今天的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关

2024年6月30日 04:09

单机永久免费版(谁知道哪里永久免费的CRM软件啊求推荐个)

单机永久免费版(谁知道哪里永久免费的CRM软件啊求推荐个)

大家好,单机永久免费版相信很多的网友都不是很明白,包括谁知道哪里永久免费的CRM软件啊求推荐个也是一样,不过没有关系,接下来就来为大家分享关于单机永久免费版和谁知道哪里永久免费的CRM软件啊求推荐个的一些知识点,大家可以关注收藏,免得下次来

2024年5月17日 19:04

以前的一个游戏叫忍者什么(以前的一个游戏叫忍者什么如何下载)

以前的一个游戏叫忍者什么(以前的一个游戏叫忍者什么如何下载)

大家好,如果您还对以前的一个游戏叫忍者什么不太了解,没有关系,今天就由本站为大家分享以前的一个游戏叫忍者什么的知识,包括以前的一个游戏叫忍者什么如何下载的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录以前的一个游戏

2024年5月24日 13:50

恐龙快打安卓版免费下载(恐龙快打安卓版恐龙快打安卓)

恐龙快打安卓版免费下载(恐龙快打安卓版恐龙快打安卓)

大家好,今天小编来为大家解答以下的问题,关于恐龙快打安卓版免费下载,恐龙快打安卓版恐龙快打安卓这个很多人还不知道,现在让我们一起来看看吧!本文目录恐龙快打安卓版恐龙快打安卓恐龙快打豪华版安卓游戏高速下载安卓手机在哪里下载恐龙快打游戏恐龙快打

2024年6月6日 19:39

导弹防御游戏(超级天闪导弹)

导弹防御游戏(超级天闪导弹)

这篇文章给大家聊聊关于导弹防御游戏,以及超级天闪导弹对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录超级天闪导弹植物大战僵尸2天空导弹怎么防导弹模拟器破解版下载如何下载有哪些导弹追飞机的游戏战舰拦截导弹游戏植物大战僵尸2天空之

2024年6月22日 20:03

兔八哥如何获得?猫和老鼠兔八哥怎么获得

兔八哥如何获得?猫和老鼠兔八哥怎么获得

这篇文章给大家聊聊关于兔八哥游戏,以及兔八哥如何获得对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录兔八哥如何获得猫和老鼠兔八哥怎么获得迷你世界兔八哥房间密码是什么迷你世界兔八哥的好兄弟是谁啊兔八哥如何获得1、商店兑换。在游戏

2024年8月10日 03:18

暗黑破坏神2手机版(暗黑破坏神2手机移植版解压失败)

暗黑破坏神2手机版(暗黑破坏神2手机移植版解压失败)

这篇文章给大家聊聊关于暗黑破坏神2手机版,以及暗黑破坏神2手机移植版解压失败对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录暗黑破坏神2手机移植版解压失败为什么我下载的暗黑破坏神2在手机模拟器上不能运行听说手机也可以玩暗黑破坏

2024年6月21日 06:40

梦幻西游双平台官方版(梦幻西游手游在双平台怎么没有角色)

梦幻西游双平台官方版(梦幻西游手游在双平台怎么没有角色)

大家好,今天小编来为大家解答以下的问题,关于梦幻西游双平台官方版,梦幻西游手游在双平台怎么没有角色这个很多人还不知道,现在让我们一起来看看吧!本文目录梦幻西游手游在双平台怎么没有角色梦幻西游手游双平台是什么意思梦幻西游手游在双平台怎么没有角

2024年7月25日 22:51

找茬图片10处不同(汉字找茬王关二爷接单找出10处不和谐攻略)

找茬图片10处不同(汉字找茬王关二爷接单找出10处不和谐攻略)

这篇文章给大家聊聊关于找茬图片10处不同,以及汉字找茬王关二爷接单找出10处不和谐攻略对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录汉字找茬王关二爷接单找出10处不和谐攻略沙雕的日常古画找茬2攻略汉字找茬王帝王蟹攻略找出10

2024年3月14日 19:21

狙击行动3d无限钻石(狙击行动3d代号猎鹰无限钻石怎么弄修改技巧攻略)

狙击行动3d无限钻石(狙击行动3d代号猎鹰无限钻石怎么弄修改技巧攻略)

各位老铁们好,相信很多人对狙击行动3d无限钻石都不是特别的了解,因此呢,今天就来为大家分享下关于狙击行动3d无限钻石以及狙击行动3d代号猎鹰无限钻石怎么弄修改技巧攻略的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目

2024年5月20日 03:38

赛尔号魔化星灵龙(赛尔号狂刃血鬼真身怎么打 神魂·斩月打法攻略)

赛尔号魔化星灵龙(赛尔号狂刃血鬼真身怎么打 神魂·斩月打法攻略)

“赛尔号魔化星灵龙”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看赛尔号魔化星灵龙(赛尔号狂刃血鬼真身怎么打 神魂·斩月打法攻略)!本文目录赛尔号狂刃血鬼真身怎么打 神魂·斩月打法攻略赛尔号魔化星灵龙怎么样 技能种族值解析7

2024年9月16日 06:51

遨游中国官网(遨游网的网站介绍)

遨游中国官网(遨游网的网站介绍)

大家好,关于遨游中国官网很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于遨游网的网站介绍的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录遨游网的网站介绍

2024年7月24日 11:42

近期文章

本站热文

标签列表

热门搜索