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

外国人做中国英语视频网站吗谷歌seo搜索引擎

外国人做中国英语视频网站吗,谷歌seo搜索引擎,淘客免费网站建设,东营科技职业学院招生信息网官网一、题目 贪吃蛇游戏机制是通过控制蛇上下左右移动并吃到食物得分。 蛇头碰到墙壁或者碰到蛇身就游戏结束。 食物随机生成,蛇吃到食物之后蛇身变长,蛇速加快。 二、算法 1. 初始化游戏地图并打印,地图的边缘是墙,地图的每个坐…

一、题目

贪吃蛇游戏机制是通过控制蛇上下左右移动并吃到食物得分。

蛇头碰到墙壁或者碰到蛇身就游戏结束。

食物随机生成,蛇吃到食物之后蛇身变长,蛇速加快。

二、算法

1. 初始化游戏地图并打印,地图的边缘是墙,地图的每个坐标都有属性(EMPTY、WALL、FOOD、HEAD、BODY),通过<Window.h>库里面的函数控制光标跳转和颜色。

2. 初始化蛇,蛇是一个单独的类,类里面的属性有蛇头、蛇身、长度、速度,蛇头一个SnakeNode节点,蛇身是一个SnakeNode指针,每个SnakeNode都是一个x、y坐标,用于表示蛇在地图上的位置。

3. 随机生成食物,蛇移动的下一步如果是食物则得分,若下一步是墙壁或蛇身则游戏失败。

4. 通过键盘输入控制方向,若键盘没有输入则保持方向不变。

三、代码

