Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 09.03.2017
Сообщений: 57

ООП: почему в потомке родительского класса не изменяются координаты?

12.09.2018, 10:28. Показов 939. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, никак не могу понять,почему в потомке родительского класса не изменяются координаты в с помощью метода moove()
Python
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
import pygame
import random
 
class Shape:
    def __init__(self):
        """Загружаем блоки фигур разного цвета и записываем их для удобства в список"""
        self.x = 250
        self.y = 25
        self.color_blue = pygame.image.load("images/bluebrick.png")
        self.color_green = pygame.image.load("images/greenbrick.png")
        self.color_red = pygame.image.load("images/redbrick.png")
        self.color_yellow = pygame.image.load("images/yellowbrick.png")
        self.color_teal = pygame.image.load("images/tealbrick.png")
        self.color_orange = pygame.image.load("images/orangebrick.png")
        self.color_purple = pygame.image.load("images/purplebrick.png")
        self.color = [self.color_blue,self.color_green,self.color_orange,self.color_purple,self.color_red,
                      self.color_teal,self.color_yellow]
        self.shape_list = ["Shape_T","Shape_Cube"] #Данный список нужен для получения рандомной фигуры
 
    def get_color(self):
        """Выдает сегмент фигуры случайного цвета"""
        color = random.choice(self.color)
 
        return color
 
    def get_shape(self):
        """Выдает из списка рандомное значение для определения фигуры"""
 
        name = random.choice(self.shape_list)
        if name == "Shape_T":
            shape = Shape_T()
        elif name == "Shape_Cube":
            shape = Shape_Cube()
 
        return shape
 
    def shape_moove(self,settings):
        """Движение фигуры"""
        if settings.var % settings.speed == 0:
            self.y += 1
        settings.var += 1
        print(self.y)
 
    def draw_shape(self,shape,brick,screen):
        """Рисует фигуру на экране"""
        for brick_coord in shape.list_coordinate:
            screen.blit(brick,(brick_coord[0],brick_coord[1]))
 
        print(shape.list_coordinate[1])
 
class Shape_T(Shape):
    def __init__(self):
        super().__init__()
        self.list_coordinate = [[self.x,self.y],[self.x - 25,self.y - 25],[self.x,self.y - 50],[self.x,self.y - 25]]
 
class Shape_Cube(Shape):
    def __init__(self):
        super().__init__()
        self.list_coordinate =[[self.x,self.y],[self.x + 25,self.y],[self.x,self.y - 25],[self.x + 25,self.y - 25]]
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2018, 10:28
Ответы с готовыми решениями:

Переменные не изменяются после выполнения функции родительского класса
Добрый день. Полный новичок в QT, пытаюсь разобраться .Суть проблемы в следующем, назначил слот на кнопку,, который при нажатии на нее...

ООП: вызов переменной из родительского класса
Доброго всем времени суток. Есть такой скрипт: <?php class myParent { protected $err; private function error($error) { ...

почему изменяются координаты элементов на страничке при вставке таблицы в div
Имеется исходный код <!doctype html> <html> <head> <meta charset="utf-8"> <title>Untitled Page</title> <meta...

1
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
12.09.2018, 17:35
Цитата Сообщение от lopatuxin Посмотреть сообщение
почему в потомке родительского класса не изменяются координаты
Очень даже меняются

Python
1
2
3
4
5
6
7
sh_t = Shape_T()
 
print(sh_t.y)
 
sh_t.shape_moove(settings)
 
print(sh_t.y)
25
26
26
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.09.2018, 17:35
Помогаю со студенческими работами здесь

Почему внук родительского класса не может работать с полями дедовского класса?
Не всё так просто на самом деле. Непонятно, какую роль во всём этом играют шаблоны. Но к делу. Вот код: class base { public: base...

Как сделать, чтобы производный класс наследовал все операторы от родительского класса и от родительского родительского
Есть 1й базовый класс в кот. определён operator ++ (); //prefix Есть производный от 1го, 2й класс в кот. дополнительно определён operator...

ООП в C++: Вызов родительского конструктора с параметром при создании объекта дочернего класса
Здравствуйте! Столкнулся с такой проблемой: если есть родительский класс с конструктором, то при создании дочернего объекта от этого...

Почему не выводятся данные родительского класса
помогите с кодом не могу понять почему не выводит данные родительского класса при при вызове дочернего вот код тут все понятно...

Почему при компилировании программы со вторым экземпляром класса изменяются значения первого?
Здравствуйте. Вопрос: почему при компилировании программы со вторым экземпляром класса изменяются значения первого? namespace SALES { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru