[雪峰磁针石博客]python绘图作业:使用pygame库画房子

简介:

使用pygame库画如下房子

图片.png

参考资料

代码

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 技术支持:https://www.jianshu.com/u/69f40328d4f0 
# 技术支持 https://china-testing.github.io/
# https://github.com/china-testing/python-api-tesing/blob/master/practices/pygame_house.py
# 项目实战讨论QQ群630011153 144081101
# CreateDate: 2018-12-01
import pygame
pygame.init()
screen = pygame.display.set_mode((640,480))

#used http://colorpicker.com/ to find RGB colors

def draw_tree(x,y):
    #tree trunk (50 wide and 100 tall)
    pygame.draw.rect(screen,(117,90,0),(x,y-100,50,100))
    #leaves are a circle
    pygame.draw.circle(screen,(27,117,0),(x+25,y-120),50)

def draw_house(x,y):
    #pink house
    pygame.draw.rect(screen,(255,171,244),(x,y-180,200,180))
    #brown door
    pygame.draw.rect(screen,(89,71,0),(x+80,y-60,40,60))
    #yellow door knob
    pygame.draw.circle(screen,(255,204,0),(x+112,y-30),4)
    #triangle roof
    pygame.draw.polygon(screen, (125,125,125), ( (x,y-180),(x+100,y-250),(x+200,y-180) ) )
    draw_window(x+20,y-90)
    draw_window(x+130,y-90)

def draw_window(x,y):
    #glass
    pygame.draw.rect(screen,(207,229,255),(x,y-50,50,50))
    #frame
    pygame.draw.rect(screen,(0,0,0),(x,y-50,50,50),5)
    pygame.draw.rect(screen,(0,0,0),(x+23,y-50,5,50))
    pygame.draw.rect(screen,(0,0,0),(x,y-27,50,5))

#this function is able to draw clouds of different sizes
def draw_cloud(x,y,size):
    #put int() around any multiplications by decimals to get rid of this warning:
    #DeprecationWarning: integer argument expected, got float
    pygame.draw.circle(screen,(255,255,255),(x,y),int(size*.5))
    pygame.draw.circle(screen,(255,255,255),(int(x+size*.5),y),int(size*.6))
    pygame.draw.circle(screen,(255,255,255),(x+size,int(y-size*.1)),int(size*.4))


#green ground
pygame.draw.rect(screen,(0,160,3),(0,400,640,80))
#light blue sky
pygame.draw.rect(screen,(135,255,255),(0,0,640,400))

draw_tree(60,400) #x and y location are the bottom left of tree trunk
draw_tree(550,400)

draw_house(225,400)

draw_cloud(60,120,80)
draw_cloud(200,50,40)
draw_cloud(450,100,120)


pygame.display.flip()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
pygame.quit()
相关文章
|
1天前
|
XML JSON 数据库
Python的标准库
Python的标准库
108 77
|
2天前
|
XML JSON 数据库
Python的标准库
Python的标准库
24 11
|
2天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
28 8
|
10天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
21 4
|
2月前
|
数据可视化 Python
Python 高级绘图:从基础到进阶的可视化实践
本文介绍了使用 Python 的强大绘图库 matplotlib 实现多种图表绘制的方法,包括简单的折线图、多条折线图、柱状图、饼图、散点图及 3D 图的绘制。通过具体代码示例展示了如何设置轴标签、标题、图例等元素,并指出了 matplotlib 支持更多高级绘图功能。来源:https://www.wodianping.com/app/2024-10/47112.html。
90 0
|
数据可视化 数据挖掘 API
《利用Python进行数据分析·第2版》第9章 绘图和可视化
第1章 准备工作第2章 Python语法基础,IPython和Jupyter第3章 Python的数据结构、函数和文件第4章 NumPy基础:数组和矢量计算第5章 pandas入门第6章 数据加载、存储与文件格式第7章 数据清洗和准备第8章 数据规整:聚合、合并和重塑 第9章 绘图和可视化第10章 数据聚合与分组运算第11章 时间序列第12章 pandas高级应用第13章 Python建模库介绍第14章 数据分析案例附录A NumPy高级应用附录B 更多关于IPython的内容(完) 信息可视化(也叫绘图)是数据分析中最重要的工作之一。
1857 0
|
数据可视化 数据挖掘 Python
python数据分析(十四)-matplotlib 绘图与可视化
尽管pandas的绘图函数可以处理很多普通的绘图任务,但是要使用高级功能的话需要学习matplotlib API。
1450 0
|
数据可视化 Python 编解码
Python之绘图和可视化
Python之绘图和可视化 1. 启用matplotlib 最常用的Pylab模式的IPython(IPython --pylab) 2. matplotlib的图像都位于Figure对象中。 可以使用plt.figure创建一个新的Figure,不能通过空Figure绘图,必须用add_subplot创建一个或多个subplot axes[0,1]可以通过sha
1334 0
|
8天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
7天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。

热门文章

最新文章