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

wordpress站点路径redis缓存wordpress

wordpress站点路径,redis缓存wordpress,毕设源码网站,有哪些做包装盒的网站个人主页#xff1a;PingdiGuo_guo 收录专栏#xff1a;C干货专栏 大家好呀#xff0c;我是PingdiGuo_guo#xff0c;今天我们来学习如何用C编写一个2048小游戏。 文章目录 1.2048的规则 2.步骤实现 2.1: 初始化游戏界面 2.1.1知识点 2.1.2: 创建游戏界面 2.2: 随机… 个人主页PingdiGuo_guo 收录专栏C干货专栏 大家好呀我是PingdiGuo_guo今天我们来学习如何用C编写一个2048小游戏。 文章目录 1.2048的规则 2.步骤实现 2.1: 初始化游戏界面 2.1.1知识点 2.1.2: 创建游戏界面 2.2: 随机生成数字 2.2.1知识点: 2.2.2: 随机生成两个数字 2.3: 处理用户输入 2.3.1知识点 2.3.2: 处理用户输入 2.4: 更新游戏界面 2.4.1知识点 2.4.2: 合并相同数字 2.4.3: 移动数字 2.5: 判断游戏结束 2.5.1知识点 2.5.2: 判断是否达到2048 2.5.3: 判断是否无法移动 3.总结 1.2048的规则 在进行编写游戏时我们首先要知道2048游戏的规则 开始时游戏棋盘内会随机出现两个数字这两个数字通常是2或4。 玩家可以通过滑动屏幕来控制棋盘上的数字方块每次滑动都会使数字方块向滑动的方向移动直到遇到障碍物如其他数字方块或棋盘边缘。 当两个相同数字的方块相遇时它们会合并成一个新的方块这个新方块的大小是原来两个方块大小的和。 游戏的目标是合并数字方块直到得到“2048”这个数字一旦棋盘被数字填满且相邻的格子数字不同游戏就结束了。 在游戏过程中系统会在空白的方格处随机生成新的数字方块这些新方块的大小可能是2或4。 因此我们可以退出一下几个步骤 1.初始化游戏界面 2.随机生成数字(只能是2或4) 3.处理用户输入(WASD键) 4.更新游戏界面 5.判断游戏结束(达到2048或无法移动) 2.步骤实现 2.1: 初始化游戏界面 我们首先需要创建一个游戏界面使用一个二维数组来表示。每个元素代表一个格子初始值为0。 2.1.1知识点 - 数组的定义和初始化 2.1.2: 创建游戏界面 首先我们需要定义一个4x4的二维数组gameBoard用来表示游戏界面。然后将所有元素的值初始化为0。   int gameBoard[4][4] {0}; 2.2: 随机生成数字 游戏开始时我们需要在游戏界面的两个格子中随机生成两个数字可以是2或4。 2.2.1知识点: - 伪随机数的生成 2.2.2: 随机生成两个数字 使用rand()函数来生成伪随机数并使用取模运算将其限定在特定范围内。然后将生成的数字放入游戏界面的随机位置。 #include cstdlib #include ctimevoid generateRandomNumbers() {int x1 rand() % 4;int y1 rand() % 4;int x2 rand() % 4;int y2 rand() % 4;int num1 (rand() % 2 1) * 2;int num2 (rand() % 2 1) * 2;gameBoard[x1][y1] num1;gameBoard[x2][y2] num2; } 2.3: 处理用户输入 捕捉用户的输入根据用户的操作来移动格子。 2.3.1知识点 - 标准输入的处理 2.3.2: 处理用户输入 使用getchar()函数来获取用户的键盘输入并根据输入来移动或操作格子。 void processUserInput() {char userInput getchar();switch (userInput) {case w:// 处理上键操作break;case s:// 处理下键操作break;case a:// 处理左键操作break;case d:// 处理右键操作break;default:break;} } 2.4: 更新游戏界面 将数字向指定方向移动并填充空白格子。 2.4.1知识点 - 循环结构的使用 2.4.2: 合并相同数字 当用户移动格子时如果相邻的两个格子的数字相同我们需要将它们合并为一个并将结果放入新的位置。 2.4.3: 移动数字 将所有数字向用户指定的方向移动并填充空白格子。 bool moveUp(int board[SIZE][SIZE]) {bool moved false;for (int j 0; j SIZE; j) {for (int i 1; i SIZE; i) {if (board[i][j] ! 0) {int k i;while (k 0 board[k-1][j] 0) {board[k-1][j] board[k][j];board[k][j] 0;k--;moved true;}if (k 0 board[k-1][j] board[k][j]) {board[k-1][j] * 2;board[k][j] 0;moved true;}}}}return moved; }bool moveDown(int board[SIZE][SIZE]) {bool moved false;for (int j 0; j SIZE; j) {for (int i SIZE - 2; i 0; i--) {if (board[i][j] ! 0) {int k i;while (k SIZE - 1 board[k1][j] 0) {board[k1][j] board[k][j];board[k][j] 0;k;moved true;}if (k SIZE - 1 board[k1][j] board[k][j]) {board[k1][j] * 2;board[k][j] 0;moved true;}}}}return moved; }bool moveLeft(int board[SIZE][SIZE]) {bool moved false;for (int i 0; i SIZE; i) {for (int j 1; j SIZE; j) {if (board[i][j] ! 0) {int k j;while (k 0 board[i][k-1] 0) {board[i][k-1] board[i][k];board[i][k] 0;k--;moved true;}if (k 0 board[i][k-1] board[i][k]) {board[i][k-1] * 2;board[i][k] 0;moved true;}}}}return moved; }bool moveRight(int board[SIZE][SIZE]) {bool moved false;for (int i 0; i SIZE; i) {for (int j SIZE - 2; j 0; j--) {if (board[i][j] ! 0) {int k j;while (k SIZE - 1 board[i][k1] 0) {board[i][k1] board[i][k];board[i][k] 0;k;moved true;}if (k SIZE - 1 board[i][k1] board[i][k]) {board[i][k1] * 2;board[i][k] 0;moved true;}}}}return moved; } 2.5: 判断游戏结束 判断游戏是否结束可以是达到2048或者无法移动。 2.5.1知识点 - 条件语句的使用 2.5.2: 判断是否达到2048 判断游戏界面是否达到了2048如果达到则游戏获胜。 2.5.3: 判断是否无法移动 判断游戏界面是否已经无法进行任何移动即所有格子已满且相邻格子的值都不相同如果是则游戏失败。 bool isGameWon() {for (int i 0; i 4; i) {for (int j 0; j 4; j) {if (gameBoard[i][j] 2048) {return true;}}}return false; }bool isGameOver() {bool canMove false;for (int i 0; i 4; i) {for (int j 0; j 4; j) {if (gameBoard[i][j] 0) {canMove true;break;}if (i 3 gameBoard[i][j] gameBoard[i 1][j]) {canMove true;break;}if (j 3 gameBoard[i][j] gameBoard[i][j 1]) {canMove true;break;}}}return !canMove; } 通过以上步骤及代码我们实现了2048这个小游戏以下是运行代码时显示的 3.总结 本篇博客教大家如何实现一个2048小游戏希望大家有所收获如果有好的建议欢迎留言谢谢大家啦
http://www.w-s-a.com/news/368634/