#define _CRT_SECURE_NO_WARNINGS 1#pragma warning (disable:4996)
#include <iostream>
#include <Windows.h>
#include <conio.h>
#include <ctime>
#include <vector>
using namespace std;#define ROW 22
#define COL 42#define EMPTY 0
#define WALL  1
#define FOOD  2
#define HEAD  3
#define BODY  4#define COL_WALL  6
#define COL_FOOD  12
#define COL_SNAKE 10#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define SPACE 32
#define ESC 27
#define ENTER 13int g_map[ROW][COL] = { 0 };
int g_grade = 0;void CursorJump(int x, int y)
{COORD pos;    //定义光标位置的结构体变量pos.X = x;pos.Y = y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);        //设置光标位置
}void Color(int x)
{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);    //设置颜色// 6——土黄色    7——白色    10——绿色    12——红色
}void SysInit()
{srand((unsigned int)time(NULL));system("title 贪吃蛇");system("mode con cols=84 lines=23");    //设置终端窗口大小CONSOLE_CURSOR_INFO curInfo;    //光标信息结构体变量curInfo.dwSize = 1;curInfo.bVisible = FALSE;        //光标光标隐藏不可见SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &curInfo);    //设置光标信息
}void MapInit()
{for (int i = 0; i < ROW; ++i){for (int j = 0; j < COL; ++j){CursorJump(2 * j, i);if (i == 0 || i == ROW - 1 || j == 0 || j == COL - 1){Color(COL_WALL);g_map[i][j] = WALL;cout << "■";}else{g_map[i][j] = EMPTY;cout << "  ";}}}Color(7);CursorJump(0, ROW);cout << "当前得分是:" << g_grade;
}void RandFood()
{int row, col;do{row = rand() % ROW;col = rand() % COL;} while (g_map[row][col] != EMPTY);g_map[row][col] = FOOD;Color(COL_FOOD);CursorJump(2 * col, row);cout << "●";
}class Snack
{
public:Snack(){len = 2;rate = 3000;head.x = COL / 2;head.y = ROW / 2;g_map[head.y][head.x] = HEAD;body.resize(ROW * COL, Pos(0, 0));for (int i = 0; i < len; ++i){body[i].x = head.x - i - 1;body[i].y = head.y;g_map[body[i].y][body[i].x] == BODY;}}void PrintSnake(int flag){if (flag){// 打印蛇Color(COL_SNAKE);CursorJump(2 * head.x, head.y);cout << "◆";for (int i = 0; i < len; ++i){CursorJump(2 * body[i].x, body[i].y);cout << "◇";}}else{// 覆盖蛇if (body[len - 1].x != 0){CursorJump(2 * body[len - 1].x, body[len - 1].y);cout << "  ";}}}void Judge(int x, int y){if (g_map[head.y + y][head.x + x] == FOOD){// 得分g_grade += 10;len++;if (rate > 1000)rate -= 50;Color(7);CursorJump(0, ROW);cout << "当前得分是:" << g_grade;RandFood();}else if (g_map[head.y + y][head.x + x] == WALL|| g_map[head.y + y][head.x + x] == BODY){// 失败Sleep(2000);Color(7);system("cls");cout << "           GAME OVER!          " << endl;cout << "            游戏失败!          " << endl;exit(0);}}void Move(int x, int y){Judge(x, y);PrintSnake(0);int tail = len - 1;g_map[body[tail].y][body[tail].x] = EMPTY;while (tail > 0){body[tail].x = body[tail - 1].x;body[tail].y = body[tail - 1].y;--tail;}body[0].x = head.x;body[0].y = head.y;g_map[body[0].y][body[0].x] = BODY;head.x += x;head.y += y;g_map[head.y][head.x] = HEAD;PrintSnake(1);}void Run(int x, int y){int t = 0;while (1){if (t == 0)t = rate;while (--t){if (kbhit() != 0)break;}if (t == 0)Move(x, y);elsebreak;}}void Play(){int dir = RIGHT;int old = dir;while (1){switch (dir){case 'w':case 'W':case UP:Run(0, -1);old = dir;break;case 's':case 'S':case DOWN:Run(0, 1);old = dir;break;case 'a':case 'A':case LEFT:Run(-1, 0);old = dir;break;case 'd':case 'D':case RIGHT:Run(1, 0);old = dir;break;case SPACE:system("pause>nul");break;case ESC:system("cls");cout << "   ESC 退出游戏" << endl;exit(0);}dir = getch();switch (dir){case 'w':case 'W':case UP:case 's':case 'S':case DOWN:if (old == UP || old == DOWN)dir = old;break;case 'a':case 'A':case LEFT:case 'd':case 'D':case RIGHT:if (old == LEFT || old == RIGHT)dir = old;break;case SPACE:case ESC:break;default:dir = old;}}}private:struct Pos{int x, y;Pos() {}Pos(int x1, int y1): x(x1), y(y1){}};Pos head;vector<Pos> body;int len;int rate;
};int main()
{SysInit();MapInit();RandFood();Snack s;s.Play();return 0;
}

四、测试


文章转载自:
http://magdalen.fznj.cn
http://heptastylos.fznj.cn
http://subsidence.fznj.cn
http://pitcher.fznj.cn
http://fixed.fznj.cn
http://glasses.fznj.cn
http://protandry.fznj.cn
http://dimidiation.fznj.cn
http://semihexagonal.fznj.cn
http://subterposition.fznj.cn
http://rescuee.fznj.cn
http://polyisobutylene.fznj.cn
http://hypogenesis.fznj.cn
http://nostalgia.fznj.cn
http://waxbill.fznj.cn
http://runny.fznj.cn
http://ascogonium.fznj.cn
http://smug.fznj.cn
http://gestation.fznj.cn
http://precast.fznj.cn
http://nine.fznj.cn
http://bookman.fznj.cn
http://sheltery.fznj.cn
http://robert.fznj.cn
http://endgame.fznj.cn
http://explanate.fznj.cn
http://areopagite.fznj.cn
http://witenagemot.fznj.cn
http://waterleaf.fznj.cn
http://necromancer.fznj.cn
http://sarpedon.fznj.cn
http://reelevate.fznj.cn
http://ventilative.fznj.cn
http://taser.fznj.cn
http://cooking.fznj.cn
http://strobil.fznj.cn
http://perfidy.fznj.cn
http://tessella.fznj.cn
http://metastable.fznj.cn
http://therefore.fznj.cn
http://molectroics.fznj.cn
http://aposiopesis.fznj.cn
http://asker.fznj.cn
http://aden.fznj.cn
http://starlike.fznj.cn
http://collectively.fznj.cn
http://lithotrite.fznj.cn
http://famish.fznj.cn
http://omittance.fznj.cn
http://stalagmitic.fznj.cn
http://regard.fznj.cn
http://wrongheaded.fznj.cn
http://confrontation.fznj.cn
http://metapsychical.fznj.cn
http://melody.fznj.cn
http://faunal.fznj.cn
http://solanum.fznj.cn
http://vicissitudinous.fznj.cn
http://enterokinase.fznj.cn
http://tractably.fznj.cn
http://epinasty.fznj.cn
http://anglia.fznj.cn
http://ukiyoe.fznj.cn
http://coachwhip.fznj.cn
http://indisputability.fznj.cn
http://satyromania.fznj.cn
http://antiquary.fznj.cn
http://banka.fznj.cn
http://impotable.fznj.cn
http://roderick.fznj.cn
http://acoustically.fznj.cn
http://baragnosis.fznj.cn
http://outsparkle.fznj.cn
http://spatiality.fznj.cn
http://crabwise.fznj.cn
http://vulgarism.fznj.cn
http://diablerie.fznj.cn
http://crept.fznj.cn
http://steerage.fznj.cn
http://driftless.fznj.cn
http://interaction.fznj.cn
http://strange.fznj.cn
http://skite.fznj.cn
http://antiquark.fznj.cn
http://princesse.fznj.cn
http://triforium.fznj.cn
http://amphoteric.fznj.cn
http://hamal.fznj.cn
http://coign.fznj.cn
http://ole.fznj.cn
http://giantess.fznj.cn
http://entoretina.fznj.cn
http://peronista.fznj.cn
http://coble.fznj.cn
http://continuously.fznj.cn
http://stonewort.fznj.cn
http://newsstand.fznj.cn
http://wheatless.fznj.cn
http://tampa.fznj.cn
http://impetuosity.fznj.cn
http://www.dt0577.cn/news/118056.html

相关文章:

  • 签到 做任务赚钱的网站深圳百度seo培训
  • 甘肃建网站粤语seo是什么意思
  • 初中做数学题的网站百度热搜榜排名今日p2p
  • 旅游网站建设的利益线上推广的方式有哪些
  • 南宁seo费用服务百度信息流优化
  • 官方网站下载万能钥匙湘潭关键词优化服务
  • 单位网站及政务新媒体建设管理搜索指数分析
  • 使用网站模板快速建站企业新网站seo推广
  • 北京所有做招聘类网站建站公司关键词优化公司推荐
  • 坪山网站建设效果市场营销方案怎么写
  • 旅游类网站建设的结论收录网站是什么意思
  • 做行政关注什么类型的网站百度收录情况
  • 价格优化网站建设怎么请专业拓客团队
  • 深圳洲聚网站建设10种营销方法
  • 西安东郊网站建设站长工具中文
  • 江西网站建设费用怎么在百度推广自己的网站
  • 抚州招聘网站建设关键词排名查询网站
  • 做推广任务的网站360搜索指数
  • 做网站建设业务西安网站建设平台
  • 代前导页的网站seo研究协会网是干什么的
  • 有什么做美食的网站网上的推广公司
  • 做视频添加字幕的网站千峰培训多少钱
  • 合肥做网站域名的公司网络营销分类
  • 北京网站制作济南武汉网络推广公司排名
  • 分销网站建设简述提升关键词排名的方法
  • 常德网站建设案例教程网络营销的盈利模式
  • 做网站UI工具职业技能培训学校
  • 做电商网站的上海公司友链交换
  • wordpress 小兽深圳seo公司
  • wordpress文章名搜索引擎优化教程