-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpygame_house.html
168 lines (145 loc) · 20.3 KB
/
pygame_house.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<!DOCTYPE html>
<html lang="cn">
<head>
<meta charset="utf-8" />
<title>python绘图作业:使用pygame库画房子</title>
<link rel="stylesheet" href="/theme/css/main.css" />
</head>
<body id="index" class="home">
<header id="banner" class="body">
<h1><a href="/">python自动化测试人工智能 </a></h1>
<nav><ul>
<li><a href="/category/ba-zi.html">八字</a></li>
<li><a href="/category/ce-shi.html">测试</a></li>
<li><a href="/category/ce-shi-kuang-jia.html">测试框架</a></li>
<li><a href="/category/common.html">common</a></li>
<li><a href="/category/da-shu-ju.html">大数据</a></li>
<li><a href="/category/feng-shui.html">风水</a></li>
<li><a href="/category/ji-qi-xue-xi.html">机器学习</a></li>
<li><a href="/category/jie-meng.html">解梦</a></li>
<li><a href="/category/linux.html">linux</a></li>
<li class="active"><a href="/category/python.html">python</a></li>
<li><a href="/category/shu-ji.html">书籍</a></li>
<li><a href="/category/shu-ju-fen-xi.html">数据分析</a></li>
<li><a href="/category/zhong-cao-yao.html">中草药</a></li>
<li><a href="/category/zhong-yi.html">中医</a></li>
</ul></nav>
</header><!-- /#banner -->
<section id="content" class="body">
<article>
<header>
<h1 class="entry-title">
<a href="/pygame_house.html" rel="bookmark"
title="Permalink to python绘图作业:使用pygame库画房子">python绘图作业:使用pygame库画房子</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<abbr class="published" title="2018-11-30T08:25:00+08:00">
Published: 五 30 十一月 2018
</abbr>
<address class="vcard author">
By <a class="url fn" href="/author/andrew.html">andrew</a>
</address>
<p>In <a href="/category/python.html">python</a>.</p>
</footer><!-- /.post-info --> <ul>
<li><a href="https://china-testing.github.io/practices.html">python测试开发项目实战-目录</a></li>
<li><a href="https://china-testing.github.io/python_books.html">python工具书籍下载-持续更新</a></li>
</ul>
<h3 id="pygame">使用pygame库画如下房子</h3>
<p><img alt="图片.png" src="https://upload-images.jianshu.io/upload_images/12713060-6ee6370cd104bf46.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240"></p>
<h3 id="_1">参考资料</h3>
<ul>
<li><a href="https://china-testing.github.io/pygame_house.html">本文最新版本地址</a></li>
<li><a href="https://github.com/china-testing/python-api-tesing">本文涉及的python测试开发库</a> 谢谢点赞!</li>
<li><a href="https://github.com/china-testing/python-api-tesing/blob/master/books.md">本文相关海量书籍下载</a> </li>
</ul>
<h3 id="_2">代码</h3>
<div class="highlight"><pre><span></span><span class="ch">#!/usr/bin/python3</span>
<span class="c1"># -*- coding: utf-8 -*-</span>
<span class="c1"># 技术支持:https://www.jianshu.com/u/69f40328d4f0 </span>
<span class="c1"># 技术支持 https://china-testing.github.io/</span>
<span class="c1"># https://github.com/china-testing/python-api-tesing/blob/master/practices/pygame_house.py</span>
<span class="c1"># 项目实战讨论QQ群630011153 144081101</span>
<span class="c1"># CreateDate: 2018-12-01</span>
<span class="kn">import</span> <span class="nn">pygame</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">init</span><span class="p">()</span>
<span class="n">screen</span> <span class="o">=</span> <span class="n">pygame</span><span class="o">.</span><span class="n">display</span><span class="o">.</span><span class="n">set_mode</span><span class="p">((</span><span class="mi">640</span><span class="p">,</span><span class="mi">480</span><span class="p">))</span>
<span class="c1">#used http://colorpicker.com/ to find RGB colors</span>
<span class="k">def</span> <span class="nf">draw_tree</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">):</span>
<span class="c1">#tree trunk (50 wide and 100 tall)</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">117</span><span class="p">,</span><span class="mi">90</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">100</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">100</span><span class="p">))</span>
<span class="c1">#leaves are a circle</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">27</span><span class="p">,</span><span class="mi">117</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="n">x</span><span class="o">+</span><span class="mi">25</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">120</span><span class="p">),</span><span class="mi">50</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">draw_house</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">):</span>
<span class="c1">#pink house</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">255</span><span class="p">,</span><span class="mi">171</span><span class="p">,</span><span class="mi">244</span><span class="p">),(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">180</span><span class="p">,</span><span class="mi">200</span><span class="p">,</span><span class="mi">180</span><span class="p">))</span>
<span class="c1">#brown door</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">89</span><span class="p">,</span><span class="mi">71</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="n">x</span><span class="o">+</span><span class="mi">80</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">60</span><span class="p">,</span><span class="mi">40</span><span class="p">,</span><span class="mi">60</span><span class="p">))</span>
<span class="c1">#yellow door knob</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">255</span><span class="p">,</span><span class="mi">204</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="n">x</span><span class="o">+</span><span class="mi">112</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">30</span><span class="p">),</span><span class="mi">4</span><span class="p">)</span>
<span class="c1">#triangle roof</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">polygon</span><span class="p">(</span><span class="n">screen</span><span class="p">,</span> <span class="p">(</span><span class="mi">125</span><span class="p">,</span><span class="mi">125</span><span class="p">,</span><span class="mi">125</span><span class="p">),</span> <span class="p">(</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">180</span><span class="p">),(</span><span class="n">x</span><span class="o">+</span><span class="mi">100</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">250</span><span class="p">),(</span><span class="n">x</span><span class="o">+</span><span class="mi">200</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">180</span><span class="p">)</span> <span class="p">)</span> <span class="p">)</span>
<span class="n">draw_window</span><span class="p">(</span><span class="n">x</span><span class="o">+</span><span class="mi">20</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">90</span><span class="p">)</span>
<span class="n">draw_window</span><span class="p">(</span><span class="n">x</span><span class="o">+</span><span class="mi">130</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">90</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">draw_window</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">):</span>
<span class="c1">#glass</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">207</span><span class="p">,</span><span class="mi">229</span><span class="p">,</span><span class="mi">255</span><span class="p">),(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">))</span>
<span class="c1">#frame</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">50</span><span class="p">),</span><span class="mi">5</span><span class="p">)</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="n">x</span><span class="o">+</span><span class="mi">23</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">50</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">50</span><span class="p">))</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">),(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="o">-</span><span class="mi">27</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
<span class="c1">#this function is able to draw clouds of different sizes</span>
<span class="k">def</span> <span class="nf">draw_cloud</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">size</span><span class="p">):</span>
<span class="c1">#put int() around any multiplications by decimals to get rid of this warning:</span>
<span class="c1">#DeprecationWarning: integer argument expected, got float</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">),(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">size</span><span class="o">*.</span><span class="mi">5</span><span class="p">))</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">),(</span><span class="nb">int</span><span class="p">(</span><span class="n">x</span><span class="o">+</span><span class="n">size</span><span class="o">*.</span><span class="mi">5</span><span class="p">),</span><span class="n">y</span><span class="p">),</span><span class="nb">int</span><span class="p">(</span><span class="n">size</span><span class="o">*.</span><span class="mi">6</span><span class="p">))</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">circle</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">),(</span><span class="n">x</span><span class="o">+</span><span class="n">size</span><span class="p">,</span><span class="nb">int</span><span class="p">(</span><span class="n">y</span><span class="o">-</span><span class="n">size</span><span class="o">*.</span><span class="mi">1</span><span class="p">)),</span><span class="nb">int</span><span class="p">(</span><span class="n">size</span><span class="o">*.</span><span class="mi">4</span><span class="p">))</span>
<span class="c1">#green ground</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">0</span><span class="p">,</span><span class="mi">160</span><span class="p">,</span><span class="mi">3</span><span class="p">),(</span><span class="mi">0</span><span class="p">,</span><span class="mi">400</span><span class="p">,</span><span class="mi">640</span><span class="p">,</span><span class="mi">80</span><span class="p">))</span>
<span class="c1">#light blue sky</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">draw</span><span class="o">.</span><span class="n">rect</span><span class="p">(</span><span class="n">screen</span><span class="p">,(</span><span class="mi">135</span><span class="p">,</span><span class="mi">255</span><span class="p">,</span><span class="mi">255</span><span class="p">),(</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">640</span><span class="p">,</span><span class="mi">400</span><span class="p">))</span>
<span class="n">draw_tree</span><span class="p">(</span><span class="mi">60</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span> <span class="c1">#x and y location are the bottom left of tree trunk</span>
<span class="n">draw_tree</span><span class="p">(</span><span class="mi">550</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
<span class="n">draw_house</span><span class="p">(</span><span class="mi">225</span><span class="p">,</span><span class="mi">400</span><span class="p">)</span>
<span class="n">draw_cloud</span><span class="p">(</span><span class="mi">60</span><span class="p">,</span><span class="mi">120</span><span class="p">,</span><span class="mi">80</span><span class="p">)</span>
<span class="n">draw_cloud</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="mi">50</span><span class="p">,</span><span class="mi">40</span><span class="p">)</span>
<span class="n">draw_cloud</span><span class="p">(</span><span class="mi">450</span><span class="p">,</span><span class="mi">100</span><span class="p">,</span><span class="mi">120</span><span class="p">)</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">display</span><span class="o">.</span><span class="n">flip</span><span class="p">()</span>
<span class="n">running</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">while</span> <span class="n">running</span><span class="p">:</span>
<span class="k">for</span> <span class="n">event</span> <span class="ow">in</span> <span class="n">pygame</span><span class="o">.</span><span class="n">event</span><span class="o">.</span><span class="n">get</span><span class="p">():</span>
<span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="n">pygame</span><span class="o">.</span><span class="n">QUIT</span><span class="p">:</span>
<span class="n">running</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">pygame</span><span class="o">.</span><span class="n">quit</span><span class="p">()</span>
</pre></div>
<h3 id="_3">参考资料</h3>
<ul>
<li><a href="https://china-testing.github.io/pygame_house.html">本文最新版本地址</a></li>
<li><a href="https://github.com/china-testing/python-api-tesing">本文涉及的python测试开发库</a> 谢谢点赞!</li>
<li><a href="https://github.com/china-testing/python-api-tesing/blob/master/books.md">本文相关海量书籍下载</a> </li>
<li><a href="https://china-testing.github.io/python3_quick9.html">python 3.7极速入门教程9最佳python中文工具书籍下载</a></li>
<li>道家技术-手相手诊看相中医等钉钉群21734177 qq群:391441566 184175668 338228106 看手相、面相、舌相、抽签、体质识别。服务费50元每人次起。请联系钉钉或者微信pythontesting</li>
<li><a href="https://china-testing.github.io/testing_training.html">接口自动化性能测试线上培训大纲</a></li>
</ul>
</div><!-- /.entry-content -->
</article>
</section>
<section id="extras" class="body">
<div class="blogroll">
<h2>links</h2>
<ul>
<li><a href="https://china-testing.github.io/testing_training.html">自动化性能接口测试线上及深圳培训与项目实战 qq群:144081101 591302926</a></li>
<li><a href="http://blog.sciencenet.cn/blog-2604609-1112306.html">pandas数据分析scrapy爬虫 521070358 Py人工智能pandas-opencv 6089740</a></li>
<li><a href="http://blog.sciencenet.cn/blog-2604609-1112306.html">中医解梦看相八字算命qq群 391441566 csdn书籍下载-python爬虫 437355848</a></li>
</ul>
</div><!-- /.blogroll -->
</section><!-- /#extras -->
<footer id="contentinfo" class="body">
<address id="about" class="vcard body">
Proudly powered by <a href="http://getpelican.com/">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>.
</address><!-- /#about -->
<p>The theme is by <a href="http://coding.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/">Smashing Magazine</a>, thanks!</p>
</footer><!-- /#contentinfo -->
</body>
</html>