<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Форум программистов и сисадминов Киберфорум - Блоги - makgeer</title>
		<link>https://www.cyberforum.ru/blogs/1298699/</link>
		<description>КиберФорум - форум программистов, системных администраторов, администраторов баз данных, компьютерный форум, форум по электронике и бытовой технике, обсуждение софта. Бесплатная помощь в решении задач по программированию и наукам, решение проблем с компьютером, операционными системам</description>
		<language>ru</language>
		<lastBuildDate>Fri, 21 Aug 2026 10:16:55 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>https://www.cyberforum.ru//cyberstatic.net/images/misc/rss.jpg</url>
			<title>Форум программистов и сисадминов Киберфорум - Блоги - makgeer</title>
			<link>https://www.cyberforum.ru/blogs/1298699/</link>
		</image>
		<item>
			<title><![CDATA[Arcanoid don'n showing start menu]]></title>
			<link>https://www.cyberforum.ru/blogs/1298699/8627.html</link>
			<pubDate>Wed, 31 Jul 2024 07:40:45 GMT</pubDate>
			<description>import pygame 
import sys 
import random 
 
# Initialize Pygame 
# Инициализируем Pygame...</description>
			<content:encoded><![CDATA[<div><div class="codeblock"><table class="python"><thead><tr><td colspan="2" id="776502966"  class="head">Python</td></tr></thead><tbody><tr class="li1"><td><div id="776502966" style="height: 350px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">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
169
170
171
172
173
174
175
176
177
178
179
</pre></td><td class="de1"><pre class="de1"><span class="kw1">import</span> pygame
<span class="kw1">import</span> <span class="kw3">sys</span>
<span class="kw1">import</span> <span class="kw3">random</span>
&nbsp;
<span class="co1"># Initialize Pygame</span>
<span class="co1"># Инициализируем Pygame</span>
pygame.<span class="me1">init</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
<span class="co1"># Set screen dimensions</span>
<span class="co1"># Устанавливаем размеры экрана</span>
screen_width <span class="sy0">=</span> <span class="nu0">800</span>
screen_height <span class="sy0">=</span> <span class="nu0">600</span>
screen <span class="sy0">=</span> pygame.<span class="me1">display</span>.<span class="me1">set_mode</span><span class="br0">&#40;</span><span class="br0">&#40;</span>screen_width<span class="sy0">,</span> screen_height<span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
<span class="co1"># Set title of the window</span>
<span class="co1"># Устанавливаем заголовок окна</span>
pygame.<span class="me1">display</span>.<span class="me1">set_caption</span><span class="br0">&#40;</span><span class="st0">'Arcanoid'</span><span class="br0">&#41;</span>
&nbsp;
<span class="co1"># Define colors</span>
<span class="co1"># Определяем цвета</span>
WHITE <span class="sy0">=</span> <span class="br0">&#40;</span><span class="nu0">255</span><span class="sy0">,</span> <span class="nu0">255</span><span class="sy0">,</span> <span class="nu0">255</span><span class="br0">&#41;</span>
BLACK <span class="sy0">=</span> <span class="br0">&#40;</span><span class="nu0">0</span><span class="sy0">,</span> <span class="nu0">0</span><span class="sy0">,</span> <span class="nu0">0</span><span class="br0">&#41;</span>
BLUE <span class="sy0">=</span> <span class="br0">&#40;</span><span class="nu0">106</span><span class="sy0">,</span> <span class="nu0">159</span><span class="sy0">,</span> <span class="nu0">181</span><span class="br0">&#41;</span>
RED <span class="sy0">=</span> <span class="br0">&#40;</span><span class="nu0">255</span><span class="sy0">,</span> <span class="nu0">0</span><span class="sy0">,</span> <span class="nu0">0</span><span class="br0">&#41;</span>
&nbsp;
<span class="co1"># Define font</span>
<span class="co1"># Определяем шрифт</span>
font <span class="sy0">=</span> pygame.<span class="me1">font</span>.<span class="me1">Font</span><span class="br0">&#40;</span><span class="kw2">None</span><span class="sy0">,</span> <span class="nu0">30</span><span class="br0">&#41;</span>
&nbsp;
<span class="co1"># Define button class</span>
<span class="co1"># Определяем класс кнопки</span>
<span class="kw1">class</span> Button:
&nbsp; &nbsp; <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span><span class="sy0">,</span> text<span class="sy0">,</span> x<span class="sy0">,</span> y<span class="sy0">,</span> width<span class="sy0">,</span> height<span class="sy0">,</span> color<span class="sy0">,</span> highlighted_color<span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">text</span> <span class="sy0">=</span> text
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">x</span> <span class="sy0">=</span> x
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">y</span> <span class="sy0">=</span> y
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">width</span> <span class="sy0">=</span> width
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">height</span> <span class="sy0">=</span> height
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">color</span> <span class="sy0">=</span> color
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">highlighted_color</span> <span class="sy0">=</span> highlighted_color
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">highlighted</span> <span class="sy0">=</span> <span class="kw2">False</span>
&nbsp;
&nbsp; &nbsp; <span class="kw1">def</span> draw<span class="br0">&#40;</span><span class="kw2">self</span><span class="sy0">,</span> screen<span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="kw2">self</span>.<span class="me1">highlighted</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pygame.<span class="me1">draw</span>.<span class="me1">rect</span><span class="br0">&#40;</span>screen<span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">highlighted_color</span><span class="sy0">,</span> <span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">x</span><span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">y</span><span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">width</span><span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">height</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pygame.<span class="me1">draw</span>.<span class="me1">rect</span><span class="br0">&#40;</span>screen<span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">color</span><span class="sy0">,</span> <span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">x</span><span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">y</span><span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">width</span><span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">height</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; text_surface <span class="sy0">=</span> font.<span class="me1">render</span><span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">text</span><span class="sy0">,</span> <span class="kw2">True</span><span class="sy0">,</span> WHITE<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; screen.<span class="me1">blit</span><span class="br0">&#40;</span>text_surface<span class="sy0">,</span> <span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">x</span> + <span class="nu0">10</span><span class="sy0">,</span> <span class="kw2">self</span>.<span class="me1">y</span> + <span class="nu0">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
&nbsp; &nbsp; <span class="kw1">def</span> is_hovered<span class="br0">&#40;</span><span class="kw2">self</span><span class="sy0">,</span> mouse_pos<span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; mouse_x<span class="sy0">,</span> mouse_y <span class="sy0">=</span> mouse_pos
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="kw2">self</span>.<span class="me1">x</span> <span class="sy0">&lt;=</span> mouse_x <span class="sy0">&lt;=</span> <span class="kw2">self</span>.<span class="me1">x</span> + <span class="kw2">self</span>.<span class="me1">width</span> <span class="kw1">and</span> <span class="kw2">self</span>.<span class="me1">y</span> <span class="sy0">&lt;=</span> mouse_y <span class="sy0">&lt;=</span> <span class="kw2">self</span>.<span class="me1">y</span> + <span class="kw2">self</span>.<span class="me1">height</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">True</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">False</span>
&nbsp;
<span class="co1"># Create buttons</span>
<span class="co1"># Создаём кнопки</span>
start_button <span class="sy0">=</span> Button<span class="br0">&#40;</span><span class="st0">&quot;Start&quot;</span><span class="sy0">,</span> <span class="nu0">350</span><span class="sy0">,</span> <span class="nu0">300</span><span class="sy0">,</span> <span class="nu0">100</span><span class="sy0">,</span> <span class="nu0">50</span><span class="sy0">,</span> BLUE<span class="sy0">,</span> WHITE<span class="br0">&#41;</span>
speed_button <span class="sy0">=</span> Button<span class="br0">&#40;</span><span class="st0">&quot;Speed&quot;</span><span class="sy0">,</span> <span class="nu0">350</span><span class="sy0">,</span> <span class="nu0">400</span><span class="sy0">,</span> <span class="nu0">100</span><span class="sy0">,</span> <span class="nu0">50</span><span class="sy0">,</span> BLUE<span class="sy0">,</span> WHITE<span class="br0">&#41;</span>
&nbsp;
<span class="co1"># Main game loop</span>
<span class="co1"># Основной цикл игры</span>
game_state <span class="sy0">=</span> <span class="st0">&quot;menu&quot;</span>
speed <span class="sy0">=</span> <span class="nu0">1</span>
&nbsp;
<span class="co1"># Game variables</span>
<span class="co1"># Переменные игры</span>
ball_x <span class="sy0">=</span> screen_width / <span class="nu0">2</span>
ball_y <span class="sy0">=</span> screen_height / <span class="nu0">2</span>
ball_speed_x <span class="sy0">=</span> <span class="nu0">5</span>
ball_speed_y <span class="sy0">=</span> <span class="nu0">5</span>
paddle_x <span class="sy0">=</span> screen_width / <span class="nu0">2</span>
paddle_y <span class="sy0">=</span> screen_height - <span class="nu0">50</span>
paddle_speed <span class="sy0">=</span> <span class="nu0">10</span>
&nbsp;
attempts_left <span class="sy0">=</span> <span class="nu0">5</span>
&nbsp;
blocks <span class="sy0">=</span> <span class="br0">&#91;</span><span class="br0">&#93;</span>
<span class="kw1">for</span> _ <span class="kw1">in</span> <span class="kw2">range</span><span class="br0">&#40;</span><span class="nu0">10</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; x <span class="sy0">=</span> <span class="kw3">random</span>.<span class="me1">randint</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="sy0">,</span> screen_width // <span class="nu0">2</span><span class="br0">&#41;</span>
&nbsp; &nbsp; y <span class="sy0">=</span> <span class="kw3">random</span>.<span class="me1">randint</span><span class="br0">&#40;</span><span class="nu0">50</span><span class="sy0">,</span> screen_height // <span class="nu0">2</span><span class="br0">&#41;</span>
&nbsp; &nbsp; blocks.<span class="me1">append</span><span class="br0">&#40;</span><span class="br0">&#40;</span>x<span class="sy0">,</span>y<span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
<span class="kw1">while</span> <span class="kw2">True</span>:
&nbsp; &nbsp; <span class="kw1">for</span> event <span class="kw1">in</span> pygame.<span class="me1">event</span>.<span class="me1">get</span><span class="br0">&#40;</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> event.<span class="kw2">type</span> <span class="sy0">==</span> pygame.<span class="me1">QUIT</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pygame.<span class="me1">quit</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">sys</span>.<span class="me1">exit</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> event.<span class="kw2">type</span> <span class="sy0">==</span> pygame.<span class="me1">MOUSEBUTTONDOWN</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> event.<span class="me1">button</span> <span class="sy0">==</span> <span class="nu0">1</span>: &nbsp;<span class="co1"># Left mouse button</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> start_button.<span class="me1">is_hovered</span><span class="br0">&#40;</span>event.<span class="me1">pos</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; game_state <span class="sy0">=</span> <span class="st0">&quot;game&quot;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ball_x<span class="sy0">=</span>paddle_x+<span class="nu0">50</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ball_y<span class="sy0">=</span>paddle_y-<span class="nu0">10</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> speed_button.<span class="me1">is_hovered</span><span class="br0">&#40;</span>event.<span class="me1">pos</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; speed +<span class="sy0">=</span> <span class="nu0">1</span>
&nbsp;
&nbsp; &nbsp; keys<span class="sy0">=</span>pygame.<span class="me1">key</span>.<span class="me1">get_pressed</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="kw1">if</span> keys<span class="br0">&#91;</span>pygame.<span class="me1">K_SPACE</span><span class="br0">&#93;</span> <span class="kw1">or</span> keys<span class="br0">&#91;</span>pygame.<span class="me1">K_UP</span><span class="br0">&#93;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> game_state<span class="sy0">==</span><span class="st0">&quot;menu&quot;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; game_state<span class="sy0">=</span><span class="st0">&quot;game&quot;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ball_x<span class="sy0">=</span>paddle_x+<span class="nu0">50</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ball_y<span class="sy0">=</span>paddle_y-<span class="nu0">10</span>
&nbsp;
&nbsp; &nbsp; <span class="co1"># Clear screen </span>
&nbsp; &nbsp; <span class="co1"># Очищаем экран </span>
&nbsp; &nbsp; screen.<span class="me1">fill</span><span class="br0">&#40;</span>BLACK<span class="br0">&#41;</span>
&nbsp;
&nbsp; &nbsp; <span class="co1"># Draw buttons </span>
&nbsp; &nbsp; <span class="co1"># Рисуем кнопки </span>
&nbsp; &nbsp; <span class="kw1">if</span> game_state<span class="sy0">==</span><span class="st0">&quot;menu&quot;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; start_button.<span class="me1">draw</span><span class="br0">&#40;</span>screen<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; speed_button.<span class="me1">draw</span><span class="br0">&#40;</span>screen<span class="br0">&#41;</span>
&nbsp;
&nbsp; &nbsp; text_surface<span class="sy0">=</span>font.<span class="me1">render</span><span class="br0">&#40;</span>f<span class="st0">&quot;Attempts left:{attempts_left}&quot;</span><span class="sy0">,</span><span class="kw2">True</span><span class="sy0">,</span>RED<span class="br0">&#41;</span>
&nbsp; &nbsp; screen.<span class="me1">blit</span><span class="br0">&#40;</span>text_surface<span class="sy0">,</span><span class="br0">&#40;</span>screen_width-<span class="nu0">150</span><span class="sy0">,</span><span class="nu0">20</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
&nbsp; &nbsp; <span class="co1"># Game loop </span>
&nbsp; &nbsp; <span class="co1"># Цикл игры </span>
&nbsp; &nbsp; <span class="kw1">if</span> game_state<span class="sy0">==</span><span class="st0">&quot;game&quot;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Move the ball &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Двигаем мяч &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; ball_x+<span class="sy0">=</span>ball_speed_x &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; ball_y+<span class="sy0">=</span>ball_speed_y &nbsp;
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Collision with edges &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Столкновение с краями экрана &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> ball_y<span class="sy0">&lt;=</span><span class="nu0">0</span>: &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ball_speed_y*<span class="sy0">=</span>-<span class="nu0">1</span> &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> ball_x<span class="sy0">&lt;=</span><span class="nu0">0</span> <span class="kw1">or</span> ball_x<span class="sy0">&gt;=</span>screen_width: &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ball_speed_x*<span class="sy0">=</span>-<span class="nu0">1</span> &nbsp;
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Collision with paddle &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Столкновение с ракеткой &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> ball_y+<span class="nu0">10</span><span class="sy0">&gt;=</span>paddle_y <span class="kw1">and</span> ball_x<span class="sy0">&gt;=</span>paddle_x <span class="kw1">and</span> ball_x<span class="sy0">&lt;=</span>paddle_x+<span class="nu0">100</span>: &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ball_speed_y*<span class="sy0">=</span>-<span class="nu0">1</span> &nbsp;
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Collision with blocks &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Столкновение с блоками &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> block <span class="kw1">in</span> blocks<span class="br0">&#91;</span>:<span class="br0">&#93;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>block<span class="sy0">&lt;=</span>ball_x<span class="sy0">&lt;=</span>block+<span class="nu0">50</span><span class="br0">&#41;</span> <span class="kw1">and</span> <span class="br0">&#40;</span>block<span class="sy0">&lt;=</span> ball_y<span class="sy0">&lt;=</span>block+<span class="nu0">20</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blocks.<span class="me1">remove</span><span class="br0">&#40;</span>block<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ball_speed_y*<span class="sy0">=</span>-<span class="nu0">1</span>
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Draw the ball &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Рисуем мяч &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; pygame.<span class="me1">draw</span>.<span class="me1">circle</span><span class="br0">&#40;</span>screen <span class="sy0">,</span>WHITE <span class="sy0">,</span><span class="br0">&#40;</span><span class="kw2">int</span><span class="br0">&#40;</span>ball_x<span class="br0">&#41;</span><span class="sy0">,</span><span class="kw2">int</span><span class="br0">&#40;</span>ball_y<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">,</span><span class="nu0">10</span><span class="br0">&#41;</span> &nbsp;
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Draw the paddle &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Рисуем ракетку &nbsp;</span>
&nbsp; &nbsp; &nbsp; &nbsp; pygame.<span class="me1">draw</span>.<span class="me1">rect</span><span class="br0">&#40;</span>screen <span class="sy0">,</span>WHITE <span class="sy0">,</span><span class="br0">&#40;</span>paddle_x<span class="sy0">,</span>paddle_y <span class="sy0">,</span><span class="nu0">100</span> <span class="sy0">,</span><span class="nu0">10</span><span class="br0">&#41;</span><span class="br0">&#41;</span> &nbsp;
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> block <span class="kw1">in</span> blocks:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pygame.<span class="me1">draw</span>.<span class="me1">rect</span><span class="br0">&#40;</span>screen <span class="sy0">,</span>WHITE <span class="sy0">,</span><span class="br0">&#40;</span>block<span class="sy0">,</span>block<span class="sy0">,</span><span class="nu0">50</span> <span class="sy0">,</span><span class="nu0">20</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> ball_y<span class="sy0">&gt;</span>paddle_y+<span class="nu0">10</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; attempts_left-<span class="sy0">=</span><span class="nu0">1</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; game_state<span class="sy0">=</span><span class="st0">&quot;menu&quot;</span>
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> attempts_left<span class="sy0">==</span><span class="nu0">0</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; game_state<span class="sy0">=</span><span class="st0">&quot;menu&quot;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; attempts_left<span class="sy0">=</span><span class="nu0">5</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blocks<span class="sy0">=</span><span class="br0">&#91;</span><span class="br0">&#93;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> _ <span class="kw1">in</span> <span class="kw2">range</span><span class="br0">&#40;</span><span class="nu0">10</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x<span class="sy0">=</span><span class="kw3">random</span>.<span class="me1">randint</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="sy0">,</span>screen_width//<span class="nu0">2</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; y<span class="sy0">=</span><span class="kw3">random</span>.<span class="me1">randint</span><span class="br0">&#40;</span><span class="nu0">50</span><span class="sy0">,</span>screen_height//<span class="nu0">2</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; blocks.<span class="me1">append</span><span class="br0">&#40;</span><span class="br0">&#40;</span>x<span class="sy0">,</span>y<span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
&nbsp; &nbsp; keys<span class="sy0">=</span>pygame.<span class="me1">key</span>.<span class="me1">get_pressed</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="kw1">if</span> keys<span class="br0">&#91;</span>pygame.<span class="me1">K_LEFT</span><span class="br0">&#93;</span> <span class="kw1">and</span> paddle_x<span class="sy0">&gt;</span><span class="nu0">0</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; paddle_x-<span class="sy0">=</span>paddle_speed
&nbsp; &nbsp; <span class="kw1">if</span> keys <span class="br0">&#91;</span>pygame.<span class="me1">K_RIGHT</span><span class="br0">&#93;</span> <span class="kw1">and</span> paddle_x<span class="sy0">&lt;</span>screen_width-<span class="nu0">100</span>:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; paddle_x+<span class="sy0">=</span>paddle_speed
&nbsp;
<span class="co1"># Update screen &nbsp;</span>
<span class="co1"># Обновляем экран &nbsp;</span>
pygame.<span class="me1">display</span>.<span class="me1">flip</span><span class="br0">&#40;</span><span class="br0">&#41;</span> &nbsp;
pygame.<span class="kw3">time</span>.<span class="me1">Clock</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">tick</span><span class="br0">&#40;</span><span class="nu0">60</span><span class="br0">&#41;</span></pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>makgeer</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/1298699/8627.html</guid>
		</item>
		<item>
			<title>Обработка файла css полученного из exsel</title>
			<link>https://www.cyberforum.ru/blogs/1298699/7912.html</link>
			<pubDate>Mon, 23 Jan 2023 06:42:12 GMT</pubDate>
			<description>from openpyxl import load_workbook 
from os.path import join, abspath 
# получение данныx от...</description>
			<content:encoded><![CDATA[<div><div class="codeblock"><table class="python"><thead><tr><td colspan="2" id="252028472"  class="head">Python</td></tr></thead><tbody><tr class="li1"><td><div id="252028472" style="height: 270px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="de1"><pre class="de1"><span class="kw1">from</span> openpyxl <span class="kw1">import</span> load_workbook
<span class="kw1">from</span> <span class="kw3">os</span>.<span class="me1">path</span> <span class="kw1">import</span> join<span class="sy0">,</span> abspath
<span class="co1"># получение данныx от пользователя</span>
poisk <span class="sy0">=</span> <span class="kw2">input</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="co1"># загрузка данных из файла</span>
data_path <span class="sy0">=</span> join<span class="br0">&#40;</span><span class="st0">&quot;c:<span class="es0">\\</span>Users<span class="es0">\\</span>makgeer<span class="es0">\\</span>Desktop<span class="es0">\\</span>ЗАКАЗЫ.xlsx&quot;</span><span class="br0">&#41;</span>
wb_val <span class="sy0">=</span> load_workbook<span class="br0">&#40;</span>filename<span class="sy0">=</span>data_path<span class="sy0">,</span> data_only<span class="sy0">=</span><span class="kw2">True</span><span class="br0">&#41;</span>
sheet_val <span class="sy0">=</span> wb_val<span class="br0">&#40;</span><span class="st0">'лист4'</span><span class="br0">&#41;</span>
dat_oder <span class="sy0">=</span> sheet_val<span class="br0">&#91;</span><span class="st0">&quot;A1:K9000&quot;</span><span class="br0">&#93;</span>
&nbsp;
<span class="co1"># обработка запроса отпользователя и поиск данных в файле.</span>
<span class="kw1">def</span> look<span class="br0">&#40;</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; <span class="kw1">pass</span>
&nbsp;
<span class="kw1">print</span><span class="br0">&#40;</span>poisk<span class="br0">&#41;</span></pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>makgeer</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/1298699/7912.html</guid>
		</item>
		<item>
			<title>Проход по списку для проверки типов данных</title>
			<link>https://www.cyberforum.ru/blogs/1298699/6812.html</link>
			<pubDate>Thu, 05 Nov 2020 14:28:50 GMT</pubDate>
			<description><![CDATA[1 a = [1, 4, (1, 3, 4, ), 'lets go', 'a', 'b', 'abc', ] 
2 for i in a: 
3     print(type(i), i)...]]></description>
			<content:encoded><![CDATA[<div><div class="codeblock"><table class="python"><thead><tr><td colspan="2" id="660153784"  class="head">Python</td></tr></thead><tbody><tr class="li1"><td><div id="660153784" style="height: 206px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="de1"><pre class="de1"><span class="nu0">1</span> a <span class="sy0">=</span> <span class="br0">&#91;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="nu0">4</span><span class="sy0">,</span> <span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="nu0">3</span><span class="sy0">,</span> <span class="nu0">4</span><span class="sy0">,</span> <span class="br0">&#41;</span><span class="sy0">,</span> <span class="st0">'lets go'</span><span class="sy0">,</span> <span class="st0">'a'</span><span class="sy0">,</span> <span class="st0">'b'</span><span class="sy0">,</span> <span class="st0">'abc'</span><span class="sy0">,</span> <span class="br0">&#93;</span>
<span class="nu0">2</span> <span class="kw1">for</span> i <span class="kw1">in</span> a:
<span class="nu0">3</span> &nbsp; &nbsp; <span class="kw1">print</span><span class="br0">&#40;</span><span class="kw2">type</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="sy0">,</span> i<span class="br0">&#41;</span>
<span class="nu0">4</span>... 
<span class="nu0">5</span><span class="sy0">&lt;</span><span class="kw1">class</span> <span class="st0">'int'</span><span class="sy0">&gt;</span> <span class="nu0">1</span>
<span class="nu0">6</span><span class="sy0">&lt;</span><span class="kw1">class</span> <span class="st0">'int'</span><span class="sy0">&gt;</span> <span class="nu0">4</span>
<span class="nu0">7</span><span class="sy0">&lt;</span><span class="kw1">class</span> <span class="st0">'tuple'</span><span class="sy0">&gt;</span> <span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="nu0">3</span><span class="sy0">,</span> <span class="nu0">4</span><span class="br0">&#41;</span>
<span class="nu0">8</span><span class="sy0">&lt;</span><span class="kw1">class</span> <span class="st0">'str'</span><span class="sy0">&gt;</span> lets go
<span class="nu0">9</span><span class="sy0">&lt;</span><span class="kw1">class</span> <span class="st0">'str'</span><span class="sy0">&gt;</span> a
<span class="nu0">10</span><span class="sy0">&lt;</span><span class="kw1">class</span> <span class="st0">'str'</span><span class="sy0">&gt;</span> b
<span class="nu0">11</span><span class="sy0">&lt;</span><span class="kw1">class</span> <span class="st0">'str'</span><span class="sy0">&gt;</span> abc</pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>makgeer</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/1298699/6812.html</guid>
		</item>
		<item>
			<title>Реализация моей первой программы. Спасибо Лису!</title>
			<link>https://www.cyberforum.ru/blogs/1298699/6588.html</link>
			<pubDate>Mon, 25 May 2020 20:50:19 GMT</pubDate>
			<description><![CDATA[def convert_temp(from_: int, to_: int, value: float) -> float: 
    """пересчет температур""" 
   ...]]></description>
			<content:encoded><![CDATA[<div><div class="codeblock"><table class="python"><thead><tr><td colspan="2" id="537690706"  class="head">Python</td></tr></thead><tbody><tr class="li1"><td><div id="537690706" style="height: 350px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">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
</pre></td><td class="de1"><pre class="de1"><span class="kw1">def</span> convert_temp<span class="br0">&#40;</span>from_: <span class="kw2">int</span><span class="sy0">,</span> to_: <span class="kw2">int</span><span class="sy0">,</span> value: <span class="kw2">float</span><span class="br0">&#41;</span> -<span class="sy0">&gt;</span> <span class="kw2">float</span>:
&nbsp; &nbsp; <span class="st0">&quot;&quot;&quot;пересчет температур&quot;&quot;&quot;</span>
&nbsp; &nbsp; <span class="kw1">if</span> from_ <span class="sy0">==</span> <span class="nu0">0</span> <span class="kw1">and</span> to_ <span class="sy0">==</span> <span class="nu0">1</span>: &nbsp;<span class="co1"># цельсия в Forengate</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> value * <span class="nu0">1.8</span> + <span class="nu0">32</span>
&nbsp; &nbsp; <span class="kw1">if</span> from_ <span class="sy0">==</span> <span class="nu0">0</span> <span class="kw1">and</span> to_ <span class="sy0">==</span> <span class="nu0">2</span>: &nbsp;<span class="co1"># цельсия в Kelvin</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> value + <span class="nu0">273.15</span>
&nbsp; &nbsp; <span class="kw1">raise</span> <span class="kw2">NotImplementedError</span>
&nbsp;
convert_temp.<span class="me1">name</span> <span class="sy0">=</span> <span class="st0">'Температура'</span>
convert_temp.<span class="me1">units</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="st0">'c'</span><span class="sy0">,</span> <span class="st0">'Forengate'</span><span class="sy0">,</span> <span class="st0">'Kelvin'</span><span class="br0">&#41;</span>
&nbsp;
&nbsp;
<span class="kw1">def</span> convert_mass<span class="br0">&#40;</span>from_: <span class="kw2">int</span><span class="sy0">,</span> to_: <span class="kw2">int</span><span class="sy0">,</span> value: <span class="kw2">float</span><span class="br0">&#41;</span> -<span class="sy0">&gt;</span> <span class="kw2">float</span>:
&nbsp; &nbsp; <span class="kw1">pass</span>
&nbsp;
convert_mass.<span class="me1">name</span> <span class="sy0">=</span> <span class="st0">'Вес'</span>
convert_mass.<span class="me1">units</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
&nbsp;
CONVERTERS <span class="sy0">=</span> <span class="br0">&#40;</span>convert_temp<span class="sy0">,</span> convert_mass<span class="br0">&#41;</span>
&nbsp;
&nbsp;
<span class="kw1">def</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">'Что конвертим?'</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="kw1">for</span> i<span class="sy0">,</span> func <span class="kw1">in</span> <span class="kw2">enumerate</span><span class="br0">&#40;</span>CONVERTERS<span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span><span class="br0">&#40;</span>f<span class="st0">'[{i}] {func.name}'</span><span class="br0">&#41;</span>
&nbsp; &nbsp; func <span class="sy0">=</span> CONVERTERS<span class="br0">&#91;</span><span class="kw2">int</span><span class="br0">&#40;</span><span class="kw2">input</span><span class="br0">&#40;</span><span class="st0">'&gt; '</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>
&nbsp;
&nbsp; &nbsp; <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">'Из какой единицы измерения конвертим?'</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="kw1">for</span> i<span class="sy0">,</span> unit <span class="kw1">in</span> <span class="kw2">enumerate</span><span class="br0">&#40;</span>func.<span class="me1">units</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span><span class="br0">&#40;</span>f<span class="st0">'[{i}] {unit}'</span><span class="br0">&#41;</span>
&nbsp; &nbsp; from_ <span class="sy0">=</span> <span class="kw2">int</span><span class="br0">&#40;</span><span class="kw2">input</span><span class="br0">&#40;</span><span class="st0">'&gt; '</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
&nbsp; &nbsp; <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">'В какую?'</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="kw1">for</span> i<span class="sy0">,</span> unit <span class="kw1">in</span> <span class="kw2">enumerate</span><span class="br0">&#40;</span>func.<span class="me1">units</span><span class="br0">&#41;</span>:
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span><span class="br0">&#40;</span>f<span class="st0">'[{i}] {unit}'</span><span class="br0">&#41;</span>
&nbsp; &nbsp; to_ <span class="sy0">=</span> <span class="kw2">int</span><span class="br0">&#40;</span><span class="kw2">input</span><span class="br0">&#40;</span><span class="st0">'&gt; '</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
&nbsp; &nbsp; value <span class="sy0">=</span> <span class="kw2">float</span><span class="br0">&#40;</span><span class="kw2">input</span><span class="br0">&#40;</span><span class="st0">'Величина:<span class="es0">\n</span>&gt; '</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; 
&nbsp; &nbsp; <span class="kw1">print</span><span class="br0">&#40;</span><span class="st0">'Получаем: %.3f'</span> % func<span class="br0">&#40;</span>from_<span class="sy0">,</span> to_<span class="sy0">,</span> value<span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
<span class="kw1">if</span> __name__ <span class="sy0">==</span> <span class="st0">'__main__'</span>:
&nbsp; &nbsp; main<span class="br0">&#40;</span><span class="br0">&#41;</span></pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>makgeer</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/1298699/6588.html</guid>
		</item>
	</channel>
</rss>
