Комментарии 26
Будем использовать PyTorch и NumPy. Можно было использовать даже какую-то одну из библиотек, но у PyTorch прекрасное Tensor API, а в NumPy есть хорошая функция под названием
unravel_index
, которую мы и будем использовать.
С таким же успехом можно было бы написать свою библиотеку для работы змейки и вызывать ее одной строкой.
А что будет если она себя укусит?
Игра прервётся, пройгрышь :)
Йгра тогда уж :)
Мне вот одно не ясно, вы и дата-сайнтист и аналитик и автор и питона вон знаете как своего, но отчего вы не в состоянии в браузере увидеть красную волнистую линию под словом и ради вежливости к читателям (хотя бы так) не нажать правую кнопку мышки и не исправить ошибки?
Ну и конечно вот правильный вариант "Игра прервётся, проигрыш :)"
У меня в мобильном браузере нет правки орфографии :(
Поторопился, написал криво, бывает) Ничего особо страшного в этом нет. Не в ваших же комментах теперь ошибки править)
Кстати, оставлять доброжелательную критику без примеси токсичности - отличный навык, рекомендую ^_^
У меня в мобильном браузере нет правки орфографии :(
А, ну ок, только отмазку принять всё равно не смогу, так как в телефоне при наборе движением телефон сам подставляет слова из словаря, так что чтобы написать неправильно вы должны сознательно нажать на "й" и "ь", то есть результат ошибки это не опечатка.
Ничего особо страшного в этом нет
Воспитание и уважение к собеседникам вы называете простым словом "ничего". Ну в общем-то ожидаемо от современных людей.
Не в ваших же комментах теперь ошибки править
Ну если бы вы написали "выигрышь", то я бы вполне стерпел бы такое, ну подумалось вам что там мягкий звук. Но вставленная "й" расставляет все точки над "i".
Кстати, оставлять доброжелательную критику без примеси токсичности
А я не верю в перевоспитанию взрослых, только токсичность может заставить измениться, так как доброжелательность не будет мотиватором.
И смотрите как у нас вышло, вы безграмотный, но доброжелательный, а я токсичный и недоброжелательный - как вы лихо знаки поменяли и я уже тут плохой, обижаю почём зря людей.
Вас понял, спасибо за критику :) Отлично, что лучше менять знаете, как именно я набирал текст)
У вас примерно миллион запятых в комментах пропущено, ошибок на предложение ещё больше, но далеко идущих выводов об уважении и безграмотности, конечно, на этом основании никто делать не будет)
Ничего, будем вместе повышать грамотность тогда ^_^
У вас примерно миллион запятых в комментах пропущено
Не миллион, а ровно столько, сколько не влияет на понимание написанного.
ошибок на предложение ещё больше
Буду рад услышать конструктивные указания на ошибки, конечно с цитатами.
Например это "А я не верю в перевоспитанию взрослых" - опечатка, а не ошибка. Надеюсь вам не нужно читать лекцию о разнице в опечатках и ошибках?
но далеко идущих выводов об уважении и безграмотности
Ну выводы делаются не просто на факте самих ваших ошибок, а и на отношении к ним. Если вы уж такой позитивный балагур, то вполне могли написать "каюсь, невнимательно, по безграмотности, тыкал на кнопки, не проверил набранное и отправил. Сути это не изменит, но хотя бы даст понять что вы осознаёте происходящее и понимаете отрицательный эффект сделанного вами.
Отлично, что лучше менять знаете, как именно я набирал текст)
Методом исключения. ПК мы исключили, а на мобилке вы или тыкаете по буквам или водите линиями, так как при вождении линиями телефон вставляет правильные слова, то вы набирали по буквам, а значит и сами принимали решение на какую именно букву нажать. Буквы "и" и "й" находятся в разных частях клавиатуры, а "ь" вы либо знаете где ставить либо не знаете. Вы не знаете. Не нужно быть Холмсом чтобы сделать выводы.
Ничего, будем вместе повышать грамотность тогда
Книжки читайте побольше, а не залихватский твиттер и будет у вас "насмотренность" на грамотное написание слов, это самый простой способ, даже правила учить не нужно.
Я аж зарегистрировался от такого количества снобизма и напыщенной самовлюбленности.
И смотрите как у нас вышло, вы безграмотный, но доброжелательный, а я токсичный и недоброжелательный - как вы лихо знаки поменяли и я уже тут плохой, обижаю почём зря людей.
Так ведь все правильно. Вы с чего-то взялись "перевоспитывать" токсичностью человека из за ошибки в правописании, а теперь ещё и смеете себя жертвой выставлять. Вы может воспитатель или учитель, проецирующие проблемы в школе на окружающий мир. Мне не иронично интересно сколько вам лет и кем вы работаете. И к стати, орфография ни в коей мере не показывает воспитанности человека. В первую очередь важно отношение к другим людям. Если человек оконфузится в публичном месте, воспитанный человек спокойно отреагирует. А не начнет как хабалка орать о невоспитанности.
Я аж зарегистрировался от такого количества снобизма и напыщенной самовлюбленности
Не вижу ни грамма снобизма, так как я претендую ни на одну из его характеристик.
И не вижу какого-то самолюбования, я только привёл факты человеку, который до сих пор не понял о чем ему говорят.
Вы с чего-то взялись "перевоспитывать" токсичностью человека
Ну я не идеален
из за ошибки в правописании
Не нужно быть Холмсом и в вашем случае, чтобы понять, что вас устраивает такое отношение в обществе когда все пишут как куры лапой, ведь речь не о какой-то опечатке или ошибке, а о концептуальном системном небрежном и наплевательском отношении к качеству собственных слов.
а теперь ещё и смеете себя жертвой выставлять
Так автор абсолютно не считает себя неправым, то есть я мог бы взять на себя вину за резкость и извиниться, если бы автор проявил хоть какую-то заинтересованность в исправлении. Но нет, у него это хахашечка.
Вы может воспитатель или учитель
Даже не близко, хотя долго работал в образовательной сфере.
Скажу больше, я школу закончил еле-еле по русскому на 3 и потратил немало усилий чтобы увеличить и словарный запас и улучшить правописание и никогда в жизни не считал ни одного человека, указывающего на мои проблемы с языком - токсичным. И уже к концу обучения в ВУЗе я изменился в этом плане на порядки. В основном чтение книг и большое количество рукописных работ. И - Слава учителям, даже на математике лабу могли завернуть если в оформлении есть ошибки, с математикой не связанные. А сегодня тот же Хабр больше чем наполовину состоит из людей с дипломами, но с правописанием на уровне 5-6 класса. Лично вас, как я понимаю, такое устраивает. Ну ваше право.
Мне не иронично интересно сколько вам лет и кем вы работаете
49 лет, конкретно сейчас - самозанятый, всю жизнь официально работал в ИТ. Два высших образования.
Не особо ясно только как эта информация на что-то влияет - грамотность она же не про дипломы и профессию. А вот обратное, как раз - обязательно.
И к стати, орфография ни в коей мере не показывает воспитанности человека
Но показывает невоспитанность. Тут момент в том, что если я сознательно не делаю оформлять свой текст удобным для чтения, то я, опять же - сознательно, посылаю всех читателей в известное пешее путешествие. То есть пусть кто-то разгребает словесные помои, главное же ляпнуть с мобилы какую-то дичь. Так?
В первую очередь важно отношение к другим людям
Безусловно. Я об этом и говорю. Когда вы пишете "выйгрышь" будучи образованным по диплому, а на указание об этом реагируете хахашечками, то да, вы выказываете своё отношение к другим людям.
Замечу, я весьма терпим ко многим условностям, присущим Интернету, то как написание первой буквы предложения с маленькой или более редкую пунктуацию (главное чтобы не получалось "казнить нельзя помиловать"), но весьма негативно отношусь к тем, кто например не ставит знак вопроса. Из-за этой дичи доходит до абсурда - мои утвердительные слова в переписке люди воспринимают как вопрос. Жуть.
Если человек оконфузится в публичном месте, воспитанный человек спокойно отреагирует
Оконфузиться, это на вопрос "что делает?" написать "ться". А тут другое, тем более сам человек следом накомментировался так, что речь про конфуз вообще не идёт.
И о реакции автора я уже написал, её не последовало. Так что проблема есть.
А не начнет как хабалка орать о невоспитанности.
Ну вот, вы себе уже позволяете меня оскорблять, так как очевидно что я не ору и я не хабалка. Как минимум вы не соответствуете собственному определению воспитанного человека. Двойные стандарты?
Вы вот даже пять кварталов за мной бежали чтобы сказать как я вам безразличен, хотя "как воспитанный человек должны были отреагировать спокойно". Как-то не вяжется ваш концепт и тон с тем, что вы пытаетесь меня заставить делать.
Оконфузиться, это на вопрос "что делает?" написать "ться".
Глагол будущего времени. Человек "что сделает" в общественном месте.
Не вижу ничего плохого в том, чтобы указывать человеку на ошибки в написании, но старайтесь делать это хотя бы правильно.
Соглашусь, сам поразился тому, что человек пишет безграмотно, но докопался на несколько простыней до человека, за одну орфографическую ошибку. ¯\_(ツ)_/¯
Надеюсь, автор не воспримет этого клоуна в серьёз и будет дальше писать статьи как ему захочется.
Да, кстати, а представьте я бы написал статью, где у меня был бы код на питоне (как принято выражаться "говнокод"), поверьте, сожрали бы с потрохами за каждый символ и разговор про токсичность не помог бы. А тут, фи, подумаешь, какой-там русский язык... явно не питон.
Интересный метод
Надеюсь что в пайтоне можно убрать все переносы и получится код максимально в одну строку
Класс, только начинаю учить питона, было интересно почитать, буду дома попробую сам потыкать кнопки
А не проще ли было написать: rotation = T([[0, -1], [1, 0]])**(3 + action)
Нет, ** - это поэлементное возведение в степень, а не матричное умножение. Так змейка сойдёт с ума :(
Да, Вы правы. Никак не привыкну (после Julia) к поэлементности некоторых операций Python с объектами. Попытался запустить игру на своём "зоопарке" микрокомпьютеров -- после установки (в разные версии систем) python3-torch -- и обнаружил, что .matrix_power() работает так, как написано в коде, далеко не везде (иногда не запускается из-за неправильного типа параметра).
Сначала синтаксической правильности обсуждаемой строки удалось добиться этой поэлементной версией возведения в степень, но играть в таком варианте действительно было невозможно :(. После некоторых размышлений понял, что заставить код работать везде (и одинаково) проще (только для двухклавишного взаимодействия!) увеличением количества строк (хотя это и можно записать одной длинной строкой):
if action == 1:
rotation = T([[1, 0], [0, 1]])
else:
rotation = T([[0, -1], [1, 0]]) if action else T([[0, 1], [-1, 0]])
мне кажется, что все статьи типа "как сделать %app_name% на python" выглядят как:
-import библиотека1, 2,3
библиотека 1,2,3 doSomething()
ура, у нас получилось %app_name%
Кстати во многих реализация змейки (игры) если пойти в самого себя то погибаешь как и при укусе своего тела, но многие варианты просто не позволяют так ходить.
Создание простенького графического интерфейса будет стоить нам ещё 15 строк
беспощадный кликбейт
Пишем «Змейку» в 12 строк кода на PyTorch