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

网站安全管理制度建设下载营销型网站的名词解释

网站安全管理制度建设下载,营销型网站的名词解释,网站导航漂浮代码,上海市网站以下是一个简单的2048游戏的实现。这个实现使用了控制台输入和输出#xff0c;适合在终端或命令行环境中运行。 2048游戏的实现 1.游戏逻辑 2048游戏的核心逻辑包括#xff1a; • 初始化一个4x4的网格。 • 随机生成2或4。 • 处理玩家的移动操作#xff08;上、下、左、…以下是一个简单的2048游戏的实现。这个实现使用了控制台输入和输出适合在终端或命令行环境中运行。 2048游戏的实现 1.游戏逻辑 2048游戏的核心逻辑包括 • 初始化一个4x4的网格。 • 随机生成2或4。 • 处理玩家的移动操作上、下、左、右。 • 合并相同的数字。 • 检查游戏是否结束胜利或失败。 2.代码实现 cpp #include iostream #include vector #include cstdlib #include ctime #include algorithm using namespace std; const int GRID_SIZE 4; const int WINNING_SCORE 2048; void initializeGrid(vectorvectorint grid) {     for (int i 0; i GRID_SIZE; i) {         grid.push_back(vectorint(GRID_SIZE, 0));     } } void printGrid(const vectorvectorint grid) {     for (const auto row : grid) {         for (int val : row) {             cout val \t;         }         cout endl;     }     cout endl; } void addRandomTile(vectorvectorint grid) {     vectorpairint, int emptyCells;     for (int i 0; i GRID_SIZE; i) {         for (int j 0; j GRID_SIZE; j) {             if (grid[i][j] 0) {                 emptyCells.push_back({i, j});             }         }     }     if (!emptyCells.empty()) {         pairint, int cell emptyCells[rand() % emptyCells.size()];         grid[cell.first][cell.second] (rand() % 2) ? 2 : 4;     } } bool canMove(const vectorvectorint grid) {     for (int i 0; i GRID_SIZE; i) {         for (int j 0; j GRID_SIZE; j) {             if (grid[i][j] 0) return true;             if (i 0 grid[i][j] grid[i - 1][j]) return true;             if (j 0 grid[i][j] grid[i][j - 1]) return true;             if (i GRID_SIZE - 1 grid[i][j] grid[i 1][j]) return true;             if (j GRID_SIZE - 1 grid[i][j] grid[i][j 1]) return true;         }     }     return false; } void compress(vectorint row) {     vectorint temp(GRID_SIZE, 0);     int k 0;     for (int i 0; i GRID_SIZE; i) {         if (row[i] ! 0) {             temp[k] row[i];         }     }     for (int i 0; i GRID_SIZE; i) {         row[i] temp[i];     } } void merge(vectorint row) {     for (int i 0; i GRID_SIZE - 1; i) {         if (row[i] row[i 1] row[i] ! 0) {             row[i] * 2;             row[i 1] 0;         }     } } void moveLeft(vectorvectorint grid) {     for (auto row : grid) {         compress(row);         merge(row);         compress(row);     } } void moveRight(vectorvectorint grid) {     for (auto row : grid) {         reverse(row.begin(), row.end());         compress(row);         merge(row);         compress(row);         reverse(row.begin(), row.end());     } } void moveUp(vectorvectorint grid) {     for (int col 0; col GRID_SIZE; col) {         vectorint temp(GRID_SIZE, 0);         for (int row 0; row GRID_SIZE; row) {             temp[row] grid[row][col];         }         compress(temp);         merge(temp);         compress(temp);         for (int row 0; row GRID_SIZE; row) {             grid[row][col] temp[row];         }     } } void moveDown(vectorvectorint grid) {     for (int col 0; col GRID_SIZE; col) {         vectorint temp(GRID_SIZE, 0);         for (int row 0; row GRID_SIZE; row) {             temp[row] grid[row][col];         }         reverse(temp.begin(), temp.end());         compress(temp);         merge(temp);         compress(temp);         reverse(temp.begin(), temp.end());         for (int row 0; row GRID_SIZE; row) {             grid[row][col] temp[row];         }     } } bool isGameOver(const vectorvectorint grid) {     for (const auto row : grid) {         for (int val : row) {             if (val WINNING_SCORE) return true;         }     }     return !canMove(grid); } int main() {     srand(static_castunsigned int(time(0)));     vectorvectorint grid;     initializeGrid(grid);     addRandomTile(grid);     addRandomTile(grid); while (true) {         printGrid(grid);         char move;         cout Enter move (W/A/S/D): ;         cin move; switch (move) {             case W:             case w:                 moveUp(grid);                 break;             case A:             case a:                 moveLeft(grid);                 break;             case S:             case s:                 moveDown(grid);                 break;             case D:             case d:                 moveRight(grid);                 break;             default:                 cout Invalid move. Try again. endl;                 continue;         } addRandomTile(grid); if (isGameOver(grid)) {             printGrid(grid);             cout Game Over! (grid[0][0] WINNING_SCORE ? You Win! : You Lose!) endl;             break;         }     } return 0; } 3.代码说明 • 初始化网格initializeGrid函数初始化一个4x4的网格所有值初始化为0。 • 打印网格printGrid函数打印当前网格的状态。 • 添加随机瓷砖addRandomTile函数在网格的空位置随机添加一个2或4。 • 移动操作moveLeft、moveRight、moveUp、moveDown函数分别处理左、右、上、下移动操作。 • 压缩和合并compress和merge函数分别处理行或列的压缩和合并操作。 • 检查游戏结束isGameOver函数检查游戏是否结束胜利或失败。 4.运行游戏 将上述代码保存为一个C文件例如2048.cpp然后使用C编译器编译并运行它。例如使用g编译器 sh g -o 2048 2048.cpp ./2048 5.游戏玩法 • 使用W/A/S/D键控制方向上/左/下/右。 • 游戏目标是合并数字直到出现2048。 • 如果没有可移动的空位且无法合并则游戏结束。 希望这个实现对你有帮助
http://www.w-s-a.com/news/286195/

