Natanahgy
29.08.2022 10:46

PyGame не отображает поверхность. Здравствуйте, я начал изучать PyGame и столкнулся с проблемой: холст не отображается в окне. Я ещё новичок в этой теме, возможна ошибка о . Вот код:

import pygame

width = 350

height = 500

FPS = 30

pygame.init()

screen = pygame.display.set_mode((height, width))

pygame.display.set_caption('Title')

clock = pygame.time.Clock()

class Circle(pygame.sprite.Sprite):

def __init__(self):

pygame.sprite.Sprite.__init__(self)

self.image = pygame.Surface((40, 40))

self.rect = self.image.get_rect()

self.rect.x = width - 40

self.rect.y = height - 40

self.speedx = -8

def update(self):

self.rect.x += self.speedx / FPS

if self.rect.centerx == self.image.get_width() - 20:

self.speedx = 0

self.rect.x = 0

circle = Circle()

running = True

while running:

clock.tick(FPS)

# Enter

# Update

for event in pygame.event.get():

if event.type == pygame.QUIT:

running = False

circle.update()

# Painting

screen.fill((0, 0, 0))

pygame.draw.circle(circle.image, (0, 255, 0), (circle.rect.centerx, circle.rect.centery), 20)

screen.blit(circle.image, (circle.image.get_width(), circle.image.get_height()))

pygame.display.flip()

pygame.quit()

P.s. На экране справа налево должен двигаться зелёный круг, у левого края он должен останавливаться.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
АэлинкаМалинка
01.08.2021 11:41
А) Решение не совсем эффективно, но для школьного примера, то что нужно.
#include <iostream>
using namespace std;

unsigned fib(unsigned x)
{
    if (x == 0)
        return 0;
    if (x == 1 || x == 2)
        return 1;
    else if(x > 2)
        return fib(x - 1) + fib(x - 2);
}

int main()
{
    unsigned n = 0;
    cout << "How much numbers you want to print: " << endl;
    cin >> n;
    cout << "The Finonacci serie: " << endl;
    for(unsigned i = 0; i < n; ++i) {
      cout << fib(i) << " ";
    }
    return 0;
}
0,0(0 оценок)
Ответ:
nenovaolya
11.02.2022 00:29
Алгоритм – это полное и точное описание на некотором языке конечной последовательности правил, указывающих исполнителю действия, которые он должен выполнить, чтобы за конечное время перейти от (варьируемых) исходных данных к искомому результату.
Алгоритм должен удовлетворять следующим свойствам:
1.Первым свойством алгоритма является дискретный, т. е. пошаговый характер определяемого им процесса. Возникающая в результате такого разбиения запись алгоритма представляет собой упорядоченную последовательность отдельных предписаний (правил, директив, команд) , образующих прерывную (или, как говорят, дискретную) структуру алгоритма: только выполнив требования одного предписания можно приступать к исполнению следующего.
2.Исполнитель может выполнить алгоритм, если он ему понятен, т. е. записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. Алгоритм не должен содержать предписаний, не входящих в систему команд исполнителя.
3.Алгоритмы, предназначенные для исполнения неким техническим устройством, не должны содержать предписаний, приводящих к неоднозначным действиям. Алгоритм рассчитан на чисто механическое исполнение, и если применять его повторно к одним и тем же исходным данным, то всегда должен получиться один и тот же результат. Это свойство однозначности и определенности – детерминированности – алгоритмов позволяет использовать в качестве исполнителя специальные машины – автоматы.
4.Основополагающим свойством алгоритмов является его массовость, или применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений.
5.Цель выполнения алгоритма – получение определенного результата посредством выполнения указанных преобразований над исходными данными. Причем при точном исполнении всех предписаний алгоритмический процесс должен заканчиваться за конечное число шагов. Это обязательное требование к алгоритмам.
6.Если алгоритм должен быть выполнен не просто за конечное время, а за разумное конечное время, то речь идет об эффективности алгоритма. Эффективность алгоритма часто определяет возможность его практической реализации.
Самой распространенной формой представления алгоритмов, адресованных человеку, является обычная словесная запись. В этой форме могут быть выражены любые алгоритмы.
Составим алгоритм определения максимального числа из трех: z:=max(a,b,c).
Решение задачи на ЭВМ можно получить, действуя следующим образом. Сначала найдем наибольшее из двух чисел, например, а и b, сравнив их между собой. Предположим, что исполнитель может выполнить операцию сравнения «больше» . Найденное наибольшее число «запомним» в качестве значения переменной z. Далее сравним значение переменной z с оставшимся числом с. Если с больше z, то присвоим z новое значение – значение с, в противном случае значение z останется прежним. В результате переменная z будет равна наибольшему из a,b,c и будет являться искомым результатом.
Эти рассуждения можно представить в виде словесной записи алгоритма:
Начало
1.Ввести a,b,c.
2.Если a>b, то z::=a;
иначе z:=b;
3.Если c>z, то z:=c.
4.Вывод z.
Конец.
Ход выполнения алгоритма зависит от результатов проверки условий a>b и c>z. Если для введенных значений a, b действительно a>b, то выполняется операция z:=a; если нет, то выполняется z:=b. Таким образом, в зависимости от результата проверки условия a>b требуется выполнить различные действия. В алгоритме на этом шаге предусмотрены оба возможных направления дальнейших вычислений. При проверке условия c>z операция z:=c может выполняться, если действительно c>z, или не выполняться в противном случае.
Этот алгоритм обладает всеми необходимыми свойствами: дискретностью, массовостью, эффективностью.
И так я могу долго
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота