Latest posts on Как исправить ошибку в отслеживании столкновения с врагами в игре на pygame? topichttps://python.su/forum/topic/40138/2021-03-29T08:06:15+03:00Общий :: GUI :: Как исправить ошибку в отслеживании столкновения с врагами в игре на pygame?
2021-03-29T08:06:15+03:00doza_and215660Не дублируйте темы. Лучше от этого не станет.
Общий :: GUI :: Как исправить ошибку в отслеживании столкновения с врагами в игре на pygame?
2021-03-28T19:10:15+03:00ViRuss08215650Я создаю игрушку, думал вроде бы настроил столкновение игрока с врагами. Но когда очередной раз запускал чтобы проверить не ошибся ли при работе с музыкой, узнал что сталкиваться с врагом я могу только с левой его стороны. Пробовал исправить, но, смерть защитывается только подходя к врагу слева.<br/><div class="code"><pre> <span class="k">def</span> <span class="nf">pause</span><span class="p">():</span>
<span class="k">if</span> <span class="n">paused</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">pause</span> <span class="o">=</span> <span class="n">myfont1</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">'ПАУЗА!'</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="p">(</span><span class="mi">200</span><span class="p">,</span> <span class="mi">200</span><span class="p">,</span> <span class="mi">200</span><span class="p">))</span> <span class="c1"># Строки паузы</span>
<span class="n">pause1</span> <span class="o">=</span> <span class="n">myfont1</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s2">"Чтобы продолжить жмите ENTER"</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="p">(</span><span class="mi">200</span><span class="p">,</span> <span class="mi">200</span><span class="p">,</span> <span class="mi">200</span><span class="p">))</span>
<span class="n">screen</span><span class="o">.</span><span class="n">set_alpha</span><span class="p">(</span><span class="mi">100</span><span class="p">)</span> <span class="c1"># Прозрачность слоя выставленна на 100</span>
<span class="n">win</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">screen1</span><span class="p">,</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="c1"># Включение слоя скрин1</span>
<span class="n">screen1</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">pause</span><span class="p">,</span> <span class="p">(</span><span class="mi">480</span><span class="p">,</span> <span class="mi">250</span><span class="p">))</span> <span class="c1"># Отрисовка надписи паузы</span>
<span class="n">screen1</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">pause1</span><span class="p">,</span> <span class="p">(</span><span class="mi">180</span><span class="p">,</span> <span class="mi">350</span><span class="p">))</span> <span class="c1"># Отрисовка надписи паузы</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">screen</span><span class="o">.</span><span class="n">set_alpha</span><span class="p">(</span><span class="mi">255</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">otladka</span><span class="p">():</span>
<span class="k">if</span> <span class="n">cord</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span> <span class="c1"># Вывод строк в экран отладки</span>
<span class="n">string1</span> <span class="o">=</span> <span class="n">myfont</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">'Игрок: X '</span><span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' Y '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">y</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">60</span><span class="p">))</span> <span class="c1"># Строки экрана отладки</span>
<span class="n">string2</span> <span class="o">=</span> <span class="n">myfont</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">'Враг(и) в зоне видимости: X: '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">sx</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' Y: '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">sy</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' X1: '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">sx1</span><span class="p">)</span> <span class="o">+</span> <span class="s1">' Y1: '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">sy1</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">60</span><span class="p">))</span>
<span class="n">string5</span> <span class="o">=</span> <span class="n">myfont</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">'Координаты мышки в окне: '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">a</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">60</span><span class="p">))</span>
<span class="n">string6</span> <span class="o">=</span> <span class="n">myfont</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">'Кол-во FPS: '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">fps</span><span class="p">),</span> <span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">60</span><span class="p">))</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">string2</span><span class="p">,</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">50</span><span class="p">))</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">string1</span><span class="p">,</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">30</span><span class="p">))</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">string5</span><span class="p">,</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">10</span><span class="p">))</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">string6</span><span class="p">,</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">90</span><span class="p">))</span>
<span class="n">fu</span> <span class="o">=</span> <span class="nb">input</span><span class="p">()</span>
<span class="c1">#from menu import menu</span>
<span class="kn">import</span> <span class="nn">pygame</span> <span class="kn">as</span> <span class="nn">pg</span>
<span class="kn">import</span> <span class="nn">random</span>
<span class="kn">import</span> <span class="nn">time</span>
<span class="n">pg</span><span class="o">.</span><span class="n">init</span><span class="p">()</span> <span class="c1"># импортируем библиотеку для игрушки</span>
<span class="n">win</span> <span class="o">=</span> <span class="n">pg</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">1200</span><span class="p">,</span> <span class="mi">700</span><span class="p">))</span> <span class="c1"># Создвние главного окна программы</span>
<span class="n">screen</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">Surface</span><span class="p">((</span><span class="mi">1200</span><span class="p">,</span> <span class="mi">700</span><span class="p">))</span> <span class="c1"># Втоой слой</span>
<span class="n">screen1</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">Surface</span><span class="p">((</span><span class="mi">1200</span><span class="p">,</span> <span class="mi">700</span><span class="p">))</span> <span class="c1"># Третий слой</span>
<span class="n">pg</span><span class="o">.</span><span class="n">display</span><span class="o">.</span><span class="n">set_caption</span><span class="p">(</span><span class="s1">'game'</span><span class="p">)</span> <span class="c1">#Создание окна "GAME"</span>
<span class="n">width</span> <span class="o">=</span> <span class="mi">100</span> <span class="c1"># Ширина</span>
<span class="n">height</span> <span class="o">=</span> <span class="mi">100</span> <span class="c1"># Высота</span>
<span class="n">x</span> <span class="o">=</span> <span class="mi">600</span> <span class="c1"># Позиция Y Игрока</span>
<span class="n">y</span> <span class="o">=</span> <span class="mi">400</span> <span class="c1"># Позиция X игрока</span>
<span class="n">speed</span> <span class="o">=</span> <span class="mi">30</span> <span class="c1"># Скорость игрока</span>
<span class="n">spd</span> <span class="o">=</span> <span class="mi">10</span> <span class="c1"># Скорость врага</span>
<span class="n">sy</span> <span class="o">=</span> <span class="o">-</span><span class="mi">100</span> <span class="c1"># Позиция Y врага</span>
<span class="n">sx</span> <span class="o">=</span> <span class="mi">100</span> <span class="c1"># Позиция X врага</span>
<span class="n">spd1</span> <span class="o">=</span> <span class="mi">10</span> <span class="c1"># Скорость врага1</span>
<span class="n">sy1</span> <span class="o">=</span> <span class="o">-</span><span class="mi">60</span> <span class="c1"># Позиция Y врага1</span>
<span class="n">sx1</span> <span class="o">=</span> <span class="mi">350</span> <span class="c1"># Позиция X врага1</span>
<span class="n">myfont</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">font</span><span class="o">.</span><span class="n">SysFont</span><span class="p">(</span><span class="s2">"monospace"</span><span class="p">,</span> <span class="mi">20</span><span class="p">)</span> <span class="c1"># Системный шрифт в отладчике, выставленный на размер 15</span>
<span class="n">myfont1</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">font</span><span class="o">.</span><span class="n">SysFont</span><span class="p">(</span><span class="s2">"arial"</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span> <span class="c1"># Системный шрифт в паузе, выставленный на размер 50</span>
<span class="n">clock</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">time</span><span class="o">.</span><span class="n">Clock</span><span class="p">()</span> <span class="c1">#Для обозначения фпс</span>
<span class="n">fps</span> <span class="o">=</span> <span class="mi">60</span>
<span class="n">time1</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">m</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">death</span> <span class="o">=</span> <span class="bp">False</span> <span class="c1"># Смерть выключена</span>
<span class="n">cord</span> <span class="o">=</span> <span class="bp">False</span> <span class="c1"># Экран отладки выключен</span>
<span class="n">run</span> <span class="o">=</span> <span class="bp">True</span> <span class="c1"># Цикл включен</span>
<span class="n">paused</span> <span class="o">=</span> <span class="bp">True</span> <span class="c1"># Пауза выключена</span>
<span class="n">record</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">r1</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">r2</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">rn</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">sound1</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">mixer</span><span class="o">.</span><span class="n">Sound</span><span class="p">(</span><span class="s1">'C:</span><span class="se">\\</span><span class="s1">Users\Юрий\Desktop\python\MyGame\m.wav'</span><span class="p">)</span>
<span class="n">soundlose</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">mixer</span><span class="o">.</span><span class="n">Sound</span><span class="p">(</span><span class="s1">'C:</span><span class="se">\\</span><span class="s1">Users\Юрий\Desktop\python\MyGame\lose.wav'</span><span class="p">)</span>
<span class="n">sound1</span><span class="o">.</span><span class="n">play</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
<span class="k">while</span> <span class="n">run</span><span class="p">:</span> <span class="c1"># Главный цикл игры</span>
<span class="n">pg</span><span class="o">.</span><span class="n">time</span><span class="o">.</span><span class="n">delay</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
<span class="n">a</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">mouse</span><span class="o">.</span><span class="n">get_pos</span><span class="p">()</span>
<span class="k">for</span> <span class="n">event</span> <span class="ow">in</span> <span class="n">pg</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">pg</span><span class="o">.</span><span class="n">QUIT</span><span class="p">:</span>
<span class="n">run</span> <span class="o">=</span> <span class="bp">False</span> <span class="c1"># Разрешает завершение программы через крестик</span>
<span class="n">keys</span> <span class="o">=</span> <span class="n">pg</span><span class="o">.</span><span class="n">key</span><span class="o">.</span><span class="n">get_pressed</span><span class="p">()</span> <span class="c1"># Для регистрации клавиш</span>
<span class="n">win</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">screen1</span><span class="p">,</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="c1"># Включение слоя скрин1 </span>
<span class="k">if</span> <span class="n">death</span> <span class="o">==</span> <span class="bp">False</span><span class="p">:</span>
<span class="k">if</span> <span class="n">sx</span> <span class="o">>=</span> <span class="n">x</span> <span class="ow">and</span> <span class="n">sx</span> <span class="o"><=</span> <span class="n">x</span> <span class="o">+</span> <span class="mi">100</span> <span class="ow">and</span> <span class="n">sy</span> <span class="o">>=</span> <span class="n">y</span> <span class="ow">and</span> <span class="n">sy</span> <span class="o"><=</span> <span class="n">y</span> <span class="o">+</span> <span class="mi">100</span><span class="p">:</span>
<span class="n">death</span> <span class="o">=</span> <span class="bp">True</span>
<span class="n">r1</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">if</span> <span class="n">sx1</span> <span class="o">>=</span> <span class="n">x</span> <span class="ow">and</span> <span class="n">sx1</span> <span class="o"><=</span> <span class="n">x</span> <span class="o">+</span> <span class="mi">100</span> <span class="ow">and</span> <span class="n">sy1</span> <span class="o">>=</span> <span class="n">y</span> <span class="ow">and</span> <span class="n">sy1</span> <span class="o"><=</span> <span class="n">y</span> <span class="o">+</span> <span class="mi">100</span><span class="p">:</span>
<span class="n">death</span> <span class="o">=</span> <span class="bp">True</span>
<span class="n">r1</span> <span class="o">=</span> <span class="bp">True</span>
<span class="n">pause</span><span class="p">()</span>
<span class="k">if</span> <span class="n">keys</span><span class="p">[</span><span class="n">pg</span><span class="o">.</span><span class="n">K_RETURN</span><span class="p">]:</span> <span class="c1"># Выключение паузы</span>
<span class="n">paused</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">if</span> <span class="n">keys</span><span class="p">[</span><span class="n">pg</span><span class="o">.</span><span class="n">K_ESCAPE</span><span class="p">]:</span> <span class="c1"># Включение паузы</span>
<span class="n">paused</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">if</span> <span class="n">keys</span><span class="p">[</span><span class="n">pg</span><span class="o">.</span><span class="n">K_TAB</span><span class="p">]:</span> <span class="c1"># Включение паузы</span>
<span class="n">run</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">if</span> <span class="n">paused</span> <span class="o">==</span> <span class="bp">False</span><span class="p">:</span>
<span class="n">time1</span> <span class="o">+=</span> <span class="mf">0.030</span>
<span class="c1">#if rn == False:</span>
<span class="c1">#spd = random.randint(10, 40)# Бесконечное движение врага вниз</span>
<span class="n">sy</span> <span class="o">+=</span> <span class="n">spd</span> <span class="c1"># Бесконечное движение врага вниз</span>
<span class="k">if</span> <span class="n">sy</span> <span class="o">>=</span> <span class="mi">700</span><span class="p">:</span>
<span class="n">sy</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># Позиция Y врага</span>
<span class="n">sx</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">900</span><span class="p">)</span> <span class="c1"># Позиция X врага</span>
<span class="c1">#if rn == False:</span>
<span class="c1">#spd1 = random.randint(10, 40)</span>
<span class="n">sy1</span> <span class="o">+=</span> <span class="n">spd1</span> <span class="c1"># Бесконечное движение врага вниз</span>
<span class="k">if</span> <span class="n">sy1</span> <span class="o">>=</span> <span class="mi">700</span><span class="p">:</span>
<span class="n">sy1</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="o">-</span><span class="mi">20</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># Позиция Y врага 1</span>
<span class="n">sx1</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">900</span><span class="p">)</span> <span class="c1"># Позиция X врага 1</span>
<span class="k">if</span> <span class="n">keys</span><span class="p">[</span><span class="n">pg</span><span class="o">.</span><span class="n">K_d</span><span class="p">]:</span> <span class="c1"># Движение вправо по клавише D </span>
<span class="n">x</span> <span class="o">+=</span> <span class="n">speed</span>
<span class="k">if</span> <span class="n">x</span> <span class="o">></span> <span class="mi">1050</span><span class="p">:</span>
<span class="n">x</span> <span class="o">=</span> <span class="mi">1050</span>
<span class="k">if</span> <span class="n">keys</span><span class="p">[</span><span class="n">pg</span><span class="o">.</span><span class="n">K_a</span><span class="p">]:</span> <span class="c1"># Движение влево по клавише A</span>
<span class="n">x</span> <span class="o">-=</span> <span class="n">speed</span>
<span class="k">if</span> <span class="n">x</span> <span class="o"><</span> <span class="mi">80</span><span class="p">:</span>
<span class="n">x</span> <span class="o">=</span> <span class="mi">70</span>
<span class="k">if</span> <span class="n">keys</span><span class="p">[</span><span class="n">pg</span><span class="o">.</span><span class="n">K_g</span><span class="p">]</span> <span class="ow">and</span> <span class="n">cord</span> <span class="o">==</span> <span class="bp">False</span><span class="p">:</span> <span class="c1"># Включатель экрана отладки</span>
<span class="n">cord</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">if</span> <span class="n">keys</span><span class="p">[</span><span class="n">pg</span><span class="o">.</span><span class="n">K_h</span><span class="p">]</span> <span class="ow">and</span> <span class="n">cord</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span> <span class="c1"># Выключатель экрана отладки</span>
<span class="n">cord</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">string3</span> <span class="o">=</span> <span class="n">myfont</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">'Вы проигали!'</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">60</span><span class="p">))</span>
<span class="n">string4</span> <span class="o">=</span> <span class="n">myfont</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s1">'Вы пока не прогирали!'</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">20</span><span class="p">,</span><span class="mi">60</span><span class="p">))</span>
<span class="n">screen</span><span class="o">.</span><span class="n">fill</span><span class="p">((</span><span class="mi">0</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="c1">#Заливка 2 слоя</span>
<span class="k">if</span> <span class="n">run</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">p_time</span> <span class="o">=</span> <span class="n">myfont</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">time1</span><span class="p">),</span> <span class="mi">10</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">60</span><span class="p">))</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">p_time</span><span class="p">,</span> <span class="p">(</span><span class="mi">1130</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span> <span class="c1"># Отрисовка надписи времени</span>
<span class="n">p_time1</span> <span class="o">=</span> <span class="n">myfont</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="s2">" Секунд"</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">60</span><span class="p">))</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">p_time1</span><span class="p">,</span> <span class="p">(</span><span class="mi">1115</span><span class="p">,</span> <span class="mi">20</span><span class="p">))</span> <span class="c1"># Отрисовка надписи времени</span>
<span class="n">otladka</span><span class="p">()</span>
<span class="k">if</span> <span class="n">death</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="c1">#run = False</span>
<span class="n">record</span> <span class="o">=</span> <span class="bp">True</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">string3</span><span class="p">,</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">70</span><span class="p">))</span> <span class="c1"># Если умер</span>
<span class="k">if</span> <span class="n">r1</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">soundlose</span><span class="o">.</span><span class="n">play</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="n">r1</span> <span class="o">==</span> <span class="bp">False</span>
<span class="k">if</span> <span class="n">record</span> <span class="o">==</span> <span class="bp">True</span><span class="p">:</span>
<span class="k">if</span> <span class="n">fu</span> <span class="o">==</span> <span class="s2">"2"</span><span class="p">:</span>
<span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'Результаты.txt'</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">)</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'{'</span> <span class="o">+</span> <span class="s2">"Fred "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">time1</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'},'</span><span class="p">)</span>
<span class="n">f</span><span class="o">.</span><span class="n">close</span>
<span class="n">record</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">print</span><span class="p">(</span><span class="s1">'{'</span> <span class="o">+</span> <span class="s2">"Fred "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">time1</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'},'</span><span class="p">)</span>
<span class="k">if</span> <span class="n">fu</span> <span class="o">==</span> <span class="s2">"1"</span><span class="p">:</span>
<span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'Результаты.txt'</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">)</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'{'</span> <span class="o">+</span> <span class="s2">"ViR "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">time1</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'},'</span><span class="p">)</span>
<span class="n">f</span><span class="o">.</span><span class="n">close</span>
<span class="n">record</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">print</span><span class="p">(</span><span class="s1">'{'</span> <span class="o">+</span> <span class="s2">"ViR "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">time1</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'},'</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'Результаты.txt'</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">)</span>
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'{'</span> <span class="o">+</span> <span class="n">fu</span> <span class="o">+</span> <span class="s2">" "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">time1</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'},'</span><span class="p">)</span>
<span class="n">f</span><span class="o">.</span><span class="n">close</span>
<span class="n">record</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">print</span><span class="p">(</span><span class="s1">'{'</span> <span class="o">+</span> <span class="n">fu</span> <span class="o">+</span> <span class="s2">" "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">time1</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'},'</span><span class="p">)</span>
<span class="n">death</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">screen</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">string4</span><span class="p">,</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">70</span><span class="p">))</span> <span class="c1"># Если жив</span>
<span class="n">pg</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="p">(</span><span class="mi">60</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="p">(</span><span class="n">sx</span><span class="p">,</span><span class="n">sy</span><span class="p">,</span><span class="n">width</span><span class="p">,</span><span class="n">height</span><span class="p">))</span> <span class="c1">#враг</span>
<span class="n">pg</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="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">70</span><span class="p">),</span> <span class="p">(</span><span class="n">sx1</span><span class="p">,</span><span class="n">sy1</span><span class="p">,</span><span class="n">width</span><span class="p">,</span><span class="n">height</span><span class="p">))</span> <span class="c1">#враг 1</span>
<span class="n">pg</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="p">(</span><span class="mi">60</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="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">width</span><span class="p">,</span><span class="n">height</span><span class="p">))</span> <span class="c1">#игрок</span>
<span class="n">win</span><span class="o">.</span><span class="n">blit</span><span class="p">(</span><span class="n">screen</span><span class="p">,</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">pg</span><span class="o">.</span><span class="n">display</span><span class="o">.</span><span class="n">update</span><span class="p">()</span> <span class="c1"># Обновление экрана</span>
<span class="n">clock</span><span class="o">.</span><span class="n">tick</span><span class="p">(</span><span class="n">fps</span><span class="p">)</span> <span class="c1"># Фпс = 60</span>
<span class="n">pg</span><span class="o">.</span><span class="n">quit</span><span class="p">()</span>
</pre></div><br/>Я хз что делать формула столкновения выделена жирным шрифтом.<br/>Я питонист начинающий на код не ругайтесь.