建立内部网站需要多少钱郑州男科

web/2025/10/3 1:58:12/文章来源:
建立内部网站需要多少钱,郑州男科,天元建设集团有限公司联系电话,酒店网站建设背景分析目录 专栏导读之前的课程1、小球类设计2、挡板类的设计3、砖块类4、砖块与小球的边界碰撞检测5、检测到碰撞#xff0c;删除砖块#xff0c;改变运动方向完整版代码总结 专栏导读 #x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题#xff0c;解放您的双手 … 目录 专栏导读之前的课程1、小球类设计2、挡板类的设计3、砖块类4、砖块与小球的边界碰撞检测5、检测到碰撞删除砖块改变运动方向完整版代码总结 专栏导读 欢迎来到Python办公自动化专栏—Python处理办公问题解放您的双手 ️‍ 博客主页请点击—— 一晌小贪欢的博客主页求关注 该系列文章专栏请点击——Python办公自动化专栏求订阅 此外还有爬虫专栏请点击——Python爬虫基础专栏求订阅 此外还有python基础专栏请点击——Python基础学习专栏求订阅 文章作者技术和水平有限如果文中出现错误希望大家能指正 ❤️ 欢迎各位佬关注 ❤️ 之前的课程 pygame课程课程名称第1课pygame安装链接https://blog.csdn.net/weixin_42636075/article/details/130512509第2课pygame加载图片链接https://blog.csdn.net/weixin_42636075/article/details/130562606第3课画图小程序链接https://blog.csdn.net/weixin_42636075/article/details/130801371第4课颜色监测(迷宫小游戏)链接https://blog.csdn.net/weixin_42636075/article/details/130804267第5课音乐播放器链接https://blog.csdn.net/weixin_42636075/article/details/130811078第6课贪吃蛇小游戏链接https://blog.csdn.net/weixin_42636075/article/details/132341210第7课打砖块游戏链接https://blog.csdn.net/weixin_42636075/article/details/137239564 1、小球类设计 1、小球的大小(球的半径)、初始坐标、速度 self.radius半径 self.pos [x,y]初始坐标 self.velocity [2, -2]速度self.velocity[0]--x轴移动self.velocity[1]--y轴移动 2、小球绘制方法 pygame.draw.circle(窗口对象, 颜色(RGB-元组), 初始位置(列表[x,y]), 半径(整数)) 3、小球的移动方法(x轴、y轴的移动) 如果小球的x轴坐标 小球半径或者小球的x轴坐标 屏幕的宽度就设置方向相反 同理y轴 # 球体类 class Ball:def __init__(self, radius):self.radius radiusself.pos [screen_width // 2, screen_height - 20 - radius]self.velocity [2, -2]def draw(self, surface):pygame.draw.circle(surface, WHITE, self.pos, self.radius)def update(self):self.pos[0] self.velocity[0]self.pos[1] self.velocity[1]# print(self.pos)# 碰到墙壁反弹# print(screen_width - self.radius)if self.pos[0] self.radius or self.pos[0] (screen_width - self.radius):# self.pos[0] -self.pos[0]self.velocity[0] * -1# if self.pos[0] 0:# self.pos[0] -self.pos[0]# print(screen_height - self.radius)if self.pos[1] self.radius or self.pos[1] (screen_height - self.radius):self.velocity[1] * -1# if self.pos[1] 0:# self.pos[1] -self.pos[1] 2、挡板类的设计 1、挡板的宽x高 self.width width self.height height 2、挡板的初始坐标 self.pos [screen_width // 2 - width // 2, screen_height - 20] 3、挡板的速度因为只在x轴运动所以y轴为0 self.velocity [-5, 0] 4、挡板的绘制,x1,y1矩形左上角坐标点 x2,y2矩形右下角坐标点 pygame.draw.rect((窗口对象, 颜色(RGB-元组), (x1,y1, x2,y2), 0, 0) 5、挡板的移动 接收键盘的事件(左键和右键)设置限制不可以超出屏幕外面 # 挡板类 class Paddle:def __init__(self, width, height):self.width widthself.height heightself.pos [screen_width // 2 - width // 2, screen_height - 20]self.velocity [-5, 0]def draw(self, surface):pygame.draw.rect(surface, WHITE, (self.pos[0], self.pos[1], self.width, self.height), 0, 0)def update(self):keys pygame.key.get_pressed()if keys[pygame.K_LEFT] and self.pos[0] 0:self.pos[0] self.velocity[0]if keys[pygame.K_RIGHT] and self.pos[0] screen_width - self.width:self.pos[0] - self.velocity[0] 3、砖块类 1、砖块的摆放坐标宽、高、 颜色 2、绘制砖块 pygame.draw.rect(surface, self.color, self.rect) class Brick:def __init__(self, x, y, width, height, color):self.rect pygame.Rect(x, y, width, height)self.color colordef draw(self, surface):pygame.draw.rect(surface, self.color, self.rect)4、砖块与小球的边界碰撞检测 def check_collision(ball, brick):# 检查球与砖块的左右边界碰撞if (brick.rect.x - ball.radius ball.pos[0] brick.rect.x brick.rect.width ball.radius) and (brick.rect.y ball.pos[1] brick.rect.y brick.rect.height):return 1 # 返回1表示碰撞发生在砖块的左右边界# 检查球与砖块的上下边界碰撞if (brick.rect.y - ball.radius ball.pos[1] brick.rect.y brick.rect.height ball.radius) and (brick.rect.x ball.pos[0] brick.rect.x brick.rect.width):return 2 # 返回2表示碰撞发生在砖块的上下边界return 05、检测到碰撞删除砖块改变运动方向 def update_bricks(ball, bricks):score 0for brick in bricks[:]:if check_collision(ball, brick) 1:# 处理碰撞效果比如删除砖块或改变球的方向bricks.remove(brick)ball.velocity[0] * -1score 10breakelif check_collision(ball, brick) 2:bricks.remove(brick)ball.velocity[1] * -1score 10break# 可能还需要更新分数或其他游戏状态return score完整版代码 import math import randomimport pygame import sys# 球体类 class Ball:def __init__(self, radius):self.radius radiusself.pos [screen_width // 2, screen_height - 20 - radius]self.velocity [2, -2]def draw(self, surface):pygame.draw.circle(surface, WHITE, self.pos, self.radius)def update(self):self.pos[0] self.velocity[0]self.pos[1] self.velocity[1]# print(self.pos)# 碰到墙壁反弹# print(screen_width - self.radius)if self.pos[0] self.radius or self.pos[0] (screen_width - self.radius):# self.pos[0] -self.pos[0]self.velocity[0] * -1# if self.pos[0] 0:# self.pos[0] -self.pos[0]# print(screen_height - self.radius)if self.pos[1] self.radius or self.pos[1] (screen_height - self.radius):self.velocity[1] * -1# if self.pos[1] 0:# self.pos[1] -self.pos[1]# 挡板类 class Paddle:def __init__(self, width, height):self.width widthself.height heightself.pos [screen_width // 2 - width // 2, screen_height - 20]self.velocity [-5, 0]def draw(self, surface):pygame.draw.rect(surface, WHITE, (self.pos[0], self.pos[1], self.width, self.height), 0, 0)def update(self):keys pygame.key.get_pressed()if keys[pygame.K_LEFT] and self.pos[0] 0:self.pos[0] self.velocity[0]if keys[pygame.K_RIGHT] and self.pos[0] screen_width - self.width:self.pos[0] - self.velocity[0]class Brick:def __init__(self, x, y, width, height, color):self.rect pygame.Rect(x, y, width, height)self.color colordef draw(self, surface):pygame.draw.rect(surface, self.color, self.rect)def check_collision(ball, brick):# 检查球与砖块的左右边界碰撞if (brick.rect.x - ball.radius ball.pos[0] brick.rect.x brick.rect.width ball.radius) and (brick.rect.y ball.pos[1] brick.rect.y brick.rect.height):return 1 # 返回1表示碰撞发生在砖块的左右边界# 检查球与砖块的上下边界碰撞if (brick.rect.y - ball.radius ball.pos[1] brick.rect.y brick.rect.height ball.radius) and (brick.rect.x ball.pos[0] brick.rect.x brick.rect.width):return 2 # 返回2表示碰撞发生在砖块的上下边界return 0def update_bricks(ball, bricks):score 0for brick in bricks[:]:if check_collision(ball, brick) 1:# 处理碰撞效果比如删除砖块或改变球的方向bricks.remove(brick)ball.velocity[0] * -1score 10breakelif check_collision(ball, brick) 2:bricks.remove(brick)ball.velocity[1] * -1score 10break# 可能还需要更新分数或其他游戏状态return scoredef create_explosion(brick):# 创建一个表示爆炸效果的对象或动画passdef update_explosions(explosions, bricks):for explosion in explosions[:]:# 更新爆炸效果if explosion.is_finished():explosions.remove(explosion)# 如果爆炸与砖块碰撞移除砖块if explosion.intersects(brick):bricks.remove(brick)if __name__ __main__:# 初始化Pygamepygame.init()# 设置屏幕大小screen_width, screen_height 640, 480screen pygame.display.set_mode((screen_width, screen_height))# 设置标题和时钟pygame.display.set_caption(Bounce Game)clock pygame.time.Clock()# 定义颜色WHITE (255, 255, 255)BLACK (0, 0, 0)RED (255, 0, 0)# 创建球体和挡板ball Ball(10)paddle Paddle(80, 10)# 创建砖块bricks []for x in range(0, screen_width, 80): # 假设每个砖块宽度为80像素for y in range(0, screen_height // 4, 20): # 假设每个砖块高度为40像素brick Brick(x 2, y 2, 80 - 2, 20 - 2, (255, 255, 255)) # 白色砖块bricks.append(brick)# 得分变量score 0# 游戏主循环running Truewhile running:for event in pygame.event.get():if event.type pygame.QUIT:running False# 更新球体和挡板的位置ball.update()paddle.update()# print(ball.pos, paddle.pos)# 检测球体是否碰到挡板if ball.pos[1] ball.radius paddle.pos[1]:if ball.pos[0] paddle.pos[0] or ball.pos[0] paddle.pos[0] paddle.width:# running Falsescore - 1else:ss abs(ball.pos[0] - (paddle.pos[0]paddle.width//2)) / 20ball.velocity[0] 2ss*2ball.velocity[1] * -1# screen.fill(BLACK)# 渲染背景screen.fill(BLACK)# 绘制球体和挡板ball.draw(screen)paddle.draw(screen)xx random.randint(0, 255)# 绘制砖块for brick in bricks:# 渐变ß# r math.sqrt((ball.pos[0] - brick.rect.x) ** 2 (ball.pos[1] - brick.rect.y) ** 2)# brick.color ((r)/720 *255 % 255, 255, (r)/720*255 % 255)brick.draw(screen)if ball.pos[1] screen_height//2:score update_bricks(ball, bricks)# 显示得分font pygame.font.Font(None, 36)score_text font.render(Score: str(score), True, RED)screen.blit(score_text, (10, 10))# 更新屏幕显示pygame.display.flip()# 设置帧率clock.tick(60)# 退出游戏pygame.quit()sys.exit() 本文转载至https://blog.csdn.net/u010095372/article/details/137205814?spm1001.2014.3001.5506 总结 希望对初学者有帮助 致力于办公自动化的小小程序员一枚 希望能得到大家的【一个免费关注】感谢 求个 关注 此外还有办公自动化专栏欢迎大家订阅Python办公自动化专栏 求个 ❤️ 喜欢 ❤️ 此外还有爬虫专栏欢迎大家订阅Python爬虫基础专栏 求个 收藏 此外还有Python基础专栏欢迎大家订阅Python基础学习专栏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设的前期准备微博代替wordpress评论框

