Вы также можете использовать модуль python file_read_backwards
.
После его установки через pip install file_read_backwards
(v1.2.1) вы можете прочитать весь файл в обратном направлении (по линии) в памяти способ через:
#!/usr/bin/env python2.7
from file_read_backwards import FileReadBackwards
with FileReadBackwards("/path/to/file", encoding="utf-8") as frb:
for l in frb:
print l
Он поддерживает кодировки «utf-8», «latin-1» и «ascii».
Поддержка также доступна для python3. Дополнительную документацию можно найти на странице http://file-read-backwards.readthedocs.io/en/latest/readme.html
Я играл в RoboWar, но игра-программист, которую я помню на Mac, была Chipwits . Он вышел в 1984 году. Полностью графичный, но занимательный. Судя по тому, что я видел в Lego Mindstorms, стиль программирования похож.
Чтобы найти современный эквивалент, ознакомьтесь с CodeRally , это задача программирования Java, в которой вы пишете класс для управления гоночной машиной. Автомобиль едет по трассе, пытаясь попасть в контрольные точки, заправляя бензин при низком уровне топлива и избегая препятствий. Думаю, в соперников можно забросать покрышками. Вы можете провести турнир с несколькими игроками, отправляющими код на центральный сервер.
На странице поддержки старших классов IBM есть несколько других программных игр, в том числе Робокод , о котором уже упоминали другие. .
Другая игра в этом ключе - Omega Origin . Резервуары строятся в рамках бюджета, а затем пользователь программирует их на языке, подобном BASIC, с помощью структурированного редактора. Танки сражаются на полях с разным рельефом.
Одна интересная историческая игра - старая Robot Odyssey , который, по сути, был игрой, в которой вы программировали роботов, создавая логические схемы из ворот и шлепанцев. Я отчетливо вспомнил об этом, когда десять лет спустя брал настоящие уроки EE.
AI Bots II - это игра для программистов. Вместо того чтобы непосредственно играть в игру, игроки должны написать для этого программу.
Есть арена, на которую загружаются две команды игроков (называемых ботами). Каждой команде нужна одна программа, несколько экземпляров которой будут управлять каждым игроком этой команды. [...] Вы пишете свою программу на языке C/C++. Ваша программа запускается параллельно с игрой.
(скопировал это описание прямо с домашней страницы игры)