相关文章:

  • 专门设计网站的公司叫什么百度 门户网站
  • 网站建设丶金手指专业旅游网站系统哪个好
  • 苏州工业园区两学一做网站成都企业排名
  • 医药网站开发wordpress境外支付
  • 营销自己的网站网站如何做标题优化
  • 玖云建站系统wordpress nodejs版本
  • 网站开发费用计入什么二级科目重庆企业网站推广
  • wordpress 菜单怎么使用方法宜春网站推广优化
  • dede 网站图标怎么自学建筑设计
  • 河北斯皮尔网站建设做微信小程序和做网站
  • 沈阳市住房和城乡建设局网站创意上海专业网站建设
  • 免费学编程国内网站it需要什么学历
  • 相城做网站的公司网站建设范本
  • 怎么样查中企动力做的网站阿里邮箱企业版手机版
  • 电子商务网站建设与管理试卷6江门网站建设联系电话
  • 公司的网站建设做什么费用四川圣泽建设集团有限公司网站
  • 为什么网站很少做全屏福利WordPress网站自动采集源码
  • 网站备案法律diy
  • 淘宝客如何新建网站物业管理系统app
  • 品牌网站建设策重大军事新闻视频
  • 廊坊建设网站的公司wordpress清理无用缩略图
  • 桓台网站建设公司首钢建设二建设公司网站
  • 网站建设添加背景命令前端如何优化网站性能
  • 设置网站域名中山画册设计公司
  • 三更app下载网站东莞网站制作公
  • 做图书馆网站模板网站建设文化策划方案
  • 惠州城乡住房建设厅网站服装设计自学零基础
  • 网站建设常态化工作机制广州骏域网络
  • h5婚纱摄影网站模板wordpress 显示下列项目
  • 广告网站推广销售北京最新消息发布