• Как отделить числа от букв в списке?

    @Span4ev Автор вопроса
    Премного благодарен
  • После загрузки Windows 10 черный экран?

    @Span4ev
    Возможно я не прав, но ОС хранит свои данные не только на С, так что скорее всего при подключении винта к другому ПК, на него записались данные другой ОС. Теперь ваш ПК не может загрузить родную винду. Не уверен, так что примите как гипотезу. Форматнуть винт, если есть возможность. Не думаю, что тут проблема с драйверами.
  • На "не слабом железе" лагает кс, что делать?

    @Span4ev
    Xrey Monstrikov, Тут даже не важно на каком диске установлена игра, важен сам бэд. Если у вас 2 диска и винда на С, игра на D, то физически отключите D, установите игру на С (или любой другой диск) и проверьте. Так вы и убедитесь в том, что проблема в жёстком диске. Я ремапил с помощью Victoria, там ничего сложного.
  • Почему индекс нулей в списке равен нулю?

    @Span4ev Автор вопроса
    Алан Гибизов, Дурная привычка с этими i и k (вообще-то должны быть i и j, но так сложилось )
    Спасибо за enumerate, уже сделал.
  • Почему индекс нулей в списке равен нулю?

    @Span4ev Автор вопроса
    Михаил Кростелев, Нужно перебрать массив и найти "пустые" элементы, чтобы определить какие ячейки могут быть перезаписаны. Далее выбирать случайную пару (строка, значение) и перезаписывать её. Если нулей несколько - значит все они доступны и помещаются в отдельный список. Если нулей нет, то GG
  • Почему индекс нулей в списке равен нулю?

    @Span4ev Автор вопроса
    Михаил Кростелев, Ох, спасибо. "индекс первого найденного элемента со значением" - проблема в том, что я плохо понимал как работает index. Спасибо, буду использовать другой подход.
    Задача состояла в том, чтобы получить номер строки и номер элемента в строек, если он равен нулю. Я уже использовал другой метод, пусть и громоздкий

    row = 0
    col = 0
    
    amount = len(grid)
    for i in range(amount):
    	col = 0
    	for k in range(amount):
    		if grid[row][col] == 0:
    			used.append([row, col])
    		col += 1
    	row += 1
  • Почему индекс нулей в списке равен нулю?

    @Span4ev Автор вопроса
    Видимо так:
    row = 0
    col = 0
    
    amount = len(grid)
    for i in range(amount):
    	col = 0
    	for k in range(amount):
    		if grid[row][col] == 0:
    			used.append([row, col])
    		col += 1
    	row += 1
  • На "не слабом железе" лагает кс, что делать?

    @Span4ev
    Xrey Monstrikov, Ну, судя по всему - дело именно в жёстком диске. Заремапьте битый сектор и пользуйтесь дальше (до новых бэдов). У меня стоит HDD 250 на котором был то ли 1, то ли 2 битых сектора, которые я заремапил года полтора назад. Все игры на нём. Проблем нет.
  • Как обратиться к объекту класса renpy, если я не знаю его имя?

    @Span4ev Автор вопроса
    Алан Гибизов, Действительно - я был невнимателен. Прошу прощения. Я понял: то есть у них нет имён, и обращаться к ним можно только по индексу.
    Спасибо.
  • Как обратиться к объекту класса renpy, если я не знаю его имя?

    @Span4ev Автор вопроса
    Видно, что всюду присваиваются имена. И я так понимаю, что в дальнейшем по этим именам и должно идти обращение в движке.


    Увы, имена нужны для того чтобы при перетаскивании одного объекта на другой происходило нечто. Например:
    if draggable == "circle":
            show circle: 
                xpos xpos_var ypos 460
        elif draggable == "triangle":
            show triangle:
                xpos xpos_var ypos 460
        elif draggable == "square":
            show square:
                xpos xpos_var ypos 460

    То есть через это можно делать контроль "столкновений", прятать/показывать изображения, если они пересекаются.

    Я вас понял. В общем, нет смысла заморачиваться.
    Меня давно интересует этот вопрос, но в другой форме: если я создаю коллекцию экземпляров класса в цикле, то как узнать имена этих экземпляров, например:

    class Player:
    	def __init__(self, num):
    		self.num = num
    
    class Game:
    	def __init__(self):
    		self.players = []
    
    	def create_ob(self):
    		for i in range(10):
    			self.players.append(Player(i))
    
    
    game = Game()
    game.create_ob()
    print(len(game.players))

    То есть и без игровых движков может возникнуть такая ситуация в питоне, когда имена экземпляров не указываются, но экземпляры создаются. Вы упомянули сборщик мусора, однако такие объекты вполне себе жизнеспособны.

    Спасибо за уделённое время.
  • Как обратиться к объекту класса renpy, если я не знаю его имя?

    @Span4ev Автор вопроса
    serhiops, да нет, это если надо посмотреть атрибуты класса. Мне другое нужно.
  • Как обратиться к объекту класса renpy, если я не знаю его имя?

    @Span4ev Автор вопроса
    я раньше всегда писал "экземпляры класса", но потом увидел, что другие пишут "объекты класса", ну и я стал. Слово "объект" проще пишется )) Я понял, вернусь к экземплярам.

    Код абсолютно валидный в том смысле, что это синтаксис игрового движка, так что это всё работает. Тут смесь питона с внутренним синтаксисом.

    Вот страница документации, если интересно


    Но вопрос был в том, как можно, зная имя класса, посмотреть созданные экземпляры этого класса и он касался именно и только питона. Есть ли способ узнать какие объекты в памяти или где-то ещё являются экземплярами известного класса? Посмотреть их имена, количество и зная имена, обращаться к атрибутам.
    Пример привёл просто чтобы продемонстрировать, как создаются экземпляры и что я действительно не делаю этого явно.

    Может я чего-то не понял и я создаю не экземпляры класса...
  • Как отключить вызов контекстного меню через alt+space в Windows 10?

    @Span4ev Автор вопроса
    divinecat, В моём случае это не программа. Но нашёл на каком-то англоязычном форуме решение, сейчас опишу его в вопросе. Написал в ответе. Спасибо за коммент, а то забыл про вопрос, а ответив на него, кому-то может помочь
  • Курсор ввода в любом месте окна браузеров?

    @Span4ev
    Ёк макарёк, я 3 недели терпел эту гадость, пока в видео плеере не стала появляться вертикальная мигающая полоса на всю высоту экрана. Все расширения отключил, уже писал в ТП пунто свитчера, даже понятия не имел об этой шляпе.
    Спасибо.
  • Насколько такой метод проверки является корректным и как его можно сократить?

    @Span4ev Автор вопроса
    mayton2019, Вы же понимаете, что это не какие-то мои принципы, мол, я делаю так потому что хочу чтобы это было так? И это не моя уверенность. Это исходит из моего текущего уровня знаний. Я делаю что-то по мере своих возможностей, так что тут речь не об удовольствии. Я не сомневаюсь, что вы знаете больше моего. Если вам есть что сказать и у вас есть на то желание, я с радостью вас выслушаю.
  • Насколько такой метод проверки является корректным и как его можно сократить?

    @Span4ev Автор вопроса
    mayton2019, может я не до конца понимаю возможности этих модулей, но конкретно системное время мне не нужно. Мне нужна простая функция, с простыми расчётами минут, часов, дней и месяцев. Я уже это сделал без этих модулей. Это ведь игра, а не какая-то программа работающая с реальным календарём. Каждое действие прибавляет какое-то значение. Вот и вся суть. Может, конечно, в этих модулях есть какие-то встроенные функции, которые выполняют ту же самую задачу и дают тот же самый результат с их особым синтаксисом и зарезервированными именами? Но зачем мне какие-то модули для вот такого:

    if mins > 59:
        mins = 0
        hour += 1

    Я конечно упростил, но суть вы поняли
  • Насколько такой метод проверки является корректным и как его можно сократить?

    @Span4ev Автор вопроса
    Vindicar, Благодарю за помощь и подробное объяснение.
    Много полезного и интересного для себя почерпнул.
  • Насколько такой метод проверки является корректным и как его можно сократить?

    @Span4ev Автор вопроса
    будет 20 методов которые делают сравнение времени, разность в днях или календарные расчеты

    Понимаю о чём вы, однако никакого сравнения времени не предвидится.
    Это для игрушки. Нужно просто передавать какое-то кол-во времени, например, ГГ пошёл в точку "а" - передаём 32м; а если пошёл вон аж туда, то передаём 2 часа, 9 минут. Образно. Сон, обед, работа и т.п. - разное кол-во времени.
    Тут не место модулям datatime и time, это другая история.
    Я не только для себя делаю, но если всё получится, то и как гайд (для этого движка).
    Время прибавляется в зависимости от действия, поэтому передавать можно разные значения. А вот это - h=0, m=0, d=0, dw=0, mh=0, y=0 - сделано для удобства (не только моего), чтобы можно было передать и так (0, 10) - 10 минут, и (y=1), чтобы передать 1 год и не писать все предшествующие нули. Ну или передать любую конкретную единицу времени не думая о подсчёте и порядке остальных. Ну и или всё добавить всё сразу или несколько без имен - (4, 30, 0, 0, 2).
    вот вам SingleResponcibility
  • Насколько такой метод проверки является корректным и как его можно сократить?

    @Span4ev Автор вопроса
    whojoannaami, Спасибо за наводку на функцию all. Благодаря ответу ниже и вашему комментарию удалось получить общую картину, скомбинировать варианты и понять, как это применить на практике. Всё работает. Благодарю.
    Наконец-то эта проверка выглядит кошерно