A downloadable game

Консольная игра в Linux

Главная идея — игрок тренируется в наборе текста, соревнуясь с самим собой.

I этап

Игрок выступает в роли персонажа, обозначенным, как (U). 

На экране текст для набора на клавиатуре и персонаж. (U) расположен в левой части экрана. Игрок начинает набирать текст и с каждым символом персонаж перемещается на один шаг вправо. 

Ошибка в наборе текста штрафуется секундной паузой.

Задача (U)  — добраться до финиша как можно быстрей.

II этап

В чем заключается соревнование?

Игра запоминает до 4х лучших прохождений, и при последующих наборах одного текста, игрок будет видеть на соседних дорожках свои предыдущие лучшие прохождения, обозначенные как (A), (B), (C) и (D). Иными словами, игрок соревнуется с собой из прошлого.

Примечание: в команде запуска программы надо передать параметром текстовый файл с текстом для набора. 

Для каждого текстового файла будет запоминаться 4 прохождения в динамике. Т.е. не время прохождения, а сам процесс движения.

Тексты можно самостоятельно подготовить, чтобы, например, потренировать определённые слова. Или играть частотностью тренируемых слов в тексте.

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

Download

Download
keyzz-1.0.3.zip 132 kB
Download
keyzz_1.0.3_amd64.deb 217 kB

Install instructions

Terminal game to practice keyboard typing. It's a runner. The idea is to be faster than you were before. Up to four of your previous tries are visible, so you can see your rivals.

How to install and run

  1. Download deb package.
  2. Install: sudo apt install ./keyzz_x.x.x_amd64.deb
  3. Run: keyzz <text file>

How to build

To be installed

CXX

sudo apt install cmake build-essential libncurses5-dev 

cpplint installation (optional)

sudo apt install python3-pip pip3 install cpplint 

Restart computer or source the .profile file.

Build

Download source code

cd <source code directory>

Debug version

mkdir debug
cd debug
cmake -DCMAKE_CXX_CPPLINT=cpplint -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
cmake --build .
cd ..
ln -s debug/compile_commands.json compile_commands.json
./debug/keyzz/keyzz 

A special comment on -DCMAKE_EXPORT_COMPILE_COMMANDS=ON and ln -s ... lines. These lines are optional and made to tell YouCompleteMe vim plugin how to build the project.

Release version

mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=Release ..
or
cmake -DCMAKE_CXX_CPPLINT=cpplint -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
./keyzz/keyzz