杭州集团网站建设网站美工用什么软件

张小明 2026/1/11 15:20:19
杭州集团网站建设,网站美工用什么软件,网站百度推广怎么做,查公司的口碑和评价的网站C版:代码说明#xff1a;main.cpp#xff1a;实现了贪吃蛇游戏的核心逻辑#xff0c;包括游戏初始化、界面绘制、用户输入处理、游戏状态更新等功能Makefile#xff1a;提供项目编译配置#xff0c;支持通过make命令编译生成可执行文件游戏特性#xff1a;经典的贪吃蛇玩…C版:代码说明main.cpp实现了贪吃蛇游戏的核心逻辑包括游戏初始化、界面绘制、用户输入处理、游戏状态更新等功能Makefile提供项目编译配置支持通过make命令编译生成可执行文件游戏特性经典的贪吃蛇玩法支持WASD控制方向X键退出游戏实时显示得分碰撞检测(边界和自身)#include iostream #include conio.h #include windows.h #include deque #include ctime #include cstdlib using namespace std; // 游戏区域大小 const int WIDTH 30; const int HEIGHT 20; // 方向枚举 enum Direction { STOP 0, LEFT, RIGHT, UP, DOWN }; // 蛇的坐标点结构体 struct Point { int x; int y; }; // 全局变量 bool gameOver; Point food; dequePoint snake; // 使用双端队列存储蛇身 Direction dir; int score; // 初始化游戏 void Setup() { gameOver false; dir STOP; // 初始化蛇头位置 Point head {WIDTH / 2, HEIGHT / 2}; snake.push_front(head); // 随机生成食物位置 srand((unsigned) time(NULL)); food.x rand() % WIDTH; food.y rand() % HEIGHT; score 0; } // 绘制游戏界面 void Draw() { system(cls); // 清屏 // 绘制上边界 for (int i 0; i WIDTH2; i) cout #; cout endl; for (int i 0; i HEIGHT; i) { for (int j 0; j WIDTH; j) { // 绘制左边界 if (j 0) cout #; // 绘制蛇头或身体 bool isSnake false; for (int k 0; k snake.size(); k) { if (snake[k].x j snake[k].y i) { if (k 0) // 蛇头 cout O; else // 蛇身 cout o; isSnake true; break; } } // 绘制食物 if (!isSnake) { if (j food.x i food.y) cout F; else cout ; } // 绘制右边界 if (j WIDTH - 1) cout #; } cout endl; } // 绘制下边界 for (int i 0; i WIDTH2; i) cout #; cout endl; // 显示分数 cout Score: score endl; } // 处理用户输入 void Input() { if (_kbhit()) { switch (_getch()) { case a: case A: if (dir ! RIGHT) dir LEFT; break; case d: case D: if (dir ! LEFT) dir RIGHT; break; case w: case W: if (dir ! DOWN) dir UP; break; case s: case S: if (dir ! UP) dir DOWN; break; case x: case X: gameOver true; break; } } } // 游戏逻辑更新 void Logic() { // 根据方向移动蛇头 Point newHead snake.front(); switch (dir) { case LEFT: newHead.x--; break; case RIGHT: newHead.x; break; case UP: newHead.y--; break; case DOWN: newHead.y; break; default: break; } // 检查碰撞边界 if (newHead.x WIDTH || newHead.x 0 || newHead.y HEIGHT || newHead.y 0) gameOver true; // 检查碰撞自身 for (int i 0; i snake.size(); i) { if (snake[i].x newHead.x snake[i].y newHead.y) gameOver true; } // 添加新头部 snake.push_front(newHead); // 检查是否吃到食物 if (newHead.x food.x newHead.y food.y) { score 10; // 重新生成食物 food.x rand() % WIDTH; food.y rand() % HEIGHT; } else { // 移除尾部(没有吃到食物) snake.pop_back(); } } int main() { Setup(); while (!gameOver) { Draw(); Input(); Logic(); Sleep(100); // 控制游戏速度 } cout Game Over! Final Score: score endl; return 0; }python版:代码说明snake_game.py实现了完整的贪吃蛇游戏逻辑包括蛇的移动、食物生成、碰撞检测、分数计算等功能requirements.txt项目依赖配置文件指定了pygame版本要求游戏特性支持方向键控制、自动边界循环、碰撞检测、实时分数显示、游戏结束提示和重新开始功能界面设计采用网格背景、不同颜色区分蛇头蛇身、清晰的UI提示和操作说明import pygame import sys import random import math # 初始化Pygame pygame.init() # 游戏常量 WINDOW_WIDTH 800 WINDOW_HEIGHT 600 GRID_SIZE 20 GRID_WIDTH WINDOW_WIDTH // GRID_SIZE GRID_HEIGHT WINDOW_HEIGHT // GRID_SIZE # 颜色定义 BLACK (0, 0, 0) WHITE (255, 255, 255) GREEN (0, 255, 0) RED (255, 0, 0) BLUE (0, 0, 255) YELLOW (255, 255, 0) PURPLE (128, 0, 128) GRAY (128, 128, 128) DARK_GREEN (0, 200, 0) # 方向常量 UP (0, -1) DOWN (0, 1) LEFT (-1, 0) RIGHT (1, 0) class Snake: def __init__(self): self.reset() def reset(self): self.length 3 self.positions [(GRID_WIDTH // 2, GRID_HEIGHT // 2)] self.direction RIGHT self.score 0 self.grow_to 3 self.is_alive True def get_head_position(self): return self.positions[0] def update(self): if not self.is_alive: return head self.get_head_position() x, y self.direction new_x (head[0] x) % GRID_WIDTH new_y (head[1] y) % GRID_HEIGHT new_position (new_x, new_y) # 检查是否撞到自己 if new_position in self.positions[1:]: self.is_alive False return self.positions.insert(0, new_position) if len(self.positions) self.grow_to: self.positions.pop() def render(self, surface): for i, pos in enumerate(self.positions): rect pygame.Rect(pos[0] * GRID_SIZE, pos[1] * GRID_SIZE, GRID_SIZE, GRID_SIZE) if i 0: # 蛇头 pygame.draw.rect(surface, DARK_GREEN, rect) pygame.draw.rect(surface, BLACK, rect, 1) else: # 蛇身 pygame.draw.rect(surface, GREEN, rect) pygame.draw.rect(surface, BLACK, rect, 1) def change_direction(self, direction): # 防止蛇反向移动 if (direction[0] * -1, direction[1] * -1) ! self.direction: self.direction direction class Food: def __init__(self): self.position (0, 0) self.color RED self.randomize_position() def randomize_position(self): self.position (random.randint(0, GRID_WIDTH - 1), random.randint(0, GRID_HEIGHT - 1)) def render(self, surface): rect pygame.Rect(self.position[0] * GRID_SIZE, self.position[1] * GRID_SIZE, GRID_SIZE, GRID_SIZE) pygame.draw.rect(surface, self.color, rect) pygame.draw.rect(surface, BLACK, rect, 1) class Game: def __init__(self): self.window pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) pygame.display.set_caption(贪吃蛇游戏) self.clock pygame.time.Clock() self.font pygame.font.SysFont(None, 36) self.small_font pygame.font.SysFont(None, 24) self.snake Snake() self.food Food() self.game_state playing # playing, game_over def handle_events(self): for event in pygame.event.get(): if event.type pygame.QUIT: pygame.quit() sys.exit() if event.type pygame.KEYDOWN: if self.game_state playing: if event.key pygame.K_UP: self.snake.change_direction(UP) elif event.key pygame.K_DOWN: self.snake.change_direction(DOWN) elif event.key pygame.K_LEFT: self.snake.change_direction(LEFT) elif event.key pygame.K_RIGHT: self.snake.change_direction(RIGHT) elif self.game_state game_over: if event.key pygame.K_SPACE: self.restart_game() def update(self): if self.game_state playing: self.snake.update() # 检查蛇是否存活 if not self.snake.is_alive: self.game_state game_over return # 检查是否吃到食物 if self.snake.get_head_position() self.food.position: self.snake.grow_to 1 self.snake.score 10 self.food.randomize_position() # 确保食物不会出现在蛇身上 while self.food.position in self.snake.positions: self.food.randomize_position() def render(self): self.window.fill(BLACK) # 绘制网格背景 for x in range(0, WINDOW_WIDTH, GRID_SIZE): pygame.draw.line(self.window, GRAY, (x, 0), (x, WINDOW_HEIGHT), 1) for y in range(0, WINDOW_HEIGHT, GRID_SIZE): pygame.draw.line(self.window, GRAY, (0, y), (WINDOW_WIDTH, y), 1) # 绘制游戏对象 self.snake.render(self.window) self.food.render(self.window) # 绘制分数 score_text self.font.render(f分数: {self.snake.score}, True, WHITE) self.window.blit(score_text, (10, 10)) # 绘制游戏状态信息 if self.game_state game_over: game_over_text self.font.render(游戏结束!, True, RED) restart_text self.small_font.render(按空格键重新开始, True, WHITE) # 居中显示文本 game_over_rect game_over_text.get_rect(center(WINDOW_WIDTH//2, WINDOW_HEIGHT//2 - 30)) restart_rect restart_text.get_rect(center(WINDOW_WIDTH//2, WINDOW_HEIGHT//2 10)) self.window.blit(game_over_text, game_over_rect) self.window.blit(restart_text, restart_rect) # 绘制操作说明 if self.game_state playing: instructions [ 使用方向键控制蛇的移动, 吃掉红色食物来增长身体和得分, 避免撞到自己的身体 ] for i, instruction in enumerate(instructions): text self.small_font.render(instruction, True, YELLOW) self.window.blit(text, (WINDOW_WIDTH - text.get_width() - 10, 10 i * 25)) pygame.display.flip() def restart_game(self): self.snake.reset() self.food.randomize_position() self.game_state playing def run(self): while True: self.handle_events() self.update() self.render() self.clock.tick(10) # 控制游戏速度 if __name__ __main__: game Game() game.run()
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

