Поиграл == покодил

https://medium.mybridge.co/12-free-resources-learn-to-code-while-playing-games-f7333043de11#.vde4xt38h
  • Перевод
image

Мой рекорд скорости написания кода «на C» был в консоли Quake II. Причем абсолютно без ошибок. В темноте, не глядя, трясущимися руками надо было набрать примерно такое:

bind SHIFT "+snipe"
alias +snipe "sensitivity 2.5; fov 30"
alias -snipe "fov 90; sensitivity 4"

Боги умели прописывать RocketJump.

RocketJump
bind t "superrjr"

bind a "superrjn"

alias superrjr "echo SuperRocketJump enabled; bind a +srj; bind t superrjc"

alias superrjn "echo SuperRocketJump disabled"

alias superrjc "echo SuperRocketJump disabled; bind a superrjn; bind t superrjr"

alias +srj "lookdown1;hand 2;rjump"

alias -srj "lookdown2"

alias lookdown1 "cl_pitchspeed 999999;+lookdown"

alias lookdown2 "-lookdown;cl_pitchspeed 200;-attack;-moveup;wait;wait;wait;centerview;hand 2;cl_maxfps 80"

alias rjump "+moveup;+attack;wait;wait;wait;wait;cl_maxfps 0"

alias +QLD "+lookdown;cl_pitchspeed 999"

alias -QLD "-lookdown;cl_pitchspeed 200"

alias +RocketJump "hand 2;+QLD;wait;wait;+attack;+moveup"

alias -RocketJump "hand 2;-QLD;-attack;-moveup"

alias SuperRocketJump "hand 2;+QLD;wait;wait;wait;wait;+attack;+moveup;wait;cl_maxfps 0;LWX3;cl_maxfps 90;-QLD;-attack;-moveup;hand 2" 


Под катом — подборка дюжины проектов, которые заточены на то, чтобы играючи повысить кодерское мастерство.

Поддержка публикации — компания Edison, которая разрабатывает веб-интерфейс для управления радио-релейной станцией, а так же проектирует и разрабатывает ПО для записи и анализа вариабельности сердечного ритма.

CodinGame


Решаем задачки. Прогаем ИИ ботов. Развлекаемся. Поддержка многих многих языков программирования.


Еще видосы про CodinGame






Code Combat


CodeCombat платформа для студентов, изучающих computer science посредством игры. Активное сообщество, волонтеры создают уровни игры. Поддержка Java, JavaScript, Python, Lua, CoffeeScript.


Еще видосы про Code Combat



Screeps


Изучаем JavaScript играя в первую в мире MMO-стратегию-песочницу для программистов.


Еще видосы про Screeps






Check iO


Check iO — браузерная игра, где надо решать задачки на Python.

image

Еще видосы про Check iO




Vim Adventures


Изучаем Vim играя в игру.


Cyber DoJo


Cyber-dojo тренировочный зал, где оттачивают программистские навыки. Получите черный пояс по JavaScript, Java, Python, PHP, Ruby и пр. (Cyber DoJo используют даже на собеседованиях.)


Open source Link

Еще видосы про Cyber DoJo






Code Monkey


Учим код, пытаясь ловить бананы. Для детишек. Платно.


Elevator Saga


Программируем лифт. Решаем задачки шаг за шагом. Задача #1: Перевезти 15 человек за 60 секунд или быстрее. Open Source Link


Codewars


Достигаем мастерства на «макеварах» и реальных задачах. Поддержка JavaScript, Python, C#, Java, Python и др.

image

Ruby Quiz


Ruby Quiz — еженедельные задачки Ruby-прогеров, по аналогии с Perl Quiz of the Week. Насчитывает 156 заданий.

image

Git Games


Изучаем крутые фичи git scm (source control management). Используйте команды git’а чтобы найти подсказки и решить головоломку.

image

Hacker Org


Hacker.org — это серия головоломок, ребусов и тестов, чтобы проверить ваши хакерские способности.