相关文章:

  • 西安网站建设培训班鄂州网页定制
  • 西部数码网站备份自己怎么做网站啊
  • h5网站开发用什么软件制作公司网站建设代理怎么做
  • 网站建设资料准备网上购物app有哪些
  • 沧州做网站优化哪家公司便宜国内百度云网站建设
  • 网站的最近浏览 怎么做龙岩市人才网最新招聘信息
  • 网站建设需要找工信部吗网站开发账务处理
  • 做那种的视频网站个体工商网站备案
  • 推广网官方推广网站中国建设招聘信息网站
  • 医院网站建设需要多少钱网络营销渠道可分为哪几种
  • 怎么取网页视频网站元素计算机专业论文网站开发
  • 上海网站建设备案号怎么恢复wordpress打开页面空白
  • 30个做设计的网站企业设计网站
  • 招生网站开发的背景创意 wordpress
  • 网站备案资料查询小型企业管理系统软件
  • 温州网站建设维护怎么做好网站开发、设计
  • 佛山 做网站公司有哪些网站排名忽然不见了
  • 广告网站建设最专业东莞大朗网站设计
  • 网站做流量的论坛贴吧分销商城系统源码
  • 新手建立网站的步骤网站建设费怎么入分录
  • 哪里建网站性价比高做网站赚取广告费
  • 邢台集团网站建设价格微信怎么做捐钱的网站
  • 做网站费用需要分摊吗装修公司一般多少钱一平方
  • 公司主页的网站格式wordpress自动推送给百度
  • 网站建设辶金手指排名十二wordpress 当数据库
  • 无锡手机网站建设服务苏州展厅设计企业
  • 无锡网站制作需要多少钱北京二次感染最新消息
  • 网站开发视频播放无画面杭州房产信息网官网
  • 网站开发 改进如何创建公众号平台
  • wordpress网站响应很慢只有asp网站代码可以重新编译吗