当前位置: 首页 > news >正文

优化培训方式南和网站seo

优化培训方式,南和网站seo,电商网站建设方案,国家市场监督管理总局监制贪吃蛇小时候大家都玩过,具体步骤如下: 1.给游戏制造一个有限得空间。 2.生成墙壁,小蛇碰撞到墙壁或者咬到自己的尾巴,游戏结束。 3.生成随机的食物。 4.吃掉食物,增加自身的体长,并生成新的食物。 具体代码如下&…

贪吃蛇小时候大家都玩过,具体步骤如下:
1.给游戏制造一个有限得空间。
2.生成墙壁,小蛇碰撞到墙壁或者咬到自己的尾巴,游戏结束。
3.生成随机的食物。
4.吃掉食物,增加自身的体长,并生成新的食物。

具体代码如下:
定义一个小蛇类,该类包含吃东西,移动,检测碰撞等方法。

class Snake
{private List<Point> _body;private Direction _direction;private int _step = 1;private Point _tail;public Snake(Point tail, int length, Direction direction){_direction = direction;_body = new List<Point>();for (int i = 0; i < length; i++){Point p = new Point(tail.X, tail.Y, tail.Symbol);p.Move(i, _direction);_body.Add(p);}_tail = _body.First();}public void Move(){Point head = GetNextPoint();_body.Add(head);_tail.Clear();_tail = _body.First();_body.RemoveAt(0);head.Draw();}public bool Eat(Point food){Point head = GetNextPoint();if (head.IsHit(food)){food.Symbol = head.Symbol;_body.Add(food);return true;}return false;}public void HandleKey(ConsoleKey key){if (key == ConsoleKey.LeftArrow && _direction != Direction.Right){_direction = Direction.Left;}else if (key == ConsoleKey.RightArrow && _direction != Direction.Left){_direction = Direction.Right;}else if (key == ConsoleKey.UpArrow && _direction != Direction.Down){_direction = Direction.Up;}else if (key == ConsoleKey.DownArrow && _direction != Direction.Up){_direction = Direction.Down;}}public Point GetNextPoint(){Point head = _body.Last();Point nextPoint = new Point(head.X, head.Y, head.Symbol);nextPoint.Move(_step, _direction);return nextPoint;}public void Draw(){foreach (Point p in _body){p.Draw();}}public bool IsHitTail(){Point head = _body.Last();for (int i = 0; i < _body.Count - 2; i++){if (head.IsHit(_body[i])){return true;}}return false;}
}

定义一个墙体类:

class Walls
{private List<Point> _wallList;public Walls(int mapWidth, int mapHeight){_wallList = new List<Point>();DrawHorizontalLine(0);DrawHorizontalLine(mapHeight - 1);DrawVerticalLine(0);DrawVerticalLine(mapWidth - 1);}private void DrawHorizontalLine(int y){for (int x = 0; x < Console.WindowWidth; x++){Point p = new Point(x, y, '#');p.Draw();_wallList.Add(p);}}private void DrawVerticalLine(int x){for (int y = 0; y < Console.WindowHeight; y++){Point p = new Point(x, y, '#');p.Draw();_wallList.Add(p);}}public bool IsHit(Snake snake){Point head = snake.GetNextPoint();return IsHit(head);}private bool IsHit(Point p){return _wallList.Any(w => w.IsHit(p));}public void Draw(){foreach (Point p in _wallList){p.Draw();}}
}

定义一个创建食物类:

class FoodCreator
{private readonly int _mapWidth;private readonly int _mapHeight;private readonly char _symbol;public FoodCreator(int mapWidth, int mapHeight, char symbol){_mapWidth = mapWidth;_mapHeight = mapHeight;_symbol = symbol;}public Point CreateFood(){int x = new Random().Next(2, _mapWidth - 2);int y = new Random().Next(2, _mapHeight - 2);return new Point(x, y, _symbol);}
}

定义一个枚举,表示方向:

enum Direction
{Left,Right,Up,Down
}

定义一个坐标类应用重绘:

class Point
{public int X { get; set; }public int Y { get; set; }public char Symbol { get; set; }public Point(int x, int y, char symbol){X = x;Y = y;Symbol = symbol;}public void Draw(){Console.SetCursorPosition(X, Y);Console.Write(Symbol);}public void Clear(){Symbol = ' ';Draw();}public void Move(int offset, Direction direction){if (direction == Direction.Right){X += offset;}else if (direction == Direction.Left){X -= offset;}else if (direction == Direction.Up){Y -= offset;}else if (direction == Direction.Down){Y += offset;}}public bool IsHit(Point p){return p.X == X && p.Y == Y;}
}

函数入口:

class Program
{static void Main(){Console.Title = "贪吃蛇游戏";Console.CursorVisible = false;Console.SetWindowSize(40, 20);Console.SetBufferSize(40, 20);Walls walls = new Walls(40, 20);walls.Draw();Snake snake = new Snake(new Point(6, 5, '*'),1,Direction.Down);snake.Draw();FoodCreator foodCreator = new FoodCreator(40, 20, '$');Point food = foodCreator.CreateFood();food.Draw();while (true){if (walls.IsHit(snake) || snake.IsHitTail()){break;}if (snake.Eat(food)){food = foodCreator.CreateFood();food.Draw();}else{snake.Move();}System.Threading.Thread.Sleep(100);if (Console.KeyAvailable){ConsoleKeyInfo key = Console.ReadKey();snake.HandleKey(key.Key);}}WriteGameOver();Console.ReadLine();}static void WriteGameOver(){int xOffset = 10;int yOffset = 8;Console.ForegroundColor = ConsoleColor.Red;Console.SetCursorPosition(xOffset, yOffset++);WriteText("========", xOffset, yOffset++);WriteText("GAME OVER", xOffset + 1, yOffset++);yOffset++;WriteText("========", xOffset, yOffset++);}static void WriteText(String text, int xOffset, int yOffset){Console.SetCursorPosition(xOffset, yOffset);Console.WriteLine(text);}
}

运行效果图:
请添加图片描述
请添加图片描述

http://www.dt0577.cn/news/2034.html

相关文章:

  • 企业网站cms 开源搜索引擎优化叫什么
  • 企业网站界面东莞网站推广软件
  • cms高端建站凡科建站收费价目表
  • 对网站做数据统计的目的是什么广点通广告平台
  • 网站图片滚动素材杭州百度seo优化
  • 网站地域分站怎么做桂林最新消息今天
  • 泰国公共建设网站注册商标查询官网入口
  • 网站缩略图代码学生个人网页制作代码
  • 五莲县网站建设怎样建网站平台
  • 淄博网站建设费用企业类网站有哪些例子
  • 自己做的网站竞价优化百度游戏排行榜
  • ssm框架做网站百度快照是怎么做上去的
  • 可不可以自己做网站西安百度推广代理商
  • 专业的开发网站建设价格seo外链平台
  • 软件最全的软件商店百度seo排名培训
  • 惠州做网站建设黄山搜索引擎优化
  • 常平网站线上推广费用预算
  • 营销型网站建设案例每日鲜常用的seo查询工具有哪些
  • 设计师接私单做网站厦门网
  • 宝安网站设计网站建设哪家快海南百度推广中心
  • 广州网站设计制作报价江苏网站推广公司
  • 郑州网站seo链接点击量软件
  • 自助网站中国十大网站
  • 为什么做街舞网站百度关键词优化工具
  • 企业网站建设个人博客网页版百度云
  • wordpress调用当前分类url群排名优化软件
  • 官方网站开发方案怎么做手工
  • 淘客网站怎么做首页如何建立企业网站
  • wordpress 数据库导入佛山seo整站优化
  • 网站建立后被别人点击要付钱吗什么是竞价