用dw如何做网站链接精准客源 获客

DuckDB Java集成实战指南:3分钟配置嵌入式OLAP数据库 【免费下载链接】duckdb DuckDB is an in-process SQL OLAP Database Management System 项目地址: https://gitcode.com/GitHub_Trending/du/duckdb 副标题:零基础入门轻量级数据分析&#x…

张小明 2026/1/10 8:26:14 网站建设

美容医院网站建设环境设计

2.毕业设计(论文)开题报告 课题名称 学生姓名 专业班级 学号 开题报告: [1]肖新凤.基于FISCO BCOS宠物管理系统设计与实现[J].信息与电脑(理论版),2023,35(16):133-135. [2]万涛,吴杰,葛晶晶等.智能宠…

张小明 2026/1/9 19:19:00 网站建设

建筑网址大全网站全网seo

Epoll:性能之王(红黑树回调)epoll 是为了解决大批量句柄处理而设计的一、 Epoll 的核心工作原理要理解 Epoll 的接口,首先要理解它在内核里建立的两个“秘密基地”:红黑树 (Red-Black Tree, rbr):用来存储所…

张小明 2026/1/11 0:53:24 网站建设

vi手册免费模板多地优化防控举措方便民众生活

2025最新!8个AI论文工具测评:本科生毕业论文写作全攻略 2025年AI论文工具测评:为什么需要这份榜单? 随着人工智能技术的不断进步,越来越多的本科生开始借助AI工具提升论文写作效率。然而,面对市场上琳琅满目…

张小明 2026/1/10 4:12:50 网站建设

怎么劝客户做网站做门户网站啥意思

LangFlow实现用户调研结果自动总结 在产品迭代节奏日益加快的今天,如何高效处理海量用户反馈,快速提炼出有价值的洞察,已成为产品经理和用户体验团队的核心挑战。传统的分析方式往往依赖人工阅读、归类与总结,不仅耗时耗力&#x…

张小明 2026/1/10 16:27:34 网站建设

网站建设辶金手指排名十一做配件出口上什么网站

如果 SerDes 这么厉害,为什么不能用它把所有接口(内存、显卡、Chiplet)都统一了? 答案是:物理层(PHY)并没有你想象中那么“通用”。 虽然它们都可能用到 SerDes 技术,但就像F1 赛车、…

张小明 2026/1/11 4:32:34 网站建设