bash.im ithappens.me zadolba.li

Игры

641

Шаг влево, шаг вправо…

Дело было давно, когда я только учился программировать. Один баг запомнился особенно. Решил написать игру в шашки. Ну, сделал поле, расставил шашки, объяснил компу основные правила – куда ходить, как есть, как ходить нельзя и т.д. Мой ход, ход компа – и на цикл.

Стал тестировать – играть. Сначала, вроде, всё нормально: комп примитивно играет, но правильно. Вдруг замечаю, что шашек компа становится всё меньше (я столько не съедаю). Задумался… А, хрень какая-то, играем дальше. Через несколько ходов мои шашки стали тоже исчезать, причём в тылу, а на их месте стали появляться шашки компа! Ничего не понятно!. Несколько прогонов – то же самое.

Когда разобрался, выяснил: так как компу было прописано «ходить вперёд на соседнее свободное место» (по правилам шашек), то он просто уходил за край доски – там же препятствий нет! У меня прорисовывалось только поле шашек 8х8, а его шашки уходили на 0-й, 9-й, 10-й столбец массива. Потом коварно, из невидимости, у меня в тылу ел мои шашки по всем правилам «если рядом наискосок вражеская шашка, и за ней – пусто, то надо есть».
Исправил сей баг по-русски: чтобы не писать везде в коде ограничения по координатам, просто расширил массив (-2 to 11)х(-2 to 11) и все неотображаемые клетки вокруг игрового поля забил тройным рядом своих шашек. Теперь шашки компа за край не совались – занято!

605

А счастье было так возможно!

Была одна забавная история. Учился я тогда на первом курсе, и был у нас в группе один достаточно умный и усидчивый парень. Тогда нам преподавали паскаль, и была такая возможность - придумать себе сложное задание на целый семестр и в конце его сдать - уже на оценку в зачетку. Этот парень решил сделать игрушку. Он использовал графику, у него в игре работала мышка, да и сама игрушка была вполне ничего, что-то вроде легендарной Lines.

И вот во время сдачи он предлагает нашему любимому преподавателю информатики с ним сыграть - естественно, на пятерку. Преподаватель немного подумал и согласился. Соперники по очереди выстраивают линии. Препод начинает серьезно проигрывать, и ему это не нравится. Наконец парню остается всего два хода для победы.
- И все-таки, вы поставите мне отл, - говорит студент, выставляя предпоследний кружочек.
- Нет, не поставлю, - с раздражением в голосе говорит препод, наводит стрелочками на клавиатуре шарик, тыкает enter, и...
Критикал эррор!

Лицо студента было ужасно. Он еще несколько дней искал багу... Так и не нашел вроде, хотя тут я уже не уверен.

594

Ни одно доброе дело не останется безнаказанным

На старой работе пристрастился к DotA-моду Warctaft III, где ты управляешь одним-единственным героем. Когда ничего больше делать не хочется, я захожу поиграть на публичном сервере. Собрал мощный геймерский компьютер, покупая детали где придётся - там материнку и память, там процессор с блоком питания... Компьютер работал, но изредка уходил в блускрин (впоследствии выяснилось, что виновата память одного известного производителя).

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

А теперь представьте себе, как это выглядит со стороны. Некто %username% восстанавливает убегающему врагу 100% жизни и сразу после этого выходит дисконнектом!
P.S. Бана, вроде, не последовало.

593

Зависание с песней

Когда мобильные игры достигли запредельной жирности, "сверху" появилось требование: игра должна работать из-под браузера. То есть загружаешь её через WAP, на вопрос "Запустить?" отвечаешь: "Да", и она должна запускаться и не зависать. Впоследствии опомнились: браузер отъедает столько памяти, что игра получится кастрированной! Но делать что-то надо...

Программисты придумали вот что. Появляется заставка: "Если игра зависла, выйдите из браузера и закройте ненужные программы". Затем выделяется большой блок памяти. И только если память удачно выделилась, возвращаем её и загружаем собственно игру: графику, звуки и всё остальное. А если нет - игра зависает на этой самой заставке.

539

Почти взаправду

Работал я одно время в Политиздате при ЦК КПСС "инженером" (профессии "сисадмин" тогда еще не было) и, поскольку все крутилось достаточно стабильно, я, а также мой непосредственный начальник коротали день, гоняя "Принца". Того самого, первого. И гоняли его так упорно, что уходили не в конце рабочего дня, а часов в десять вечера, когда здание на сигнализацию ставить надо было.

