LINUX.ORG.RU
ФорумGames

Нумеромания (игра на bash)

 ,


0

1

Вот сама игра:
https://pastebin.com/v7zEsqTi
Как играть:

  • 1. Добавляем в файл users.txt запись формата:
    user password [attr]
    
    где user - пишите имя пользователя,
    где password - пишите пароль,
    где attr - пишите атрибут, который хотите пользователю присвоить. Доступны следующие атрибуты:
    C - разрешить использование читов
  • Вводите имя пользователя и начинайте играть.

Для пополнения баланса запишите сумму, которую вы хотите положить, запишите в pipe канал /tcp/num_p. (Этот pipe канал появляется тольки при пополнении баланса.). Также в игре есть магазин, которые можно отредактировать под собственные нужды.

Правила игры:
Во время игры вводите случайные цифры, запрещенно вводить одни и те же цифры.

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 1)

запрещенно вводить одни и те же цифры

Почему?

conformist ★★★
()

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

А если введу?

proud_anon ★★★★★
()

Запустил игру, ввёл два раза 777 и из ноутбука пошёл зелёный дым. Это нормально?

Allakka ★★★★
()

Посоны не качайте, там вишмастер! Пишу с игрового автомата.

Deleted
()

https://pastebin.com/v7zEsqTi

Феноменально все! В частности, «выйгрыш» вместо «выигрыш» и лапша наподобие

if [ "$U" == "$(cat $USERS_LIST|grep -w $U|awk '{print $1}')" ]
then
    auth=true
else
    echo "ОШИБКА: пользователь не найден."
    exit 1
fi

if [ "$P" == "$(cat $USERS_LIST|grep -w $U|awk '{print $2}')" ]
then
        auth=true
else
        echo "ОШИБКА: пользователь найден, но неверный пароль."
        exit 1
fi
 
if [ "$(cat $USERS_LIST|grep -w $U|awk '{print $3}')" == "C" ]
then
        CHEAT=true
else
        true
fi
вместо
read user password cheat <<< $(grep -w "^$U" "$USERS_LIST")
[ "$U" == "$user" ] || {
    echo "ОШИБКА: пользователь не найден.">&2
    exit 1
}
[ "$P" == "$password" ] || {
        echo "ОШИБКА: пользователь найден, но неверный пароль.">&2
        exit 1
}
[ "$cheat" == 'C' ] && CHEAT=true # Или просто заменить ниже "$CHEAT" == "true" на "$cheat" == 'C'
.

dexpl ★★★★★
()
       echo "Ошибка: не задан алгоритм выйграша и пройграша."

Сделал мой день
anonymous
()

вводите случайные цифры, запрещенно вводить одни и те же цифры.

Всего 10 ходов?

ya-betmen ★★★★★
()
Ответ на: комментарий от dexpl

вместо
read user password cheat <<< $(grep -w «^$U» «$USERS_LIST»)

Ну да, ну да...

echo "aa" | grep '^a'
aa
Желание впендюрить побольше башизмов отключает понимание и знания. Хотя всего-то надо поставить while и целый grep с fork-ом пропадает.

vodz ★★★★★
()
Ответ на: комментарий от dexpl

Знаешь, для чего нужна опция -w у grep(1)? А туда же…

Не обратил внимания, но не важно:

echo "user " | grep -w '^user'
user

vodz ★★★★★
()
Ответ на: комментарий от vodz

echo «user » | grep -w '^user'
user

То есть ровно то, что требуется: записи в $USERS_LIST имеют вид user password либо user password cheat.

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

То есть ровно то, что требуется:

Я о том, что если вы показываете «улучшения», то они должны быть универсальные, без изъянов. Ваш grep этим не обладает и вообще там не нужен. Про замену if на { } || — вообще идиотизм.

vodz ★★★★★
()
Ответ на: комментарий от EXL

Зачем? Набыдлокодить можно на чём угодно...

Deleted
()

На говнокод.ру неси, зачем сюда принёс.

ashot ★★★★
()

Это ..здец. Спасибо, у меня все :)

joy4eg ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.