当前位置: 首页 > 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.wangmingla.cn/news/85538.html

相关文章:

  • 做网站 乐清山西太原网络推广
  • 创世网络网站建设厦门网站建设公司哪家好
  • 网站备案 论坛浏览器下载安装2022最新版
  • 静态网页模板免费下载的网站谷歌seo关键词排名优化
  • 北京网站设计公司价格今天重要新闻
  • 河南便宜网站建设搜狗站长平台验证网站
  • 做优惠网站多少钱百度竞价关键词
  • 以下哪个域名是做游戏网站的热点时事新闻
  • 福建省漳州市政府网站建设情况百度电脑端网页版入口
  • 做英文网站地图汕头seo优化
  • 四川做网站设计哪家好公众号推广方案
  • 怎么仿别人的网站在线建站平台
  • 做网站销售怎么样引擎优化seo
  • 电子商务网站建设与管理课后心得网店培训骗局
  • 今天新闻联播主要内容热狗seo顾问
  • 建网站网络公司深圳全网推广公司
  • 慧聪网网站建设策略黑帽seo技术论坛
  • 建筑专业网站建设整合网络营销是什么
  • 教育类网站开发公司天津关键词优化网排名
  • 深圳做互联网教网站公司品牌整合营销
  • wordpress子站点404人工智能培训
  • 动态网站建设优缺点seo具体优化流程
  • 国外做网站卖东西要什么条件网坛最新排名
  • c网站制作网站排名费用
  • 做物流的都有哪些网站sem与seo的区别
  • 如何制作企业的网站上海搜索引擎关键词优化
  • 帝国网站教程建站公司哪个好
  • 360元网站建设 网络服务服务营销7p理论
  • 广州市区号怎么做seo关键词优化
  • 网站网络排名优化方法怎么做优化关键词