Однажды вечером уходим домой, идем к лифту. Свет в коридоре уже давно выключили, только на стене через какой-то интервал висят ночники, типа аварийного освещения, еще и подмигивают, на полу коридора - паркет. Мы поворачиваем за угол и видим, что в одном месте паркет вспучился и частично рассыпался. Днем протечка была из сортира. Не сговариваясь, мы совершенно синхронно разбегаемся и перепрыгиваем через это место с вытянутыми вперед руками. Потом останавливаемся у лифта и начинаем ржать.

451

Смертельное противостояние

Вдогонку к истории #363.

Товарищ мой, в бытность студентом старших курсов работал ночным охранником в салоне красоты. "Спал за деньги", как он сам это называл. Салон достаточно модный был по тем временам, и на ресепшене стоял новенький пенек. Естественно, товарищу по ночам заняться особо нечем: поспать, книжку почитать - и все, это быстро надоедает. И решил мой друг поиграть на пеньке. Но, установленная "Quake3" была довольно быстро обнаружена, и парень схлопотал выговор от начальства: "Мы там пароль поставили, так что не поиграешь теперь".

На следующий день ярлык "Q3" снова красовался на рабочем столе. Опять последовал выговор, удаление "Q3" и смена пароля. Через неделю "администратор" компа не выдержал и выпытал у товарища, как же тот узнавал пароль. Друг, по доброте душевной, открыл ему новость, что есть такая вещь, как WinPE, которая на тот момент только-только появилась. Администратор подумал немного и заявил, что в этот раз он поставил пароль на БИОС, и теперь мой друг точно ничего не сможет.

На утро пароля на БИОСе уже не было, зато на рабочем столе лежали ярлыки "Q3", "Героев 3" и кучи всего... Когда друг в очередной раз отрыл глаза "администратору", что на компьютерах еще и БИОС сбросить можно, начальство решило, что им такой умный охранник не нужен.

424

Делу - время, а потехе - час

Служу в войсках на админской должности. Сижу в отдельной комнате, она же серверная.

И вот как-то забегает ко мне начальник по финансовой части, весь в мыле, орет с порога, дескать, в части ревизия, все задолбали, дай-ка я у тебя тут спрячусь. Ну я ему: "Не вопрос, прошу за комп, поиграйте в игры какие-нибудь, в интернете посидите...". Стоит отметить, что мой комп - единственный под убунтой в части, на остальных XP. Начфин как в игры залез, как увидел что там делается... И маджонг тебе тут, и шахматы, и тетрис, и шарики по 5 в линию, и бог знает что еще! Видно, сапер и пасьянс "Косынка" уже надоели, сил нет, а тут все-таки разнообразие. Начфин радовался, как ребенок, заливисто хохотал и совсем забыл про ревизию. Как говорят, заигрался.

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

399

От него кровопролитиев ждали, а он чижика съел

Было это во времена ZX Спектрумов, отечественных Компаньонов и Дельта-С. О последних речь и пойдёт.

Как-то, ещё учась в последних классах школы, я взял у приятеля такой компьютер поиграться, он им все равно не пользовался. Ну взял, поигрался неделю и тоже как-то подзабросил. Приходит ко мне другой приятель, видит комп и просит погонять.
- Бери, - говорю, - но осторожно, он не мой.
Окей, берёт и уходит. На следующий день звонит в панике - спалили нахрен. Мне плохеет. Говорю, чтоб срочно нес сюда.

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

От безысходности раскручиваю его, параллельно разогревая паяльник. Окидываю взглядом плату и понимаю, что паять тут нечего. Разве что вот этот большой кондёр поменять. Меняю. Включаю. Работает. Все выдыхают...

377

Бессмертный тетрис

Случилась эта история лет 10 назад во времена учебы в радиоинституте города Рязани. Был на кафедре САПР лаборант, в чью обязанность входило включать компьютеры, наблюдать, чтоб народ не баловался и все такое. Сам он был весьма чудным малым, и взяли его исключительно из-за папы, т.к. в компах он не особо понимал.

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

Далее началась эпопея борьбы с тетрисом. Сидит парень, играет, видит, что подгребает лаборант, встает и идет курить. Тот подходит, смотрит, что игра запущена, щелкает по крестику, чтоб закрыть. Игра вроде как на паузу встала. Еще раз щелк по крестику - ноль эмоций. Лаборант, ничего не понимая, садится за комп и начинает усердно пытаться закрыть прогу. Все с интересом наблюдают за его действиями. Минут через пять лаборант решает перезагрузить комп - игра снова запущена. Он уже конкретно впадает в ступор, все попытки закрыть прогу не приводят к результату. Минут через десять его озаряет: он лезет в настройки экрана и убирает заставку, затем с чистой совестью перезагружает комп. Естественно, тетрис на старом месте, но уже вся аудитория открыто потешается над лаборантом. В итоге, неубиваемый тетрис был удален автором ровно через неделю, на следующей лабе.