image
Edison 93,81
Изобретаем успех: софт и стартапы
Поделиться публикацией
Комментарии 41
    +3
    Класс. Удивило появление на checkio платных задач, не заходил туда около полугода.
      0
      Не знал, не знал!
      Спасибо!
        +9
        Shenzhen I/O «симулятор» инженера. Решать задачки относительно просто. А делать решение максимально дешёвым по компонентам уже значительно сложнее.
          +4
          На нём сделали
          игру от первого лица

          О_о
          Завораживает.
          +1
          желающим поиграть в golang: Ссылка
            +3

            Ожидал увидеть TIS-100 и SpaceChem от Zachtronics. Обе "игры" на самом деле про многопоточное программирование ,)

              0

              Так — да не совсем. В том же SpaceChem состояния поля и программы слишком сильно связаны. Все "лучшие" решения в понимании программирования — слишком индусские и работают в сильно ограниченном диапазоне входных данных.

              +3
              Непонятно, зачем набирать «в темноте, не глядя, трясущимися руками», если любые настройки можно было записать в конфиг. Единственное, что нужно помнить:
              exec %configfilename%.cfg
                +2
                Не играли Вы в «клубах», видимо :-)
                  0
                  В клубах…
                  Почти всегда таскал с собой дискету с конфигом. Но не на всех компах были 3.5" или доступ к ним.
                  И иногда уже была середина боя, так что в консоли было быстрее написать, чем конфиг подгружать.
                    +2
                    а что не так? всегда была с собой дискетка с конфигами Q1/Q2/Q3, никогда не отказывали в копировании на комп…

                    Однако ходил к нам пацанчик один, лет 10, так он конфиг ПОЛНЫЙ себе набивал за 5-8 минут! и с даблджампами, рокетджампами и т.п.
                      +4
                      У всех был «такой пацанчик»…
                  +2
                  //Оффтопик по Q2

                  Что то слабенько вы конфигу для Q2 ковыряли:
                  Плавный переход в снайперский режим и обратно
                  // [ Sniper Mode]
                  alias sniper_140to110 "fov 130; wait; fov 120; wait; fov 115; fov 110; bind v sniper_110to090;echo FOV 110"
                  alias sniper_110to090 "fov 105; wait; fov 100; wait; fov 95; fov 90; bind v sniper_090to110;echo FOV 90"
                  alias sniper_090to110 "fov 95; wait; fov 100; wait; fov 105; fov 110; bind v sniper_110to140;echo FOV 110"
                  alias sniper_110to140 "fov 120; wait; fov 130; wait; fov 135; fov 140; bind v sniper_140to110;echo FOV 140"
                  bind v sniper_140to110



                  В то время как на рокетджамп у вас слишком много кода:
                  Рокетджамп
                  // [ Super RocketJump]
                  alias +arj "cl_pitchspeed 9999;+lookdown;+moveup;+attack"
                  alias -arj "-lookdown;-attack;-moveup;cl_pitchspeed 150;centerview"
                  alias js "js1"
                  bind r +arj



                  зыю, базовый фов у меня был 110, а не 90 :)
                    0
                    Не представляю, как можно играть в q2 и q3 с fov, не равным 110.)
                      0
                      играл с 140. На зум ставил 60. Имо идеальная комбинация
                      0
                      Есть еще хитрый лонг-стрейф-джамп прописанный вместо обычного прыжка. Чтоб на q2dm1 за мегахелсом просто допрыгнуть без «диагоналей» и «кивков».
                        0
                        Про фов…
                        Мэджик какой-то, разумом понимаю выгоды 110, но на 90 у меня +30% к мастерству игры. До сих пор загадка.
                          0
                          А у меня такой:
                          set www "wait;wait;wait;wait"
                          set rjump_1 "set freelook 0;set cl_pitchspeed 999;+lookdown;vstr www;+attack;+moveup"
                          set rjump_2 "set cl_pitchspeed 140;-lookdown;set freelook 1;-attack;-moveup"
                          set rjump "vstr rjump_1;vstr www;vstr rjump_2;vstr www;centerview"
                          bind ALT "vstr rjump"
                          

                          Не помню уже, зачем столько вызовов wait.
                            0
                            Не помню уже, зачем столько вызовов wait.
                            чтобы камера успела опуститься/подняться
                            +2
                            раз уж пошло соревнование конфигов Q2 :)
                            У вас отнюдь не супер-рокетджамп. Так, обыкновенный рокетджамп.
                            Вот это супер-рокетджамп. На q2dm1 взлёт с центра арены наверх к лифту и гренадлаунчеру.
                            Super Rocket jump Q2
                            alias LW0 «wait;wait;wait;wait;wait»
                            alias LW1 «LW0;LW0;LW0;LW0;LW0;LW0»
                            alias LW2 «LW1;LW1;LW1;LW1;LW1;LW1»
                            alias LW3 «LW2;LW2;LW2;LW2;LW2;LW2»
                            alias +freeze «set clmfps $cl_maxfps;cl_maxfps 0»
                            alias -freeze «set cl_maxfps $clmfps»
                            alias srj "+lookdown;lw0;+attack;+moveup;lw0;+freeze;lw3;-freeze;-lookdown;-attack;-moveup"
                            bind b srj

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

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

                              а на q2dm1 нужна только для того что бы залезь под потолок над лифтом и там заныкаться в надежде прожить последние секунд 20 раунда, пока у тебя перевес в 1 килл.
                            0

                            CodeCombat, похоже, совсем того. Нельзя войти в уровень, предлагает подписку, от которой не могу отказатся :)

                              0
                              Есть еще такая штука, правда не ради обучения, а ради веселья.
                                +1
                                Очень хорошая подборка, спасибо большое за перевод!!!
                                  0
                                  Есть такая игрушка, Space Engineers. Интересна в контексте топика она полноценным C# в качестве скриптового языка (на основе Roslyn) и продвинутым API.

                                  Есть впечатляющие скрипты для неё, вроде скрипта для управления «рукой»: https://www.youtube.com/watch?v=gN8MqUQBCpw
                                    0
                                    Human Resource Machine — начальный уровень алгоритмов, с декадентским дизайном от Kyle Gabler (World of Goo).
                                      0
                                      Поддержка в игре Haskell заинтриговала.
                                        +1
                                        Забыли про Ultima Online вместе с EasyUO(скриптовый язык для написания ботов) и UOpilot(кликер, можно использовать для чего угодно). На EasyUO сам учился программировать, а вот UOpilot до сих пор юзаю для автоматизации рутинных задач(с его помощью прикупил себе игр на несколько сот баксов в steam, потом стало скучно)
                                          +1
                                          Забыли про прародитель всех мморпг — MUD, где скриптовый язык мог быть ЛЮБОЙ язык, поддерживающий telnet.
                                          Ну и плюс практически каждый клиент поддерживал свои скрипты/алиасы.
                                          0
                                            +1
                                            Есть еще вот такая тема, по мне так вообще топ
                                            https://www.bloc.io/ruby-warrior/#/ на ruby
                                              +4
                                              А есть какая-нибудь статья типа вот этой, но с текстом? При всём уважении к авторам, в списке я вижу четыре проекта, поддерживающих, например, питон, из которых два игры, а два (наверное) скорее сборники задач, плюс один, который поддерживает «многие» языки программирования (хз какие конкретно), плюс (вроде бы) два или три не заточенных под конкретный язык. К тому же непонятно, где хэллоуворлды для детей, а где сеньоры будут неделю репу чесать.
                                                0
                                                Интересно, есть игры на подобии Core Wars — игроки программируют своих ботов на уничтожение друг-друга?
                                                  +1
                                                  Ещё одна игра для инженеров про создание электрических схем.

                                                  EveryCircuit — симулятор, позволяющий моделировать работу небольшой электронной схемы, плюс база данных (БД) пользователей системы и их разработок с возможностями публикации.
                                                  https://www.youtube.com/watch?v=mu_8vs4ZtG8
                                                    +2
                                                    Ещё есть CodeFights — можно играть в исправление багов или написание кода на скорость с друзьями в лайв-режиме, интересные турниры, челленджи, квизы.
                                                      +1
                                                      Спасибо автору за упоминание CheckiO.

                                                      От себя могу добавить еще обсуждение на редите, там в комментах тоже много что интересного можно найти.

                                                      https://www.reddit.com/r/learnprogramming/comments/5g3xgi/anyone_knows_the_name_of_a_website_to_learn_to/
                                                        0
                                                        Только автор не упомянул, что CheckiO тоже платное.
                                                          0
                                                          Бесплатное. Но с платными фичами.
                                                        +1
                                                        Похоже этот пост становится справочником по играм с внутриигровым программированием, которые я очень люблю, и в добрую часть из них играл.
                                                        Добавлю и от себя: Minecraft. Но не «ванильная» версия, а версия с модом OpenComputers. Мод добавляет в игру компьютеры и программируемых на Lua роботов. Мод очень хорошо интегрирован с остальными модами для Minecraft, что позволяет решать с помощью программирования огромное количество задач: от управления нестабильным реактором, до автоматизации фермерства и автопилота для космических кораблей. На хабре уже была статья про этот мод: ссылка.
                                                        Еще в копилку могу добавить менее известную игру: From The Depths. Встроенный язык тоже Lua, сама игра заточена под создание и программирование различной военной техники, с последующей проверкой в боях.
                                                          0
                                                          Если прям уж справочник то забыли упомянуть Colobot
                                                          +1
                                                          Гибрид симулятора хакера и текстовой многопользовательской игры(MUD):
                                                          h a c k m u d

                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                          Самое читаемое