pygame的游戏框架Game类(单击画彩圆)源代码

这里提供了一个pygame的游戏框架。

下面是代码预览:

"""
game.py,这是基于游戏类的pygame程序框架。这个程序新建了一个Game类。
为了更加形象,这里增加了单击鼠标左键,会画一个彩色的圆圈的几行代码。
"""

import pygame
import random

class Game:
    """游戏类"""
  
    def __init__(self, width=640, height=400):
        
        pygame.init()
        self.width = width
        self.height = height
        self.screen = pygame.display.set_mode((self.width, self.height), pygame.DOUBLEBUF)
        self.fps = 30       # 每秒显示的帧数       

    def run(self):
        """游戏主循环
        """
        self.clock = pygame.time.Clock() 
        running = True


if __name__ == '__main__':
    
    Game().run()

 
如需要查看所有源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, python | pygame的游戏框架Game类(单击画彩圆)源代码已关闭评论

颜色圈圈音乐动画源代码

python turtle music colorful circle pure pen animation颜色圈圈音乐动画

python turtle music colorful circle pure pen animation颜色圈圈音乐动画


美妙的音乐,编程的乐趣!此程序用turtle开发,当然,一切都是画出来的。配音也是花了时间的哦!
以下是部分代码预览:

"""
   颜色圈圈音乐动画,美妙的音乐伴随着旋转动画效果。
   这些彩色圈子是画出来的,
   本程序采用三个定时器模拟多线程效果。
   
"""
from turtle import *
from winsound import *

PlaySound('color.wav',SND_ASYNC|SND_LOOP)
colors = 'red','cyan','yellow','purple'

def draw_circle(t,radius):
    t.penup()
    t.clear()
    t.fd(radius)
    t.left(90)
    t.pendown()
    
width,height = 480,360
screen = Screen()
screen.tracer(0,0)
screen.bgcolor('black')
screen.setup(width,height)
screen.title('颜色圈圈音乐动画by李兴球')

 

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 颜色圈圈音乐动画源代码已关闭评论

春来了创意图章动画源码

由于录制的动画文件尺寸太大,以下动画删除了很多帧,尺寸缩小了一半。

python pring comes with creative stamp animation春来了创意图章动画

python pring comes with creative stamp animation春来了创意图章动画

以下是部分代码预览:

"""
   春来了创意图章动画,
   这是用海龟画图模块制作的一个小动画。
   程序运行后窗口会逐渐变大,然后很多花儿铺满了屏幕,
   接下来,这些花儿立即消失,直到露出标题和背景图片。
"""
from turtle import *
from random import * 
from time import sleep

width,height = 800,600
screen = Screen()
screen.setup(0,0)
screen.title("春来了创意图章动画by李兴球")
screen.tracer(0,0)
screen.addshape('鲜花.gif')
screen.bgpic('bg.png')

t = Turtle(visible=False)
t.penup()
t.color('gray')
t.shape('鲜花.gif')

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 春来了创意图章动画源码已关闭评论

海星与山(分层角色)源代码

海星与山(分层角色)LayeredUpdates研究by李兴球

海星与山(分层角色)LayeredUpdates研究by李兴球


让pygame中的角色处于不同的层,即前面与后面的关系研究的源代码。关键地方有代码注释,让你一看就明白! 以下是部分代码预览:

"""
   海星与山(分层角色)。
   这个程序是关于角色的层设置的。
   可以把角色都放在pygame.sprite.LayeredUpdates所实例化的同一个组。
   但每个角色所在层可以不一样。
   
"""
import pygame
from random import *  
from pygame.locals import *

class Sprite(pygame.sprite.Sprite):
    """
       继承自pygame角色类的Sprite类
       本类只是测试pygame.sprite.LayeredUpdates类。
       角色会从左到右不断地移动。
    """
    def __init__(self,image,pos,screen):
        pygame.sprite.Sprite.__init__(self)
        self.image = image
        self.rect = image.get_rect(center=pos)
        self.sw = screen.get_width()
        self.dx,self.dy = randint(1,10),0
        
    def update(self):
        """
           更新角色坐标
        """
        self.rect.move_ip(self.dx,self.dy)
        if self.rect.left >= self.sw:
            self.rect.right = 0

