首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【pygame】之小球基础

个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 目录 python game 小球基础 1.准备工作 2.开始制作 1.创建一个小球 2.创建逐渐变大的小球 3.创建一个自由下落的小球... 4.用if语句实现循环下落 5.做一个循环上下反弹的小球 ---- python game 小球基础 1.准备工作 、1.在文件里找到设置 2.在项目里找到python解释器,点击右边的加号  ...3.搜素pygame并安装  同理下载pgzero安装包 2.开始制作 1.创建一个小球 代码 import pgzrun def draw(): screen.fill('green')...fill后面的green表示设置背景的填充颜色为绿色 filled_circle后面的(400,300)表示圆中心位置坐标,30表示圆的半径,red表示圆的颜色 执行结果 2.创建逐渐变大的小球...y),30,'red') def update(): global y y=y+1 if y>600: y=0 pgzrun.go() 5.做一个循环上下反弹的小球

61420

【CCF】碰撞的小球

现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,各个小球的位置。...提示   因为所有小球的初始位置都为偶数,而且线段的长度为偶数,可以证明,不会有三个小球同时相撞,小球到达线段端点以及小球之间的碰撞时刻均为整数。   ...三秒后,第二个小球与第三个小球在位置9发生碰撞,速度反向(注意碰撞位置不一定为偶数),三个小球位置分别为7, 9, 9。   ...四秒后,第一个小球与第二个小球在位置8发生碰撞,速度反向,第三个小球碰到墙壁,速度反向,三个小球位置分别为8, 8, 10。   五秒后,三个小球的位置分别为7, 9, 9。...每秒每个小球移动一个单位长度,小球每次移动之后都需要判断①该小球是否和其他小球发生碰撞,若发生了碰撞则碰撞的俩者都要改变方向;②该小球是否到达边界,若到达了边界也改变方向。

73010

Canvas跟随鼠标炫彩小球

跟随鼠标炫彩小球 canvas没有让我失望,真的很有意思 实现效果 超级炫酷 ?...实现原理 创建小球小球添加随机颜色,随机半径 鼠标移动通过实例化,新增小球 通过调用给原型新增的方法,来实现小球的动画效果 通过定时器不断地更新画布 实现过程 创建小球 通过创建函数收纳小球所有的样式...,再通过实例化函数,将鼠标当前的位置传递给Ball函数,让通过实例化创建出来的小球,最后将创建出来的小球存入数组中,数组中以对象形式存放着每个小球的属性和属性值 function Ball(x, y,...因为生成的小球x,y,r是固定的,所以小球的位置也是固定的,不会改变 因此需要通过改变每个小球的位置和半径让小球动起来,当小球的半径小于0时,调用remove方法将小球从数组中删除 /* 更新小球位置和半径...这是上面调用的remove方法,当this也就是当前小球半径小于0时i,遍历整个数组,找到这个this,也就是”这个小球“,通过调用数组中的方法,删除掉数组的这个元素 splice(index,num

1.8K40

Canvas系列(15):实战-小球拖拽

在上一章中我们实现的小球的碰撞,这章中我们继续玩玩小球,讲解一下小球的拖拽,为了避免代码的混乱本章中就不考虑小球碰撞的情况了,有兴趣的自己看看上一章。...小球与鼠标接触很简单,只要判断鼠标的位置是否在小球所在的圆内就可以了,这里给小球添加一个方法,用来判断点是否在圆内。...,那么选中小球;然后鼠标按着并移动鼠标的时候,小球也跟着移动,也就是拖的过程;最后松开鼠标,就是把小球释放了。...前面的过程也就是,当Canvasmousedown的时候,记录一下选中的小球;然后mousedown并且mousemove的时候移动小球;最后mouseup的时候释放选中的小球。...投掷 我们刚才拖拽完了以后,由于速度设为了0,所以小球是做自由落体运动,而大多数情况下,我们更希望可以把小球投掷出去,那么当小球投掷的时候,需要计算小球的瞬时速度,这时我们就需要定义拖拽时上一次小球的坐标

83732

Canvas系列(14):实战-小球碰撞

小球碰撞是Canvas非常经典的案例,他是一个很简单的需求,但做起来却非常复杂。 ---- 小球移动操作 根据前面的学习,我们对小球的基本运动了如指掌,直接来一个小球的移动操作,代码如下: <!...上述方法checkCollision中代码Math.abs(dist) < ball0.radius + ball1.radius用来检测小球是否发生碰撞,如果小球圆心之间的距离小于两个小球的半径之和那么两小球碰撞了...接下来就是计算旋转了,为了方便计算,我们假设左边小球(这里假设左边小球是ball0,右边的是ball1)的圆心坐标是(0,0),等我们把一切都计算完后,在把各个位置的坐标加上原来小球的圆心位置坐标就可以了...x0 = 0; let y0 = 0; // 右侧小球旋转后小球的位置 let x1 = dx * cos + dy * sin; let y1 = 0; 未旋转前,各小球的速度vx和vy如下图蓝色部分...在多个小球的情况下,当两个小球相撞的时候,上述33行和34行代码中因为加了速度,如果加的速度过大的话,就可以能会导致与其他地方的小球碰撞,为了规避这种问题的产生,碰撞后,碰撞的两个小球的位置刚好移动到没有碰上

1.6K85

Canvas系列(16):实战-小球与斜面碰撞

上一章我们讲了小球的拖拽,《小球三部曲》还差一部,今天它来了!本章研究的是小球与斜面碰撞过程。...现实生活中,大多数情况下,小球碰撞到的并不是平面或者垂直的面,而是斜面,本章就来讨论小球在斜面上运动的过程。...与斜面碰撞的理论基础 之前我们做过小球小球碰撞,小球碰撞时我们用了非常厉害的一招就是旋转坐标系,把正常的坐标系,转化斜着的坐标系然后来处理,最后再把处理后的坐标系旋转回去。...只在斜面区域内处理斜面碰撞 如图,只有当小球在粉色区域内才需要判断小球与斜面是否相交,其他情况下都不需要去判断。 ?...现在我们发现,小球确实是在粉色区域内去弹起,但是如果小球走了斜面的下面,那么小球也会立即弹起,所以我们需要处理一下这个问题。

97741

POJ-1189 钉子和小球(动态规划)

钉子和小球 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7452 Accepted: 2262 Description...让一个直径略小于d的小球中心正对着最上面的钉子在板上自由滚落,小球每碰到一个钉子都可能落向左边或右边(概率各1/2),且球的中心还会正对着下一颗将要碰上的钉子。例如图2就是小球一条可能的路径。...我们知道小球落在第i个格子中的概率pi=pi=,其中i为格子的编号,从左至右依次为0,1,…,n。 现在的问题是计算拔掉某些钉子后,小球落在编号为m的格子中的概率pm。...例如图3是某些钉子被拔掉后小球一条可能的路径。 Input 第1行为整数n(2 <= n <= 50)和m(0 <= m <= n)。...Output 仅一行,是一个既约分数(0写成0/1),为小球落在编号为m的格子中的概pm。既约分数的定义:A/B是既约分数,当且仅当A、B为正整数且A和B没有大于1的公因子。

66950
领券