文章目录 vue3使用响应式数据 v-model导致响应式失效el-form表单无法输入的问题 vue3使用响应式数据 v-model导致响应式失效el-form表单无法输入的问题 参考文章 重构vue2项目时发现的问题,原始项目使用的是Element-ui。 其实vue3可以使用适配的Element-plus 问…

深圳网站建设公司服务平台如何建立小程序商城

题目描述 题目链接:21. 合并两个有序链表 - 力扣(LeetCode) 题目分析 这个算法思路很简单:就是直接找小尾插 定义一个tail和head,对比两个链表结点的val,小的尾插到tail->next,如果一个链表…

网站是怎么搭建的做好网站建设静态化

SQL优化是提升数据库性能的重要手段,以下是SQL优化的详细知识点: 正确使用索引:索引是加速数据检索的关键因素,可以通过合理的索引设计来提升查询性能。例如,在频繁使用的列上创建索引,使用联合索引等。 避…

蓝海国际版网站建设网络组建与安全通知

Vue.js 是一个流行的前端 JavaScript 框架,它提供了一种用于构建用户界面的渐进式方法。Vue 组件的生命周期钩子函数是一些特定的函数,它们在组件不同阶段被自动调用,可以让你在这些阶段执行特定的逻辑。下面是 Vue 组件的生命周期钩子函数以…

广东网站建站系统哪家好wordpress屏蔽广告

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目: 实现strstr函数功能 C 库函数 char *strstr(const char *haystack, const char *nee…

学校网站方案阜阳做网站

v-for​ 我们可以使用 v-for 指令基于一个数组来渲染一个列表。v-for 指令的值需要使用 item in items 形式的特殊语法&#xff0c;其中 items 是源数据的数组&#xff0c;而 item 是迭代项的别名&#xff1a; const items ref([{ message: Foo }, { message: Bar }]) <l…

垂直购物网站建设网站备案进程查询

Node.js中Buffer API详解 在Node.js中&#xff0c;Buffer是一个用于处理二进制数据流的全局对象&#xff0c;它类似于数组&#xff0c;但可以存储任意大小的数据。Buffer对象是由C代码实现的底层结构&#xff0c;而JavaScript代码则提供了一些高级的API。本文将介绍Node.js中B…

顺德区建设局网站做跳转链接到自己的网站

一、成员变量及其基本结构 1.基本结构模型 本质是一个带头双向循环列表&#xff0c;将节点进行封装&#xff0c;并且为了方便使用&#xff0c;进行重定义 2.节点的封装定义 template<class T>//定义节点struct list_node{list_node<T>* _prev;list_node<T>…

中山 网站关键词优化如皋建设网站

首先创建一个对象 将这个对象使用mybatis插入数据库 Student stu new Student(null, "stu", 18, null); mapper.insertEntity(stu); System.out.println(stu); 在mapper.xml文件中开启配置之后输出传入的stu对象就会有主键id回传 <!-- 插入语句示例 int ins…

企业网站seo手机优化关键词的公司

线程 一、JAVA中创建线程的两种方法&#xff1a; 1.继承java.lang.Thread类。 2.实现java.lang.Runnable接口。 3.在JAVA中Thread类实现了Runnable接口&#xff0c;并且Thread类中定义了许多与线程相关的属性与方法。 二、run():线程体&#xff0c;线程将要执行的代码。 三、线…

网站建设中倒计时源码2018一级a做爰片免费网站

前言 该系列文章用于我对一周中leetcode每日一题or其他不会的题的复盘总结。 一方面用于自己加深印象&#xff0c;另一方面也希望能对读者的算法能力有所帮助&#xff0c; 同时也希望能帮助同样坚持刷题的同学加深印象~ 该复盘对我来说比较容易的题我会复盘的比较粗糙&#…

网络广告网站网站设计流程的步骤包括

很多人的小指头都会带一个尾戒&#xff0c;不是白金就是黄金&#xff0c;大部份是简单的一环&#xff0c;没有太多装饰&#xff0c;也很少镶宝石&#xff0c;目的不在于当作饰品&#xff0c;而是保命之用。 也有人不习惯戴尾戒&#xff0c;而是把指甲留得长长的&#xff0c;长到…

这个是以前我自己做的一个网站阳江市企业网站优化

目录 一、从文件中读取数据 &#xff08;一&#xff09;读取整个文件 &#xff08;二&#xff09;文件路径 &#xff08;三&#xff09;逐行读取 &#xff08;四&#xff09;创建一个包含文件各行内容的列表 &#xff08;五&#xff09;使用文件的内容 &#xff08;六&a…

科技企业网站建设深圳网站建设公司地图

深入浅出.NET泛型编程(1) 使用泛型集合  .NET 2.0的System.Collections.Generics 命名空间包含了泛型集合定义。各种不同的集合/容器类都被"参数化"了。为使用它们,只需简单地指定参数化的类型即可。请看例2:例2.类型安全的泛型列表List&#xff1c;int&#xff1e…

做一个模板网站多少钱北京开公司的基本流程及费用

一&#xff0c;实验的流程图二&#xff0c;实验代码注&#xff1a;本代码主要来自豆丁&#xff0c;加入本人的部分修改。。//本FCFS是用不带都结点的链表完成。当然也可以用其他数据结构 #include<stdio.h>#include<stdlib.h>typedef struct PCB //定义进程控…

湖北建站管理系统信息简单的网站建设合同书

CocoaChina05-13正则表达式&#xff0c;一个十分古老而又强大的文本处理工具&#xff0c;仅仅用一段非常简短的表达式语句&#xff0c;便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话&#xff0c;能够使你的开发效率得到极大的提升。下面是技匠整理的&#x…

县建设局 协会网站扫二维码直接进网站怎么做

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

自己做的网站怎么上传到域名西地那非可以长期吃吗

ACM中的工作分配问题是一个典型的回溯问题&#xff0c;利用回溯思想能很准确地得到问题的解。下面就这个问题好好分析下。 问题描述&#xff1a; 设有n件工作分配给n个人。为第i个人分配工作j所需的费用为c[i][j] 。试设计一个算法&#xff0c;计算最佳工作分配方案&#xff0c…

网站建设需要提供的资料购物网站用户管理

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于swing的火车站订票系统 系统有2权限&#xff1a;…

大连做企业网站哪家好做车品的网站

以下是华为数通面试考试的一道真题&#xff0c;原题如下&#xff1b; 请举例说明 stp 的 edge port 的作用,用在什么场景&#xff0c;并且使用 edge port 会碰到什么问题&#xff0c;怎么解决和防止&#xff1f; 提到边缘端口&#xff0c;我们是在NP课程的交换部分第一次接触&a…