def main():
    """
       主要执行函数
    """
    pygame.init()
    width,height = 480,360
    screen = pygame.display.set_mode((width,height))
    pygame.display.set_caption("海星与山(分层角色)LayeredUpdates研究by李兴球")

    hill = pygame.image.load('山.png').convert_alpha()
    star = pygame.image.load('star.png').convert_alpha()

    group = pygame.sprite.LayeredUpdates()

    """pygame官网关于层的说明
      If the sprite you add has an attribute layer then that layer will be used.
      If the **kwarg contains 'layer' then the sprites passed will be added to that layer (overriding the sprite.layer attribute).
      If neither sprite has attribute layer nor **kwarg then the default layer is used to add the sprites.
      从上到下三个如果的翻译:
      如果添加的角色有一个layer属性,那么这个属性会被使用
      如果在添加的时候有关键词参数layer,那么角色会通过它的值得到所在的层,这会覆盖掉它自己的layer属性。
      如果没有设置层,会被默认为缺省的0层。

    """
    
    山 = Sprite(hill,(width//2-100,height-100),screen)
    海星  = Sprite(star,(width//2,height-200),screen)
    
    group.add(山,layer=0)        # 可以通过在这里设置角色所在的层
    group.add(海星,layer=1)      # 在这里设置的layer会覆盖自身层layer属性

    clock = pygame.time.Clock()
    running = True
    while running:
        for event in pygame.event.get():
            if event.type == QUIT:running=False

        group.update()
        screen.fill((0,125,198))
        group.draw(screen)
        pygame.display.update()
        clock.tick(60)
    pygame.quit()

if __name__ == "__main__":

    main()
      
    

 

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, python | 海星与山(分层角色)源代码已关闭评论

花瓣雨飞舞的春天turtle版源代码

python flower rain花瓣雨飞舞的春天turtle版

python flower rain花瓣雨飞舞的春天turtle版

需要寻找“浪漫”吗?这里已经有了,音乐也为你配好了。你们相遇的日子,是否是在花瓣雨飞舞的春天?
music已经响起,人生开挂从海龟画图开始。以下是部分源码预览:

"""
   花瓣雨飞舞的春天turtle版
   本程序是一个简单的动画,伴随着音乐,在春天很多花瓣随风飞舞...
   这个程序有pygame版,本版本增加了阴影标题。
"""
from time import sleep
from turtle import *
from winsound import *

# 循环播放背景音乐
PlaySound("AndyLauWu.wav",SND_ASYNC|SND_LOOP)

width,height = 960,538
screen = Screen()
screen.setup(width,height)
screen.title('花瓣雨飞舞的春天turtle版by李兴球')
......................................
frames = ["frames/" + str(i) + ".png" for i in range(19)]
amounts = len(frames)              # 所有帧的数量

t = Turtle(visible=False)          # 新建海龟对象  
t.penup()                          # 抬笔
t.color('gray')                    # 设定颜色为灰色
ft = ('黑体',24,'normal')          # 设定字体样式
字 = '花瓣雨飞舞的春天'            # 设定要写的字
t.write(字,align='center',font=ft) # 写字

t.color('white')                   # 设定颜色为白色 
t.goto(-2,2)                       # 海龟坐标定位 
t.write(字,align='center',font=ft) # 写字 
...................................

 

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 花瓣雨飞舞的春天turtle版源代码已关闭评论

数据采集911cha.com上面的动词到文件

"""
   简易程序抓取911cha.com上面的动词表到文件中
   这是由于在创造一个scratch作品时需要用到这些数据,
   所以编制了这个程序。关键词:数据采集,爬虫
"""

import time
import requests
from lxml import html

headers = {'Accept': 'text/html, application/xhtml+xml, image/jxr, */*',
           'Accept - Encoding':'gzip, deflate',
           'Accept-Language':'zh-Hans-CN, zh-Hans; q=0.5',
           'Connection':'Keep-Alive',
           'Referer':'http://www.scratch8.net',
           'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'}

url = 'https://cidian.911cha.com/cixing_dongci_p'
urls = [f"{url}{i}.html" for i in range(1,21)]

动词表 = set()
for url in urls:
    time.sleep(1)
    page = requests.get(url,headers=headers)   #请求.得到
    tree= html.fromstring(page.content)    n   #返回 lxml.html.HtmlElement ,生成html元素 树
    for a in tree.xpath("//ul[@class='l3']//li/a[1]"):
     动词表.add(a.text)
    print(url,'处理完毕。')

f = open("动词表.txt",mode='w',encoding='utf-8')
for n in 动词表:
    f.write(n + "\n")
f.close()
print('共写入',len(动词表),'个名词')

 

发表在 python | 数据采集911cha.com上面的动词到文件已关闭评论

玛丽的算术之砖块类

python mario brick class 显示砖块

python mario brick class 显示砖块


这是用海龟画图模块制作的一个类。应用于一个小游戏,玛丽的算术。
以下是部分代码预览:

"""
   玛丽的算术之砖块类。
   本程序定义了一个砖块类,
   配合超级玛丽的算术小游戏而设计的。
"""
from turtle import *

class Brick(Turtle):
    """
      继承自Turtle类的砖块类
    """
    def __init__(self,images,x,y,w,h,mario):
        """
           初始化方法
           images:造型序列
           pos:坐标
           w,h:宽高
           mario:超级玛丽
        """
        
        Turtle.__init__(self,visible=False)
        self.up()
        self.speed(0)
        self.images = images
        self.shape_index = 0
        self.shape(images[0])          # 初始造型
        self.shape_amount = len(images)# 造型数量
        self.goto(x,y)
        self.left = x - w//2           # 重定义left
        self.right = x + w//2          # 重定义right
        self.top = y + h//2            # 定义top 
        self.bottom = y - h//2         # 定义bottom
        self.mario  = mario
        self.nobumped = True
        self.wait_bump()
        self.st()
        self.screen.update() 

    def wait_bump(self):
        """等待是否被玛丽碰到"""

    def alt_costume(self):
        """切换造型"""        


if __name__ == "__main__":

    main()

 
如需要查看所有源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 玛丽的算术之砖块类已关闭评论

超级玛丽碰砖块

turtle mario jump collision bricks 玛丽的算术之角色类

turtle mario jump collision bricks 玛丽的算术之角色类


操作超级玛丽去碰砖块的一个小游戏。这是一个雏形程序,方便学习。以下是代码预览。

"""
   超级玛丽碰砖块
   本程序定义一个Sprite类。
   操作它能跳跃起来,能左右移动去碰砖块。
"""
from turtle import *
from brick import Brick

class Sprite(Turtle):
    """
      继承自Turtle类的角色类
    """
    def __init__(self,leftpics,rightpics,pos):
        """初始化方法
           leftpics:左序列造型
           rightpics:右序列造型
           pos:初始坐标
        """
        Turtle.__init__(self,visible=False)
        self.penup()
        self.speed(0)
        self.leftpics = leftpics
        self.rightpics = rightpics
        self.images = [leftpics,rightpics]       
        self.shape_index = 0              # 造型序列索引号
        self.shape_amount = len(leftpics) # 向左或向右造型数量
        self.screen.onkeypress(self.leftmove,"Left")
        self.screen.onkeypress(self.rightmove,"Right")
        self.screen.listen()
        self.goto(pos)
        self.shape(self.images[0][0])     # 初始造型
        self.st()
        self.screen.update()
        self.dy = 0                       # 垂直速度
        self.gravity()
        self.screen.onkeypress(self.jump,"Up")
        
    def gravity(self):
        """受重力自由落体运动"""
        y = self.ycor() + self.dy        
        if y > -105:
           self.dy = self.dy -1
        else:
           y = -105
           self.dy = 0
        self.sety(y)
        self.screen.update()
        self.screen.ontimer(self.gravity,10)

    def jump(self):
        """跳跃"""
        if self.dy == 0 : self.dy = 20
        
    def leftmove(self):
        """向左移动"""
        self.setheading(180)       
        self.shape_index +=1                  # 造型索引增1 
        self.shape_index %= self.shape_amount # 对总数求余
        self.shape(self.images[0][self.shape_index])
        self.fd(10)
        self.screen.update()
        
    def rightmove(self):
        """向右移动"""
        self.setheading(0)        
        self.shape_index +=1                  # 造型索引增1 
        self.shape_index %= self.shape_amount # 对总数求余
        self.shape(self.images[1][self.shape_index])
        self.fd(10)
        self.screen.update()

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 超级玛丽碰砖块已关闭评论

读取wordpress的媒体xml下载图片到本地磁盘

"""
   在wordpress博客中导出所有媒体的xml文件后,
   用这个python程序可以读取xml文件中的图片链接,
   把它们下载到本地硬盘.
"""

import os
import requests
from xml.dom.minidom import parse

def saveimage(pic,uploads_path):
    """
      从URL保存图片,URL网址是这样的:
      pic =  https://www.lixingqiu.com/wp-content/uploads/2019/02/Python收集金币游戏不会在墙上_改编:李兴球.png
      uploads_path:是下载文件夹
    """
    # 以下是求图片名称及准备目录,把文件放到相应的目录
    path,filename = os.path.split(pic)  # 图片文件夹完整路径
    items = path.split("/")             # 路径的每个项目,倒数第一为月份,倒数第二为年份
    year_fld = uploads_path + os.sep + items[-2] # 年份文件夹不存在,则创建
    if not os.path.exists(year_fld):os.mkdir(year_fld)
    month_fld = year_fld + os.sep + items[-1]
    if not os.path.exists(month_fld):os.mkdir(month_fld)#月份文件夹不存在则创建

    filename = month_fld + os.sep + filename # 最终在磁盘上保存文件的绝对路径
    r = requests.get(pic)
        
    if r.status_code == 200:
        open(filename, 'wb').write(r.content)

li_list = []

DOMTree = parse('媒体.xml')                      # 在wordpress中导出的媒体xml

item = DOMTree.documentElement 
titles = item.getElementsByTagName('title')      # 标题
src_links = item.getElementsByTagName('link')    # 所引用图片的网址
pic_links =  item.getElementsByTagName('guid')   # 图片网址

for 标题,文章链接,图片链接 in zip(titles[::-1],src_links[::-1],pic_links[::-1]):
    for title,src_link,pic_link in zip(标题.childNodes,文章链接.childNodes,图片链接.childNodes):
        t = title.nodeValue
        s = src_link.nodeValue
        u = pic_link.nodeValue
        if isinstance(t,str) and isinstance(u,str) and isinstance(s,str):          
          item = (t,s,u)                        # 依次是标题、源文章链接、图片链接
          li_list.append(item)

uploads_path = 'public_html/wp-content/uploads' # 下载图片的文件夹

print('共有',len(li_list),"项数据")
for item in li_list:    
    saveimage(item[2],uploads_path)


 

发表在 python | 读取wordpress的媒体xml下载图片到本地磁盘已关闭评论

pygame地图渲染器

pygame地图渲染器map render

pygame地图渲染器map render


把一个列表渲染成地图的程序。下面是部分代码:

"""
   pygame地图渲染器
   本程序把用列表代表的平铺地图转换成图像,
   可用于迷宫游戏中。
"""
__author__ = '李兴球'
__date__ = '2019/10/14'
__blog__ = 'www.lixingqiu.com'
import pygame
from pygame.locals import * 

def main():
    """
       主要执行函数,地图说明:
       x:墙块,用黑色表示
       .:可通行区域,用无色表示       
    """
    winlevel = ["xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                "x..............................x",
                "x..............................x",
                "x..............................x",
                "x............xxx....xxx........x",
                "x...........xx.xx..xx.xx.......x",
                "x............xxx....xxx........x",
                "x..............................x",
                "x................x.............x",
                "x................x.............x",
                "x................x.............x",
                "x..............................x",
                "x..............................x",
                "x............xx....xxx.........x",
                "x.............xxxxxxx..........x",
                "x..............................x",
                "x..............................x",
                "xxxxxxpxxxxxxxxxxxxxxxxxxxxxxx.x"]
    image = make_map(winlevel,'background.jpg',20)
    screen = pygame.display.set_mode(image.get_size())
    
    screen.blit(image,(0,0))
    pygame.display.update()
    pygame.display.set_caption("pygame地图渲染器by lixingqiu")
    # 按任意键关闭窗口
    while not any(pygame.key.get_pressed()):pygame.event.poll()
    pygame.quit()


if __name__ == "__main__":

    main()

 

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, python | pygame地图渲染器已关闭评论

turtle版手电筒效果之印度姑娘创意源码

python turtle flashlight effect手电筒探照灯效果

python turtle flashlight effect手电筒探照灯效果


黑夜里,我拿着手电筒照呀照,哎呀妈呀,照到一位漂亮的印度姑娘。一般人可只知道用turtle画画儿,而这个程序却用海龟画图模块制作出了这种效果。
下面是部分代码预览:

"""
   turtle手电筒效果之印度姑娘,
   这个程序实现用海龟画图模块的一种手电筒探照灯效果。
   如果要改变圆圈大小,则要加入pillow模块,动态改变mask
   的大小。
   
"""
__author__ = '李兴球'
__date__ = '2019/10/13'
__blog__ = 'www.lixingqiu'

from turtle import *

..........................

width,height = 480,360
screen = Screen()
screen.setup(width,height)
screen.bgpic('印度姑娘.png')
screen.addshape('mask.gif')
screen.title('turtle手电筒效果之印度姑娘by lixingqiu')
..............................

screen.mainloop()

 

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | turtle版手电筒效果之印度姑娘创意源码已关闭评论

pygame版手电筒探照程序之印度姑娘源代码

python per pixel alpha flashlight手电筒探照程序之印度姑娘

python per pixel alpha flashlight手电筒探照程序之印度姑娘


这是用pygame开发的一个手电筒探照黑夜类型的程序。本程序有turtle版,和turtle版不同的时,这个程序的手电筒是能缩放的。
以下是代码预览:

"""
   手电筒探照程序,每像素演示,本程序以图为底,以另一个surface为遮罩层。
   让这个遮罩层随着鼠标的移动而移动,按滚动上或下能放大或缩小‘遮罩层’。
   
"""
__author__ = '李兴球'
__date__ = '2019/10/13'
__blog__ = 'www.lixingqiu.com'

import pygame
from pygame.locals import *

pygame.init()

image = '印度姑娘.jpg'
image = pygame.image.load(image)
width,height = image.get_size()

screen = pygame.display.set_mode((width,height))
pygame.display.set_caption("pygame手电筒探照程序之印度姑娘by李兴球")
................
running = True
while running:
    for event in pygame.event.get():
        if event.type == QUIT:running=False
        elif event.type == pygame.MOUSEBUTTONDOWN:
             if event.button == 5 :
                 radius = radius + 4
                 radius = min(radius,200)
             elif event.button == 4:
                 radius = radius - 4
                 radius = max(4,radius)
    ........................
    pygame.display.update()
    mask_image = mask_image2.copy()   # 还原
pygame.quit()

 
下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, python | pygame版手电筒探照程序之印度姑娘源代码已关闭评论

turtle_pymunk单击彩球零重力互碰演示程序源代码

turtle_pymunk单击彩球零重力互碰演

turtle_pymunk单击彩球零重力互碰演


这是用了pymunk物理引擎的一个示例。在例子中彩球受到的是零重力,它们有一个初始速度,彼此会产生互碰效果。只有一个海龟对象,程序中所有小球都是画出来的。以下是部分代码预览:

"""
   turtle_pymunk单击彩球零重力互碰演,谁说海龟模块只能画图。
   本程序运行后,单击会有彩球,彩球会移动,但是它们有互碰效果。
"""
import sys
import math
import turtle
import pymunk
from random import randint

def rndcolor():
    """产生随机颜色"""
    r = randint(0,255)
    g = randint(0,255)
    b = randint(0,255)
    return r,g,b
       
def main():
    """主要执行函数"""
    global space,balls
    width,height = 600,600
    screen = turtle.Screen()
    screen.setup(width,height)
    screen.title("turtle_pymunk单击彩球零重力互碰演by李兴球")
    screen.tracer(0,0)
    screen.colormode(255)
    screen.bgcolor(115,175,24)    # 背景颜色
    screen.update()               # 刷新显示

    space = pymunk.Space()        # 重力空间
    space.gravity = (0.0, 0.0)    # 加速度为0 

    screen.onclick(add_bubble)    # 绑定单击事件

    t = turtle.Turtle(visible=False)#用来画球的海龟
    t.penup()
    balls = []     

 

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pymunk, python, turtle | turtle_pymunk单击彩球零重力互碰演示程序源代码已关闭评论

pygame_pymunk单击泡泡零重力互碰演示程序

pygame_pymunk单击泡泡零重力到碰演示程序

pygame_pymunk单击泡泡零重力到碰演示程序


这是一个pygame和pymunk物理引擎结合的互碰球演示程序。以下是部分代码预览:

"""
   pygame_pymunk单击泡泡零重力互碰演示程序
"""
import sys
import math
import pygame
import pymunk
import pymunk.pygame_util
from pygame.locals import *
def main():
    """主要执行函数"""
    pygame.init()
    screen = pygame.display.set_mode((600, 600))
    pygame.display.set_caption("pygame_pymunk单击泡泡零重力互碰演示程序by李兴球")
    clock = pygame.time.Clock()

    space = pymunk.Space()
    space.gravity = (0.0, 0.0)    # 零重力空间 
    
    balls = []
    draw_options = pymunk.pygame_util.DrawOptions(screen)
    draw_options.constraint_color = (255,255,0)
    draw_options.collision_point_color = (0,255,255)   # 碰撞点颜色
    # draw_options.shape_static_color = (255,111,0)    # 静态物体的颜色
    running = True

if __name__ == '__main__':

     main()

 

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, pymunk, python | pygame_pymunk单击泡泡零重力互碰演示程序已关闭评论

雪花飘漂亮树源代码


这是一幅静态图,画二叉分形树。以下是代码预览:

"""
   雪花飘漂亮树,本代码在10分钟之内写完的,算是自我编程挑战赛吧。
"""

__author__ = '李兴球'
__date__ = '2019/10/11'
__blog__ = 'www.lixingqiu.com'

from turtle import *
from random import *

width,height = 800,600
screen = Screen()
screen.tracer(0,0)
screen.bgcolor('#FABDBA')
screen.title("雪花飘漂亮树")

t = Turtle(visible=False)
t.penup()
t.left(90)
t.bk(200)
t.pendown()
draw_tree(t,6,140)
screen.update()

 
如需要查看所有源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 雪花飘漂亮树源代码已关闭评论

学习Pymunk要知道的几个概念或注意事项。

学习Pymunk要知道的几个概念或注意事项。

1、刚体:刚体是有物理性质的一个对象,包括质量,坐标,旋转角度,速度等等。
它是没有形状的。如果你以前对粒子做过物理研究,那么刚体的主要区别在于它们能够旋转。

2、碰撞形状:让刚体附上形状,这样才能进行碰撞检测,刚体也并非一定要有一个形状。

3、约束与关节:你能在两个刚体间添加关节以约束它们的行为。

4、空间:这是模拟的物理空间。把刚体,形状,关节添加到这个空间中,然后一起进行更新。

5、渲染:pymunk本身不渲染形状。它负责的是无形的部分。即只负责计算然后反馈出结果。
如一个小球在受到重力下某时刻的坐标,碰撞后的旋转角度等等。要把这个小球渲染出来,
也就是画出来则要借助其它模块,如Pygame模块的draw系列功能,当然turtle模块也能把小球
给画出来。由于turtle坐标默认的是数学直角坐标系,这和pymunk是一致的,不需要转换坐标系统。

6、pymunk提供了和pygame_util模块方便和pygame进行结合。

7、用pip install pymunk不会安装例子,可以在这里下载:https://pypi.org/project/pymunk/#files

发表在 pymunk, python | 学习Pymunk要知道的几个概念或注意事项。已关闭评论

tkinter屏幕居中显示

"""
   tkinter居中显示代码
"""

import tkinter as tk

def center(win):
    """
       居中显示函数
    """
    win.update_idletasks()
    width = win.winfo_width()   # 自己的宽度
    height = win.winfo_height() # 自己的高度
    # 下面是获取屏幕中心点距离左上角win宽高分别一半时的那个坐标.
    x = (win.winfo_screenwidth() // 2) - (width // 2)
    y = (win.winfo_screenheight() // 2) - (height // 2)
    win.geometry('{}x{}+{}+{}'.format(width, height, x, y))

if __name__ == '__main__':
    
    root = tk.Tk()
    root.title("tkinter屏幕居中显示")
    center(root) 
    root.mainloop()

 

发表在 python, tkinter | tkinter屏幕居中显示已关闭评论

tkinter物理引擎pymunk粒子效果源代码

tkinter物理引擎粒子效果 python physics particle effect

tkinter物理引擎粒子效果 python physics particle effect


tkinter和pymunk物理引擎结束的一个粒子效果源码程序。本程序还借用了pygame模块的Clock类,用来调整fps。
下面是部分代码预览:

"""
   tkinter物理引擎粒子效果,把半径改大些就是一个个的弹球了。
   每个物体之间会有互碰效果,这是由于采用了pymunk这个物理引擎。
   本程序还借用了Pygame模块提供的Clock类,以便固定FPS。
"""

import pymunk
from tkinter import *
from random import *
from pygame.time import Clock   # 导入Clock类

def rndcolor():
    """产生随机颜色"""
    s = "0123456789ABCDEF"
    s = [choice(s) for _ in range(6)]
    s.insert(0,"#")
    return "".join(s)

class Ball:
    """受重力的物理弹球类"""
    container = []
    def __init__(self,pos,radius,color,canvas,space):
        """
           pos:坐标
           radius:半径
           color:颜色
           canvas:画布
           space:空间
           假设所有的小球物理系数都是一样的。
        """
        self.pos = pos
        self.radius = radius
        self.color = color
        self.canvas = canvas
        self.space = space
        x1,y1 = pos[0] - radius,pos[1] - radius
        x2,y2 = pos[0] + radius,pos[1] + radius
        ..............
window=Tk()
window.resizable(width=False,height=False)  # 设置窗口不能变化大小
window.geometry("480x360+200+200")          # 设置窗口的几何尺寸
window.title('tkinter物理引擎粒子效果 by lixingqiu')    # 设置窗口的标题

canvas=Canvas(window,width=480,height=360,bg="white")   #创建canvas
canvas.pack(expand=True)                    

space = pymunk.Space()                      # 创建物理空间
space.gravity = 0,100                       # 设置重力参数,注意这里改成了正数

rectangle=canvas.create_rectangle(100,300,300,320,fill='magenta',outline='magenta')
a ,b = (100,320),(300,320)
board1 = pymunk.Segment(space.static_body,a,b,20) # 创建静态板子
board1.elasticity = 0.95                    # 弹性系数
board1.friction = 0.9                       # 摩擦系数
space.add(board1)
    
radius = 2
counter = 0
clock = Clock()
................

 

如需要查看所有源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, tkinter | tkinter物理引擎pymunk粒子效果源代码已关闭评论

炫彩波浪线动画源代码

python sin cos line cool color炫彩波浪线动画

python sin cos line cool color炫彩波浪线动画

简单的正弦曲线动画。
以下是代码预览:

"""
   炫彩波浪线,这个程序并不复杂,它只是在画很多正弦曲线。
   运行这个程序后,会有动画效果,这是由于不断地用屏幕
   的update命令刷新的结果。
"""

import math
from turtle import *
from coloradd import *

def draw_wave(turtle,pos):
    """画一根波浪线"""
    c = (255,0,0)    
    turtle.penup()
    turtle.goto(pos)
    turtle.pendown()
    .............
    
width,height = 480,360
screen = Screen()
screen.colormode(255)
screen.setup(width,height)
screen.title("波浪炫彩图")

 
如需要查看所有源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 炫彩波浪线动画源代码已关闭评论

单击鼠标在海龟屏幕上画一个正方形

单击鼠标在海龟屏幕上画一个正方形,要求速度画的最快

单击鼠标在海龟屏幕上画一个正方形,要求速度画的最快


采用海龟屏幕的单击事件制作的一小程序。以下是部分代码预览:

"""
   单击鼠标在海龟屏幕上画一个正方形,要求速度画的最快!这是一个本人上课的课堂练习题.
"""

from random import *
from turtle import Turtle, Screen

def drawSquare(x,y):
    """画彩色 正方形程序"""
    r = randint(0,255)
    g = randint(0,255)
    b = randint(0,255)
    turtle.color(r,g,b)
    turtle.up()
    turtle.goto(x,y)
    turtle.down()
    for _ in range(4):
        turtle.fd(100)
        turtle.right(90)

 
如需要查看所有源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 单击鼠标在海龟屏幕上画一个正方形已关闭评论

拉皮筋发射程序源码


turtle模块制作的拉小球,这本来是做为飞扬小鸟的一个预备程序的。操作方法是拉小球,然后皮筋会显示出来。松开鼠标后小球会做抛物线运动。以下是部分源代码:

"""
    拉皮筋发射程序,皮筋是画出来的。
    小球发射后受到‘重力’做抛物线运动。
"""
import turtle

def draghandler(x,y):
    """
       turtle2是画皮筋的
    """
    turtle2.clear()        # 清除turtle2所画的
    turtle2.goto(x0,y0)    # 位到固定点
    turtle2.down()         # 落笔
    turtle2.goto(x,y)      # 到所拉到的点
    screen.update()        # 显示刷新
    turtle2.up()           # 抬笔
    turtle.goto(x,y)    
    screen.update()
    
def releasehandler(x,y):
    """
       鼠标释放事件
    """
    ....................    
screen = turtle.getscreen()
screen.tracer(0,0)
screen.bgcolor('light cyan')
screen.title("拉皮筋发射程序")

.........................
# turtle2就是画皮筋的海龟对象
turtle2 = turtle.Turtle(visible=False)
turtle2.up()
turtle2.width(4)
turtle2.color('#F0EE33')

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 拉皮筋发射程序源码已关闭评论

纯画笔turtle与pymunk物理引擎弹球1带fps帧率源码

纯画笔turtle与pymunk弹球by lixingqiu

纯画笔turtle与pymunk弹球by lixingqiu


这个程序采用turtle和pymunk相结合。这一点就有所创新性,程序运行后,单击海龟画图屏幕会有一个弹球往下掉。碰到拦板会反弹,当然碰到其它弹球也会有互碰效果。为了固定FPS,借用了pygame模块的Clock时钟类。下面是部分源码预览:

"""
   纯画笔turtle与pymunk弹球1。
   本程序结合pygame,turtle和pymunk模块。
   单击屏幕会有小球落下,小球们和挡板都是
   用一个海龟画出来的。在本程序的while循环中
   还限制了fps,这是通过导入pygame的Clock类实现的。
   请注意这个物理弹球与第86个例子中《3D物理互碰弹球》
   中的区别。在那个例子中,弹球们都是一个个的海龟对象,
   而这个例子即终只有两个海龟对象,海龟本身是不显示的。
   一只负责渲染所所有画面,另一只用来显示fps,即帧率的。
   本程序中函数有使用全局变量,还可以再度进行优化调整。
"""
__author__ = "李兴球"
__date__ = "2019/10/7"
__blog__ = "www.lixingqiu.com"

import math                     # 导入数学模块
import pymunk                   # 导入pymunk模块
import turtle                   # 导入海龟模块
from pygame.time import Clock   # 导入Clock类

def draw_circle(radius):
    """
       画圆形,本程序是在turtle中心点画一个填充圆形。
       为了突出弹球的旋转显示效果,多画了一根线。
    """
    turtle.begin_fill()
    turtle.fd(radius)
    turtle.left(90)    
    turtle.circle(radius)
    turtle.right(90)
    turtle.color('black')     # 画线突出旋转
    turtle.down()
    turtle.bk(radius)
    turtle.up()
    turtle.color('dodger blue')
    turtle.end_fill()
    
........................................
抬头 = "纯画笔turtle与pymunk弹球by lixingqiu"
width,height = 800,600
screen = turtle.getscreen()    # 小球所在屏幕
screen.setup(width,height)
screen.bgcolor('cyan')
screen.tracer(0,0)
screen.title(抬头)
screen.update()

space = pymunk.Space()         # 创建物理空间
space.gravity = 0,-100         # 设置重力参数

balls = []                     # 存储每个小球形状的列表

# 下面是建立拦板
a,b ,c= (-100,-100),(100,-100),(100,100)
make_board()

# 显示fps的海龟对象
ft = ("",22,'normal')
fps_turtle = turtle.Turtle(visible=False)
turtle.up()
fps_turtle.goto(300,240)
........................

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, pymunk, python, turtle | 纯画笔turtle与pymunk物理引擎弹球1带fps帧率源码已关闭评论

纯画笔月球动画

python pure pen animation moon纯画笔月球动画

python pure pen animation moon纯画笔月球动画

在这个动画中,你将看到上弦月,下弦月,满月的整个过程。
以下是部分代码预览:

"""
   纯画笔月球动画
"""

from turtle import *

def draw_circle(t,color,radius):
    """
       用海龟t画颜色为color半径为radius的圆
    """
    t.color(color)
    t.begin_fill()
    t.circle(radius)
    t.end_fill()

radius = 100
screen = Screen()

t = Turtle(visible=False)
t.penup()
start_x,start_y = 200,0
dx = -0.1
    

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 纯画笔月球动画已关闭评论

递归三角分形动态演示图源代码

python turtle 递归三角分形动态演示图

python turtle 递归三角分形动态演示图


这个动画演示了递归的过程。以下是部分代码预览:

"""
   递归三角分形动态演示图,总的来说就是画一个三角形后在它周围画三个更小的三角形。
   不断地递归这个过程,直到层数为0。本程序运行结果会保存一些ps图片。
   当然,也可以直接通过ghostscript再次保存为png,然后合成gif图片。
"""
import time
import turtle as t

def draw_triangle(x,y,s,angle):
    """
       x,y:起点坐标
       s:边长
       angle:起始角度
       本程序从三角形底边中心点开始画
    """
    t.up()                 # 抬笔
    t.seth(angle)          # 设置角度
    t.goto(x,y)            # 坐标定位
    t.fd(s/3**0.5)         # 前进s除以根号3
    t.right(150)           # 右转
    t.down()               # 落笔
    t.begin_fill()         # 开始填充
    t.fd(s)                # 前进s
    t.right(120)           # 右转
    t.fd(s)                # 前进s
    t.right(120)           # 右转
    t.fd(s)                # 前进s
    t.end_fill()           # 结束填充   

def main():
    """主要执行函数"""
    
    screen = t.Screen()          # 新建屏幕对象
    screen.setup(1000,800)       # 设置屏幕宽高
    screen.tracer(0,0)           # 关闭动画与延时为0
    t.color("#029F80") 
    screen.title('递归三角分形动态演示图 by 李兴球')
    t.hideturtle()
     
if __name__ == "__main__":

    main()
    

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 递归三角分形动态演示图源代码已关闭评论

翻转格子版本2源码

python flip grid game 翻转格子

python flip grid game 翻转格子


在海龟画图屏幕上有阵列格子,单击它们能切换状态。本程序定义了矩形类,还有它的相关碰撞方法。以下是部分代码预览:

"""
   翻转格子版本2。单击格子会翻转颜色的鼠标交互程序。 
   本程序实现矩形逻辑与重画分开,结构更加清晰!
   
"""
__author__ = '李兴球'
__date__ = '2019/10/5'

from turtle import *

def main():
    
    """主要执行函数"""
    
    width,height = 600,600

    screen = Screen()
    screen.setup(width+100,height+100)

    t = Turtle(visible=False)   
    t.penup()
        
    rects = make_rects(10,10,500,500) # 生成10行10列的矩形

    [r.draw(t) for r in rects]        # 用海龟t把每个矩形画出来

    def event_handler(x,y):
        """单击鼠标时进行以下处理"""
        
    screen.onclick(event_handler)

    screen.mainloop()

class Rect:
    """定义矩形类"""
    def __init__(self,x,y,width,height):
        """
           x,y:左上角坐标
           width,height:宽度和高度
        """
 
    def collidepoint(self,point):
        """
           point是一个坐标点,
           本方法判断这个点是否在矩形内
        """
    
    def draw(self,t):
        """用海龟t把自己画出来"""        

        
def make_rects(rows,cols,width,height):
    """
       生成所有的矩形对象,
       rows:行数,cols:列数
       width:总宽度(最左到最右矩形中心点之间)
       height:总高度(最下到最上矩形中心点之间)
    """

if __name__ == "__main__":

    main()

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 翻转格子版本2源码已关闭评论

找色块小游戏源代码

python find difference colored grid game找色块小游戏

python find difference colored grid game找色块小游戏


在海龟画图屏幕上铺满了相同颜色的矩形块,但是有一个颜色稍有一点不一样,请把它找出来。下面是部分代码预览:

"""
   找色块小游戏。本程序显示一些颜色块,其中有一个颜色有点不同,请迅速把它找出来!
   这个游戏代码主要来源于翻转格子版本2的代码,不过把它做成游戏形式了。
   读者可以把它继续做成多关卡游戏。如限定时间,如有三次机会等等。
   
"""
__author__ = '李兴球'
__date__ = '2019/10/5'

from turtle import *
from random import choice

class Rect:
    """定义矩形类"""
    def __init__(self,x,y,width,height):
        """
           x,y:左上角坐标
           width,height:宽度和高度
        """
        self.x = x
        self.y = y
        self.width = width
        self.height = height

    def collidepoint(self,point):
        """
           point是一个坐标点,
           本方法判断这个点是否在矩形内
        """
        x,y = point
        c1 = x >= self.x and x <=self.right 
        c2 = y >= self.bottom and y <= self.y
        return c1 and c2
    
    def draw(self,t,color):
        """用海龟t把自己画出来"""
        self.c = color
        t.goto(self.x,self.y)      # 定位到左上角  
      
def main():
    
    """主要执行函数"""
    
    width,height = 600,600

    screen = Screen()

    t = Turtle(visible=False)   
    t.penup()
    t.color('gray')
    t.sety(height/2-10)
    ft = ('黑体',20,'normal')
    t.write("请找出不同颜色块",align='center',font=ft)
        
    rects = make_rects(10,10,500,500) # 生成10行10列的矩形

    normal_color = (0,255,0)          # 正常矩形的填充颜色 
    diff_color = (100,255,100)        # 不同样的那个矩形的颜色
    
    [r.draw(t,normal_color) for r in rects] # 用海龟t把每个矩形画出来
    r = choice(rects)                       # 随机挑一个矩形
    r.draw(t,diff_color)                    # 把这个矩形换成不同的颜色 

    screen.mainloop()
if __name__ == "__main__":

    main()

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 找色块小游戏源代码已关闭评论

线画笔随机移动的线条源代码

python pen line random move线画笔随机移动的线条

python pen line random move线画笔随机移动的线条


turtle模块制作的一个动画。以下是部分代码预览:

"""
   线画笔随机移动的线条,本例中所有的对象都是画出来的。
   
"""
import math
from turtle import *
from random import *

class Line:
    """定义一根线条类"""
    def __init__(self,a,length,angle):
        """
          a:首端点
          length:长度
          angle:角度
        """   
def main():

    screen = Screen()
    screen.setup(480,360)
    screen.tracer(0,0)
    screen.title("线画笔随机移动的线条by lixingqiu")

    Line((0,0),100,0)    
    Line((0,0),90,0)
    Line((0,0),80,0)
    Line((0,0),70,0)
    Line((0,0),60,0)
    Line((0,0),50,0)
    Line((0,0),40,0)
    Line((0,0),30,0)

if __name__ == "__main__":

    main()
        

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 线画笔随机移动的线条源代码已关闭评论

挑帧

"""
   挑帧,本程序把一个较大的gif文件,删除大部分帧,保留'关键帧'以减小gif文件尺寸。
   经证明用imageio合并的gif文件仍较大,可以用其它软件如gifanimator打开后另存为
   就更小了。关键词:拆帧/合帧/合并帧
"""
import os
import imageio
from PIL import Image,ImageSequence

def makegif(path,filename):
   """把png文件合成gif文件"""
   images = []
   amount = len(os.listdir(path))   
   for i in range(amount):
       file = path + os.sep + str(i) + ".png"
       images.append(file)  
   frames = [imageio.imread(image) for image in images]
   imageio.mimsave(filename, frames, 'GIF', duration=0.5)

def pick_frame(inputgif,outgif,间隔数):
    """挑帧函数,遍历gif中的每一帧,挑些帧出来合成新的gif文件"""
    out_dir = 'out_dir'
    if os.path.exists(out_dir):
        for file in os.listdir(out_dir):
            os.remove(os.getcwd() + os.sep + out_dir + os.sep + file)
    else:
        os.mkdir(out_dir)
    

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pillow, python | 挑帧已关闭评论

混沌法画蕨型绿叶源代码

python turtle 混沌法画蕨型绿叶

python turtle 混沌法画蕨型绿叶


这并不是用递归方法画的图形。下面是部分代码预览:

"""
   混沌法画蕨型绿叶
"""

import turtle
import random

screen = turtle.Screen()
screen.title('混沌法画蕨型绿叶')
screen.setup(1000,800)
screen.setworldcoordinates(-6,-1,6,11)
screen.tracer(0,0)
turtle.hideturtle()
turtle.speed(0)
turtle.up()

n = 1000000                # 总共要打的点数
p = (0,0)                  # 初始
t = turtle

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 混沌法画蕨型绿叶源代码已关闭评论

非递归法混沌法画谢尔宾斯基正五边形图


著名的递归图形,但不用递归方法来画。以下是部分代码预览:

"""
   混沌法画谢尔宾斯基正五边分形图。本程序也支持画谢尔宾斯基n边形。
   这是一种分形图形,但下面的方法不是用递归法画的。
"""
import turtle
import random
import math

screen = turtle.Screen()
screen.title('非递归法混沌法画谢尔宾斯基正五边形by lixingqiu')
screen.setup(800,800)
screen.setworldcoordinates(-200,-200,200,200)
screen.tracer(0,0)

边数 = 5
points = []                # 正多边形顶点表
turtle.ht()                # 隐藏海龟对象
turtle.penup()
# 收集正多边形的几个点的坐标
turtle.goto(-200,-250)
for  i in range(边数):
    p = turtle.position()
    points.append(p)
    turtle.fd(350)
    turtle.left(360/边数)

amounts = 100000   
p = points[0]               # 从第一个点开始
t = turtle

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 非递归法混沌法画谢尔宾斯基正五边形图已关闭评论

IDLE启动不了,总出现:idle’s subprocess did’t make connection..的错误解决方法

idle's subprocess did't make connection

idle’s subprocess did’t make connection

今天继续Python编程,不过启动IDLE时总弹出上面的对话框,以前也碰到过,重启电脑或退出一些程序就好了。可是今天重启电脑了也不行。这可不得了,我得编程。于是就查找了下原因,最后发现是前几天编了一个程序我把它命名为re.py了。刚好是保存在和pythonw.exe(IDLE)同一个文件夹。我把这个‘假冒’的正则模块re.py删除,IDLE立即能启动了。在教Python海龟画图的过程中有学生把程序保存为turtle.py,然后学生就问,老师现这个程序我检测了很多遍了,和老师的程序一模一样,可就是为什么运行不了!!!刚刚百度了一下,Python语言从趋势、开源、职位需求都已经排名第一了。曾经认真的学习过java语言三个月的我深刻的认识到Python相对于java来说是多么的简单强大!什么时候Python能在手机端大展鸿图,那么java就将继续势衰了….

发表在 python, 杂谈 | IDLE启动不了,总出现:idle’s subprocess did’t make connection..的错误解决方法已关闭评论

turtle爆炸粒子效果源码

turtle explode particle爆炸粒子效果

turtle explode particle爆炸粒子效果


本程序只有一个海龟对象,可是为什么会有这么多粒子呢?以下是部分代码预览:

"""
   爆炸粒子效果,本程序实现了一个爆炸类。它生成的对象可重复使用爆炸方法。
   所有粒子都是画出来的,它们飞出后速度会越来越慢直到消失。
   相对于传统的编程方法,需要生成很多对象,而本程序只用一个对象,从而大大节约CPU及内存资源。
   
"""
import time
from turtle import  *
from random import *

__author__ = '李兴球'
__date__ = '2019/10/3'

class Explosion(Turtle):
    """
       继承自Turtle的爆炸类,生成一定数量的点,这些点的坐标存储在cors列表中。
       
    """
    def __init__(self,color,pos=(0,0)):
        Turtle.__init__(self,visible=False)
        self.color(color)                 # 粒子颜色
        self.initpos = pos                # 爆炸坐标
        self.up()                         # 抬笔
        self.amounts = 100                # 粒子数量 
        self.init()                       # 初始化其它

def main():
    """
       主要执行函数
    """

    colors = ['red','orange','yellow','green','cyan','blue',
              'purple','pink','magenta','brown']
    
    width,height = 480,360
    screen = Screen()
    screen.bgcolor("white")
    screen.title("爆炸粒子效果 by lixingqiu")
    screen.tracer(0,0)

    ps = []
        
    def 爆炸():
        [e.explode() for e in ps]
        screen.ontimer(爆炸,3000)

    爆炸()
    screen.mainloop()     

if __name__ == "__main__":

    main()     
        

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | turtle爆炸粒子效果源码已关闭评论

Python旋转方形递归雪花

旋转方形递归雪花turtle snow flake

旋转方形递归雪花turtle snow flake


用turtle制作的画完后会自动旋转的图案。下面是部分代码预览:

"""
   旋转方形递归雪花,这是一个递归图形,画完后它会旋转起来。
   
"""
from turtle import *

def draw_flake(t,n,length):
    """
    画正方形雪花图
    """

    if n>0:
        t.penup()
        # 到左上角
        t.setx(t.xcor()-length/2)
        t.sety(t.ycor()+length/2)
        if length > 5 : t.pendown()
        t.begin_fill()
        for _ in range(4):
            t.fd(length)
            t.right(90)
        if length > 5 : t.end_fill()
        t.penup()
        # 回到中心
        t.setx(t.xcor()+length/2)
        t.sety(t.ycor()-length/2)
        ......................
def main():
    """
    主要执行函数
    """
    screen = Screen()
    screen.delay(0)
    screen.setup(480,480)
    screen.bgcolor('black')
    screen.title("Python旋转方形递归雪花 by lixingqiu")
    ................
    

if __name__ == "__main__":

    main()
        

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | Python旋转方形递归雪花已关闭评论

八彩盘子海龟动画程序源代码

python turtle eight color animation八彩盘子动画

python turtle eight color animation八彩盘子动画

七彩盘子python turtle colorful plates

七彩盘子python turtle colorful plates

用turtle模块制的一个圆圈图案,然后让它动起来。下面是部分代码预览:

"""
   八彩盘子,学生练习程序,请用turtle模块以最快速度画以下图形.
   海龟模块有一个circle命令,它能让海龟画圆,假设海龟为t,那么
   画一个半径为100的圆形的命令为 t.circle(100)。这个命令会让
   海龟向左画一个圆形。请在IDLE中输入以下代码仔细观察画圆的
   整个过程:
   
   >>> from turtle import *
   >>> t = Turtle()
   >>> t.circle(100)
   >>>

   熟知了海龟画圆命令后,你能画出以上图形吗?
"""
import time
from turtle import *

# 定义八种颜色的列表
colors = ['red','orange','yellow','green',
          'cyan','blue','purple','pink']

screen = Screen()                 # 新建屏幕
screen.setup(480,360)             # 设置屏幕宽高
screen.bgcolor('black')           # 背景颜色
screen.title("turtle画彩色盘子by李兴球")

t = Turtle()
t.ht()
t.width(22)
t.speed(0)    
   

 

如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 八彩盘子海龟动画程序源代码已关闭评论

漂亮的斜抛粒子散射线_物理模拟初中物理


用turtle模拟粒子做抛物线运动。程序中设计了Particle类,它继承自Turtle类。下面是部分代码预览:

"""
    漂亮的斜抛粒子散射线_物理模拟初中物理
"""

import time
import math
from turtle import *

class Particle(Turtle):
    """继承自Turtle的粒子类"""
    def __init__(self,color,angle,pos,speed):
        """
           color:颜色
           angle:角度
           pos:位置
           speed:速度
        """
        Turtle.__init__(self,shape='circle',visible=False)
        self.shapesize(0.2,0.2)
        self.penup()
        self.color(color)
        self.angle = math.radians(angle)
        self.speed = speed          # 发射速度
        self.g = 9.8                # 重力加速度
       
    def move(self):
        """
           移动粒子
        """

def main():
    """主要执行函数"""

    colors = ['red','orange','yellow','green','cyan',
              'blue','purple','brown','pink','magenta']
    screen = Screen()
    screen.delay(0)
    screen.bgcolor('black')
    screen.title("投射彩线条动画演示by李兴球")
    
    i = 0
    for angle in range(10,90,3):
        print(angle)
        Particle(colors[i],angle,(-200,100),70)
        i = i + 1
        i = i % len(colors)

    screen.mainloop()

if __name__ == "__main__":

    main()      

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 漂亮的斜抛粒子散射线_物理模拟初中物理已关闭评论

Python画鸡蛋函数

Python画鸡蛋函数 turtle draw egg function

Python画鸡蛋函数 turtle draw egg function


简单的画鸡蛋程序。鸡蛋可以有倾斜角度。下面是部分代码预览:

"""
   Python画鸡蛋函数
"""

import turtle

screen = turtle.Screen()
screen.setup(480,360)
screen.title("画鸡蛋")

def draw_egg(x,y,size,tilt):
    """画蛋函数"""
 
def main():
    """主要执行函数"""
        
    turtle.color('#CF713D')
    draw_egg(0,0,50,45)
    draw_egg(120,0,50,-45)
    draw_egg(0,-150,20,-90)
    draw_egg(-150,0,30,180)
    draw_egg(-50,-100,20,90)
    draw_egg(150,-100,50,-90)

    turtle.hideturtle()
    screen.mainloop()

if __name__ == "__main__":

    main()  

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | Python画鸡蛋函数已关闭评论

小星星_星空配音动画源码

python小星星_星空配音动画_by lixingqiu

python小星星_星空配音动画_by lixingqiu


pygame模块制作的音乐动画。一闪一闪亮晶晶,天上的星星眨眼睛。下面是部分代码预览:

"""
    小星星,伴随着小星星八音盒版的纯音乐,天上的星星眨着眼睛,好像要和你说话呢?
"""
import time
import pygame
from random import randint,random

class Star(pygame.sprite.Sprite):
    """继承自Sprite的Star类"""
    def __init__(self,images,pos):
        pygame.sprite.Sprite.__init__(self)
        self.images = images
        self.rects = [im.get_rect(center=pos) for im in images]
        self.amounts = len(images)
        self.pos = pos
        self.index = 0
      
    def set_costume(self):
        """设置造型"""

    def update(self):
        """时间到了更新造型"""


def main():
    """
      主要执行函数
    """
    bg = pygame.image.load('bg.png')
    width,height = bg.get_size()
    
    screen = pygame.display.set_mode((width,height))
    pygame.display.set_caption("小星星_星空配音动画_by lixingqiu")

    clock = pygame.time.Clock()
    running = True

    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
                
        star_group.update()
        
        screen.fill((0,0,0))
        screen.blit(bg,(0,0))
        star_group.draw(screen)
        pygame.display.update()
        clock.tick(30)
        
    pygame.quit()

if __name__ == "__main__":

    main()   

 
下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, python | 小星星_星空配音动画源码已关闭评论

pygame偷功配音动画_太极张三丰练功多媒体动画_gif拆帧源代码

python偷功配音动画_太极张三丰练功多媒体动画

python偷功配音动画_太极张三丰练功多媒体动画


中国功夫,名扬天下。这是一个用pygame模块制作的音乐动画。也可以说是用pygame显示gif图片的一个例子。这个程序配音是胡伟立作曲的偷功!下面是部分代码预览:

"""
   偷功配音动画_太极张三丰练功多媒体动画_gif拆帧
"""
import pygame
from PIL import Image,ImageSequence

def split_gif_for_pygame(gifimage):
    """
       本函数对gifimage文件进行拆帧,返回图层序列
    """    

def main():
    """
        主要执行函数
    """
    pygame.init()
    gifimage = "太极张三丰.gif"
    while running:
        for event in pygame.event.get(): # 遍历每个事件
            if event.type == pygame.QUIT:# 如果说退出事件
                running = False          # running为否 
                
        screen.blit(frames[index],(0,0)) # 贴在screen上
        pygame.display.update()          # 更新显示
        
        index = index + 1                # 指向下一帧
        index = index % amounts          # 对总数量求余
        clock.tick(10)
    pygame.quit()
    
if __name__ == '__main__':

    main()

 
下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, python | pygame偷功配音动画_太极张三丰练功多媒体动画_gif拆帧源代码已关闭评论

安妮的仙境pygame版音乐字幕动画源代码

安妮的仙境是一个简易的多媒体动画,其中pygame版涉及文字转图片,图层合成等技巧。本程序在音乐配合下,字幕缓慢上升到一定的坐标就不会再上升了。txt2pic是把文字转成图层的模块。

Python创意多媒体字幕动画安妮的仙境pygame版

Python创意多媒体字幕动画安妮的仙境pygame版


下面是代码预览:

"""
   安妮的仙境pygame版
"""

import pygame
from txt2pic import *            # 本模块付款后可见

background = pygame.image.load("bg.png")
width,height = background.get_size()

screen = pygame.display.set_mode((width,height))
pygame.display.set_caption("安妮的仙境pygame版")
...............................................
rect = image.get_rect()
rect.midtop = width//2,height+10

clock = pygame.time.Clock()
running = True
interval = 0
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    interval +=1

    clock.tick(30)
pygame.quit()

下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, python | 安妮的仙境pygame版音乐字幕动画源代码已关闭评论

pygame多行文字转透明图片函数txt2pic

python toolkit multi txt2pic工具箱

python toolkit multi txt2pic工具箱


把多行文本转换成图片的一个pygame程序。你可以让程序把自己的文件内容读取出来,然后转换成一张图片。
下面是部分代码预览:

"""
   pygame多行文字转透明图片函数。
   基本思想是把每一行都渲染成图层,然后获取它们的宽高,
   这样就能知道最终的图层的宽度和高度。
   最后用blit把它们合成在相应的坐标即可。
"""
import pygame
pygame.init()

def txt2pic(string,font,size,color,imagefile):
    """
      string:多行字符串,font:字体文件,size:字体大小,
      color:字体颜色,imagefile:保存的图像
    """
    ft = pygame.font.Font(font,size)   # 定义字体对象
    images = []
    for s in string.split("\n"):
        image = ft.render(s,True,color)
        images.append((image,image.get_size()))
    ........................
def main():
    """主要执行函数"""
    f = open("安妮的仙境_turtle版1.py",encoding='utf-8')
    c = f.read()
    f.close()
    print(c)
    txt2pic(....)
    .................

if __name__ == "__main__":

    main()   
        

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 pygame, python | pygame多行文字转透明图片函数txt2pic已关闭评论

商品管理系统_蓝桥杯Python创意编程省赛的第六题参考答案

"""
   蓝桥杯Python创意编程省赛的第六题
   商品管理系统省赛参考答案
"""

from random import *

def listgoods(goods):
    """列出所有商品"""
    for g in goods:
        print(g)
        
def readfile(txtfile):
    """读取文本文件"""
    f = open(txtfile)
    c = f.read()
    f.close()
    return c
    
def login(valid_file):
    """从valid_file中读取文件验证"""
    # 生成验证码
    digits = '0123456789'
    s = [choice(digits) for _ in range(6)]
    s = "".join(s)        # s是自动生成的验证码字符串
    # 打开验证文件
    c = readfile(valid_file)
    if not "," in c : return False

    userpass = c.split(',')
    username = userpass[0]
    password = userpass[1]
    print("你的登录验证码为",s)
    u = input("请输入用户名:")
    p = input("请输入密码:")
    v = input("请输入验证码:")
    return u == username and p == password and v == s

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 Uncategorized | 商品管理系统_蓝桥杯Python创意编程省赛的第六题参考答案已关闭评论

画树步骤二,蓝桥杯创意Python省赛分形树丛绘制参考答案

Python创意画从林

"""
    画树步骤二,蓝桥杯创意Python省赛分形树丛绘制参考答案
    python闪电画从林.
"""

from turtle import *
from random import *

def draw_tree(t,n,length):
    """
       画树的递归函数
    """
    k = - x/abs(x)
    if n > 0:
        t.fd(length)
        t.left(k * 30)
        draw_tree(t,n-1,length-6)
        t.right(k * 15)
        draw_tree(t,n-1,length-6)
        t.right(k * 15)
        t.bk(length)

width,height = 800,600
screen = Screen()
screen.setup(width,height)
screen.title('蓝桥杯创意Python省赛分形树丛绘制参考答案by 李兴球')
screen.tracer(0)

t = Turtle()
t.left(90)
t.penup()

for _ in range(50):
    x = randint(-width//2,width//2)
    y = randint(-height//2,height//2)
    while x == 0 :
        x = randint(-width//2,width//2)    
    t.goto(x,y)
    n = randint(5,7)
    d = randint(30,60)
    t.pendown()
    draw_tree(t,n,d)    
    t.color('white')
    t.fd(d)
    t.color('black')
    t.penup()
screen.update()
screen.mainloop()

 

发表在 python, turtle | 画树步骤二,蓝桥杯创意Python省赛分形树丛绘制参考答案已关闭评论

画树步骤一,蓝桥杯创意Python省赛递归树参考答案

"""
    画树步骤一,蓝桥杯创意Python省赛递归树参考答案
"""

from turtle import *

def draw_tree(t,n,length):
    """
       画树的递归函数
    """
    if n > 0:
        t.fd(length)
        t.left(30)
        draw_tree(t,n-1,length-6)
        t.right(60)
        draw_tree(t,n-1,length-6)
        t.left(30)
        t.bk(length)

t = Turtle()
t.left(90)
draw_tree(t,5,60)
t.color('white')
t.fd(60)
t.color('black')
t.ht()

 

发表在 python, turtle | 画树步骤一,蓝桥杯创意Python省赛递归树参考答案已关闭评论

蓝桥杯省赛Python创意编程参考答案_用海龟画图模块在画布上出 5个随机大小的五角星

"""
用海龟画图模块在画布上出 画布上出 5个随机大小的五角星。  
具体要求: :
 Turtle 画布的大小为 :宽 800像素,高 600 像素 ;
 一共绘制 一共绘制 5个五角星;
 每个五角星的在画布内显示位置是随机 的,五角星之间允许产生重叠甚至是完全覆盖, 但每个五角 星都要完整地显示在画布内;
 在程序运行过中应明显看出绘制过程, 建议绘图速度为 7;
 每个五角星的线段颜色为黑,线宽为 5,边长 为[10~150]之间的随机长度 ,并用黄色填充  ;
 提示 :五角星的每个锐角为 36 度
"""

 from turtle import *
from random import randint

screen = Screen()        # 新建屏幕
screen.setup(800,600) # 设定分辨率为800x600

t = Turtle()              # 新建海龟
t.pensize(5)              # 线宽为5
t.fillcolor('yellow')     # 填充颜色为黄

for i in range(5):
    x = randint(-400,250) # 设定x的范围
    y = randint(-150 ,150)# 设定y的范围
    t.penup()             # 抬笔
    t.goto(x,y)           # 定位
    t.pendown()           # 落笔 
    d = randint(10,150)   # 设定五角星边长 
    t.begin_fill()        # 开始填充 
    for q in range(5):
        t.fd(d)
        t.rt(144)
    t.end_fill()          # 结束填充
    


蓝桥杯python省赛用海龟画图模块在画布上出5个随机大小的五角星

蓝桥杯python省赛用海龟画图模块在画布上出5个随机大小的五角星

发表在 python, turtle | 蓝桥杯省赛Python创意编程参考答案_用海龟画图模块在画布上出 5个随机大小的五角星已关闭评论

让用户在一次输入时输入N 个数字2<=N<=15_蓝桥杯青少年创意编程 Python 省赛答案

"""
编程实现:
让用户在一次输入时输入N 个数字(2<=N<=15,即每次输入的数字数量不同),数字之间以“,”作为分
隔。
然后组合显示:
(1)用户输入的数字个数;
(2)用户输入的最小的数字;
(3)将用户输入的数字按从大到小进行排列输出,数字之间以“,”作为分隔;
(4)如果用户输入的数字小于等于26,则找到相对应的26 个大写英文字母(1 对应“A”,26 对应“Z”),
并拼接在一起打印显示,如果输入的数字在1~26 之外则不显示相应字母。(例:程序输入214,则显示输出
“[bad]”)。
输入:
N 个数字,2<=N<=15
输出:
输入的数字个数
输入的最小数字
输入的数字从大到小排列
"""
 s = input("请以逗号隔开输入2到15个数字:\n")

n = s.split(',')     # 以逗号分隔s,返回列表为n
print(len(n))        # 显示n里数据的数量

m = []
for x in n:
    m.append(int(x)) # 把x转换成整数添加到m列表

q = m.copy()         # 复制一个备份,取名为q

print(min(m))        # 打印m列表中最小的数字

m.sort()             # 从小到大排序
m.reverse()          # 把列表反序

for x in m:
    print(x,end=',') # 打印x,结束符为逗号
print()

s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

for x in q:          # 遍历q列表,(先前备份的)

    if x >= 1 and x <=26 :
        print(s[x-1],end='')     
    else:
        print('[bad]',end='')



        
    
    
    

 

发表在 python | 让用户在一次输入时输入N 个数字2<=N<=15_蓝桥杯青少年创意编程 Python 省赛答案已关闭评论

打印出1~1000 之间包含3 的数字_蓝桥杯青少年Python创意编程大赛省赛第二题答案_

"""
编程实现:
打印出1~1000 之间包含3 的数字;
如果3 是连在一起的(如233)则在数字前加上&;
如果这个数字是质数则在数字后加上*,例:(3,13*,23*,&33,43*…&233*…)。
输入:
无
输出:
按照题意输出的数字,每行一个数字;
样例输出:
3
13*
23*
&33
……

"""

def isprime(n):
    if n < 2:return False
    for x in  range(2,n):
        if n % x == 0:
            return False
    return True

for x in range(1,1001):
    if '3' in str(x):

        y = str(x)
        if '33' in str(x):
            y = '&' + y             
        if isprime(x):
            y =  y + '*'

        print(y)
       

 

发表在 python | 打印出1~1000 之间包含3 的数字_蓝桥杯青少年Python创意编程大赛省赛第二题答案_已关闭评论

蓝桥杯青少年Python创意编程大赛省赛第一题_互不重复排列组合答案

"""
蓝桥杯青少年Python创意编程大赛省赛第一题_互不重复排列组合:

编程实现 :
用 1、3、5、8这几个数字,能组成 这几个数字,能组成 这几个数字,能组成 这几个数字,能组成 这几个数字,能组成 的互不相同且无重复数 字的三位互不相同且无重复数 字的三位互不相同且无重复数 字的三位互不相同且无重复数 字的三位互不相同且无重复数 字的三位互不相同且无重复数 字的三位互不相同且无重复数 字的三位各是多少? 各是多少? 各是多少? 总共有多少个? 总共有多少个? 总共有多少个? 总共有多少个?
输入 :
无
输出 :
多行数字 多行数字 ,每行一个三位数 每行一个三位数 每行一个三位数 每行一个三位数
组成的三位数 总个组成的三位数 总个组成的三位数 总个组成的三位数 总个组
"""

nums = (1,3,5,8)
amounts = 0
for x in range(4):
    for y in range(4):
        for z in range(4):
            if x!=y and x!=z and y!=z:
                amounts += 1
                print(nums[x],nums[y],nums[z],sep='')

print("能组成",amounts,"个三位数")

 

发表在 python | 蓝桥杯青少年Python创意编程大赛省赛第一题_互不重复排列组合答案已关闭评论

多彩六边形_Python简易创意编程通用模版

turtle创意绘画Python创意编程通用模版

turtle创意绘画Python创意编程通用模版


一幅简单的画儿,这里采用面向对象的方法完成。下面是部分代码预览:

"""
   多彩六边形_Python创意编程通用模版。虽然画这幅画不需要定义类,
   但这里主要是提供一个大概的框架。
   如果coloradd模块没有安装,则先在cmd下安装:pip install coloradd
   ,coloradd提供颜色增加命令。
"""

__author__ = '李兴球'
__date__ = '2019/9/27'

from turtle import *
from coloradd import * 

class Class_name(Turtle):
    """
       继承自海龟类的
    """
    def __init__(self,image=None):
        """
           image:造型,是一个gif文件
        """
        Turtle.__init__(self,visible=False)
        if image==None:image='turtle'
        self.image = image
        self.shape(image)
        self.showturtle()
        
    def coloredfd(self,distance):
        """
          变化颜色前进
        """
        c = self.pencolor()
        self.fd(distance)
        c = coloradd(c,0.01)
        self.pencolor(c)

def main():
    """
       这是主要执行函数
    """
    width,height = 480,360
    color = (255,0,0)
    screen = Screen()
    screen.setup(width,height)
    screen.title("Python创意编程通用模版")
    screen.delay(0)
    screen.colormode(255)

    
if __name__ == "__main__":

    main()

 
如需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

发表在 python, turtle | 多彩六边形_Python简易创意编程通用模版已关闭评论

Python创意编程100例turtle目录

第1例:样本程序8例
第2例:海龟的小伙伴们
第3例:棕色海龟是傀儡
第4例:碰到边缘就反弹
第5例:定时器与弹球类
第6例:鼠标控制长矩形
第7例:动态音乐梦幻空间
第8例:酷炫效果同心圆
第9例:时光倒流的向日葵
第10例:漂亮的八字彩环
第11例:酷炫彩圆盘
第12例:超速画莲花
第13例:趣味3D红框
第14例:方形炫彩螺
第15例:三叶炫彩扇
第16例:纯色滚动圆环
第17例:字母排列组合游戏
第18例:模拟3D星空
第19例:幸运大抽奖
第20例:奔跑吧小猫
第21例:一束火红鲜花
第22例:雪花飞舞的日子
第23例:中秋仙女送月饼
第24例:生机勃勃的农场
第25例:海龟画图保存为png
第26例:海底世界章鱼哥
第27例:倾巢出动_敌机类
第28例:昨夜星辰_北斗七星版
第29例:单摆模拟
第30例:turtle版打地鼠
第31例:单击球小游戏
第32例:多彩3D弹球
第33例:保护环境人人有责
第34例:温度计模拟显示器
第35例:针眼画师的功夫
第36例:新年快乐贺卡发财中国年
第37例:雷电简单模拟
第38例:星际赛车游戏
第39例:turtle射击游戏基础
第40例:大鱼吃小鱼简易版
第41例:酷酷的爆炸效果
第42例:360度旋转图像角色
第43例:8字图章小海龟
第44例:贪吃蛇图章版
第45例:贪吃蛇列表版
第46例:按键检测探秘
第47例:可爱的金币天使
第48例:菜根谭小猫
第49例:花框音乐盒
第50例:生命模拟turtle版
第51例:坦克大战turtle版
第52例:抢收成语方块类
第53例:后羿射日之前
第54例:老鼠过街
第55例:冒泡排序彩柱图演示
第56例:泡泡摸奖系统
第57例:太空出租箭关卡设计器
第58例:太空出租箭
第59例:解放军VS木马炮弹类
第60例:向后滚动背景
第61例:相声《大数据》
第62例:哪吒拼图核心
第63例:编程娃娃格子海龟
第64例:螺旋的世界
第65例:打砖块小游戏
第66例:切片教学演示动画
第67例:矩形抽象画
第68例:模拟时钟程序
第69例:神笔马良之旋转雪花
第70例:砸蛋小游戏
第71例:飘移粒子效果
第72例:小女孩的舞蹈
第73例:正弦字画程序
第74例:海龟入门学习器核心
第75例:猴子穿衣装扮游戏
第76例:怦然心动
第77例:动态情景配音春晓
第78例:迪迦奥特曼动画演示
第79例:太空入侵者
第80例:简易画板
第81例:超级玛丽接金币
第82例:微重力方块
第83例:保卫公主行动
第84例:跳跃方块游戏
第85例:漂亮二叉分形树
第86例:3D物理互碰弹球
第87例:纯画笔弹球
第88例:旋转的赫兹
第89例:环环相扣与类的继承
第90例:鼠标移动事件
第91例:合金弹头Marco角色
第92例:形状函数模块设计
第93例:笑脸图产生器
第94例:英雄的黎明
第95例:迷宫寻宝游戏
第96例:三十六计
第97例:孙子兵法名人赞誉
第98例:增广贤文精选
第99例:忍者的行为
第100例:秋天的诗
第101例:秋日私语

发表在 python, turtle | Python创意编程100例turtle目录已关闭评论

python创意编程汇编turtle篇更名为python创意编程100例turtle篇

下面是部分效果预览图。

Python创意编程100例turtle篇预览

Python创意编程100例turtle篇预览

海龟变身孙悟空,迷宫寻宝讲相声! 哪吒妙用孙子兵法,世界名人尽赞之。忍者品德好,遇见合金弹头主角时怦然心动了,赠送了他花框音乐盒。生机勃勃的 农场孕育了漂亮的二叉分形树。超级玛丽玩起坦克大战还邀请解放军一起击落外星木马战队。可爱的金币天使朗诵起了秋天的诗句还玩着用Python的海龟画图模块制作的3D物理互碰弹球。奥特曼原来很喜欢玩跳跃方块游戏和星际赛车游戏啊。后羿射日之前在干什么呢?原来他和神笔马良在研究如何让画的画儿动起来。大鱼已经不喜欢吃小鱼了,它要参与保卫公主行动。针眼画师忙着描绘三体世界,连老鼠过街也不闻不问了。在英雄的黎明,猴子们穿起了衣服和小女孩一起跳舞。雪花飞舞的日子敌机倾巢而出,竟然有仙女送来月饼!奔跑的小猫咪抬眼望星空,只见昨夜星辰的北斗七星正连线。月球变成单摆砸到了正在玩打地鼠游戏的小海龟。秋日的 私语可不能告诉别人,那就是,我要送你一束火红的鲜花。

《Python创意编程100例turtle篇》是李兴球以十年磨一剑的精神原创的用turtle模块编制作的精选作品集合。在这个集合里包括了历史、天文、国学、游戏、音乐艺术、课件、数学几何、编程技巧、动画技巧\绘画艺术甚至相声与诗词等。上面是由部分题目所串烧的一段文字。

通知:  《python创意编程汇编turtle篇》更名为《python创意编程100例turtle篇》 2019年9月25日。

发表在 python, turtle, 杂谈 | python创意编程汇编turtle篇更名为python创意编程100例turtle篇已关闭评论