All streams
Search
Write a publication
Pull to refresh
3
-3
Send message

Здравствуйте, ну я понимаю, что не открою вам Америку и наверно вы об этом думали, но у меня два предложения: первое - попробуйте начать с более простых игр и без больших библиотек (как pygame), например, как крестики-нолики или камень-ножницы-бумага (тк там относительно очень простые правила). И второе - возьмите готовый или почти готовый проект (разберитесь в нем) и потом с ребенком изменяйте параметры, и чтобы было видно изменение, например, поменял строку с цветом - и задний фон изменил цвет, и так пройтись по большей части кода

Спасибо за вашу внимательность, скорее всего не заметил при переносе кода (уже исправил), но больше удивляет, что за месяц никто не заметил )

Согласен, идея использовать логику сапёра для генерации пещер - это круто, один клик и работает сложные алгоритмы, а BVH и карта высот отлично ложатся на эту концепцию

Ваш стек C++/glew/BVH думаю мощное решение, особенно для масштабирования. На Python с numpy+numba, конечно, проще начать, но для большой игры, как будто не подходит. Когда у вас получиться его реализовать до конца, хотел бы увидеть

Идея с пещерой от первого лица так-то отличная (тоже видел в рекомендациях), но боюсь - это пока не мой уровень. Плюс думаю все же это проще сделать через какой-то движок (пример Unity), чем чисто на языке python, а тут был план на простом примере реализовать игру

Согласен, в основном тут просто листинг кода и чуть-чуть описания, также ссылки на сам проект и прошлые статьи

Добрый вечер, не буду врать или отнекиваться, что тут не использовался GPT (будет глупо, тк сейчас почти каждый его использует) - эта статья не исключение. Но могу заверить, что большая часть статьи написано, от руки и текст не исключения (пример можно посмотреть подписание методов, тк одни описанные структурно и красиво, другие на скорую руку - одно предложение)

Также цель статьи другая не в том, чтобы я рассказал о своем коде и какой я молодец, а в том, чтобы кто-то прочитал статью (или хотя бы - заголовок), потом решил, поиграться с проектом и сделал свою игру сапёр с уникальными идеями. Или например: предложил интересную задумку для оптимизации или улучшения кода

Согласен, нейросети действительно могут сгенерировать подобную игру, что печально, но одновременно с этим удивительно.

Моя цель была создать простой и понятный код, который сможет повторить даже новичок, а при возникновении вопросов - обсудить их в комментариях. Да, ИИ может сделать это лучше, но я хотел начать с доступной темы, которую могу объяснить наверняка.

В следующей (и, вероятно, последней) части планирую добавить что-то необычное с использованием нестандартных библиотек - то, что ИИ пока не делает сходу (ну или хотя бы не с двух промтов). Я считаю, что важно не просто получить готовый результат, а разобрать процесс и предложить что-то новое и доступное.

ахахахах хорошая идея, еще нужно, чтобы донат решал все и можно выпускать игру в стим

Согласен, как уже писал выше с этим методом проверки я погорячился, возможно, я его не правильно повторил или не так понял, но на данный момент уже изменил код на более лёгкий и понятный, спасибо за комментарий

Честно говоря не видел эту статью, но я не считаю, что это плохо, а наоборот хорошо, так как в самих правилах хабр написано, что если вы видели похожую статью или информацию, не надо сразу говорить, что скопировал или что-то ещё сделал плохое, а нужно просто посмотреть в ней что-то интересное и уникально, чего не было у другого автора, и написать, что не понравилось и что хорошо получилось, чтобы была инициатива продолжать свой труд.

Я думаю, что это касается и моей статьи, потому что я не говорю, что написал что-то гениально или чего не видел мир, а наоборот, что это один из простых способов написать игру, чтобы каждый мог повторить сам или просто запустить мой код для себя.

А так я рад, что в хабр есть люди, которые стремятся улучшить свой код до идеала и минимализма, как человек, который написал игру в 66 строк.

Согласен с замечанием. Действительно, использование 'магических чисел' снижает читаемость кода и усложняет его поддержку, но как писал в сообщении выше увидел этот способ и решил повторить. Всегда можно использовать простой метод и что будет правильным с точки 'чистоты кода', например вот такой:

Min = 1

MAX = 9

if not (Min <= x <= Max) or not (Min <= y <= Max):

print(f"Координаты должны быть от {Min} до {Max}!")

Ну или что-то похожие

Если говорить честно, то в тиктоке увидел такой метод проверки решил повторить. А если про чатик говорить, то он наоборот всегда пиши самый простой способ.

Полностью согласен, что консольную игру может написать любой, поэтому в заголовке написано игра с нуля версия консоли, насчет GUI, обещаю в ближайшие дни выпустить вторую часть уже как раз с GUI, и буду благодарен, если там тоже оставите комментарий, спасибо!

1 -    Насчет ввода извиняюсь, так как при копирование из строчки в строчку не заметил ошибку в тексте, уже исправил, спасибо (вводить нужно одно число)

2 -  Этот код пытается отсечь крайние значения count_of_bomb.

Если count_of_bomb меньше 1 (40.5 - 39.5 = 1) или больше 80 (40.5 + 39.5 = 80), то условие срабатывает, и такое значение игнорируется, то есть допустимый диапазон для count_of_bomb — от 1 до 80. Согласен, что проще вот так if count_of_bomb < 1 or count_of_bomb > 80, поэтому в финальном варианте оставлю так.

Спасибо за комментарий и если есть еще вопросы или жалобы пишите

Сначала спасибо за комментарий!

1 - Насчет ООП согласен, поставил тэг, потому что хотел написать сразу две сатьи про игру “Сапёр” (консоль и Gui) и в Gui есть немного от ООП, поэтому и добавил, но согласен, что в этой статье его нет, поэтому уже убрал.

2 – Звучит логично и мне нравиться эта идея, поэтому постараюсь в скором времени поменять, но до вашего комментария я даже не думал об этом

3 – Честно, когда писал пришло в голову множество set(), чтобы не было повторов, но сейчас согласен можно и даже лучше использовать словарь. Исправлю!  

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Backend Developer, ML Engineer
Git
Python
OOP