- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 你知道python统计字符串中字符出现次数的方法中哪个更快吗?
首先想到如下代码:str = input('input text:')# 保存已经检测过的字母check = ''rec = []# 从当前输入的字符串第一个字母开始检测for s in str: # 如果当前要检测的字母没在已检测的列表中,则检测 if s not in check: # 初始化统计数量为0 count = 0 # 开始在输入的字符串中匹配当前要匹配的字母的出现次数 for s1 in str:
2022-01-03 00:53:21
1583
1
原创 pygame研究之敌机类实现
战机类游戏,要解决敌机几个问题:1、自身的绘制和相关属性管理(可以实现多种类型的战机)2、自身的移动控制(可直线运动、可左摇右摆S随机变化)3、自身被击中的效果以及不同类型敌机的生命值(都是一枪毙命就太没意思了)4、所发射子弹的管理(实现开火的概率随机,子弹的初始位置控制,以及子弹超出屏幕范围之后自动销毁,防止不必要的计算资源占用。)先看整体框架然后我们逐段拆开看一下具体实现1、自身的绘制和相关属性管理(可以实现多种类型的战机)class EnemySprite(p
2022-01-02 14:15:30
2523
原创 pygame研究之利用sprite的UI架构实现
学着网上的代码写了个战机游戏,但在暂停游戏的时候,发现实现一个简单按钮竟然要写那么多的代码,而且进行鼠标交互时,这些代码掺杂在原有的游戏代码中,实现看着太丑陋了,就想着抽象一个类出来,网上查了一些资料,特别是pygame的UI实现,各种方式都有,但是感觉都只是为了解决具体问题而写的代码段,通用性不太好,当时正沉迷于pygame的精髓sprite类中,就觉得这个东西应该是可以解决困局的好工具,于是就有了下面的代码。import pygame as pg# 所有全局常量(下面全部大写的都是...
2022-01-02 12:27:10
2181
原创 pygame中的事件检测和处理
包括鼠标、键盘、定时Event和自定义的Event。1、定时Event # 1、每秒一次敌机生成事件 pg.time.set_timer(CREATE_ENEMY_EVENT, 2000) pg.time.set_timer(ENEMY_FIRE_EVENT, 800)2、自定义Event def update(self): # 炸弹移动 self.rect.y -= self.speed
2022-01-01 11:19:28
1181
原创 python\pygame封装中文显示
pygame的中文显示处理着总觉得还不是最终的方案,这太简陋了,而且mac和windows本的处理方法还不一样,目前找到这个方法似乎是可以兼容两个平台的(当然,字体目录要一致) def _DrawText(self, _text, _size, _pos, _color): # 显示文字 fontobj = pg.font.Font('/System/Library/Fonts/Supplemental/Songti.ttc', _size) te
2022-01-01 11:15:38
451
原创 python中pygame.sprite碰撞检测学习
pygame中的sprite加上sprite.Group,进行批量的对象碰撞检测太简单了,不仅有多种的碰撞检测模式,还能以各种方式控制处理结果,今天先学习groupcollide的rect碰撞检测,明天再看看几个圆形碰撞,以及对象与group的碰撞。 def _CheckCollide(self): # print('Check collide.') # 英雄和敌机碰撞检测(不管双方血量,直接结束游戏) collide = pg.sprite.gr
2022-01-01 11:12:59
1477
原创 Python生成几个随机数,凑出某个数
import numpy as npcalc = Truewhile calc:n = np.random.rand(3)*1000n = n.round(0)calc = not n.sum() == 2000print(n, n.sum())
2022-01-01 11:06:35
481
原创 Python学习笔记2(pygame深入研究,战机游戏)
整体类规划(每个类一个文件)GameMain类:开始、暂停控制游戏常量初始速度补给物补给数量接收键盘及鼠标操作,并通知自个对象各类Sprite对象队列英雄队列(虽然现在只有一个飞机,可以加入僚机)敌机子弹队列(先建)敌机队列补给物队列英雄子弹队列各类Sprite对象生成敌机生成(添加入队列,并告知敌机子弹队列)补给生成(添加入队列)判断各类Sprite是否碰撞:敌机和英雄:全毁,游戏结束Enemys.子弹和英雄:英雄减血,补给物和英雄
2022-01-01 11:05:46
250
原创 Python学习笔记(pygame深入研究,战机游戏)
初步规划有背景,并且可以滚动; 游戏要点击开始才可以开始,并且途中可以暂停、再开始。 游戏有背景音乐 可以操作的飞机叫(HeroPlane),可以上下左右飞,可以发射子弹和炸弹,子弹和炸弹有数量限制,炸弹初始为3个,子弹为1000发。 炸弹可以直接清除画面上所有的敌机和子弹,但发射到起作用有3秒延迟。 游戏可以随机补充炸弹(每次1个)和子弹(每次100发) 可以操作的飞机自身有动画 敌机有多种样式,随机出现不同机种,可以发射子弹。 敌机发射子弹和被击中时有动画。 不同敌机有不同的血槽(
2022-01-01 11:04:20
282
Python教程战机类游戏开发深入研究
2022-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人