игра - угадай число, на ассемблере gas x86_64
Модератор: Модераторы разделов
-
- Сообщения: 903
- ОС: debian, fedora (i3-wm)
Re: игра - угадай число, на ассемблере gas x86_64
Такие вот мысли. В написании кода стараюсь обходиться локальными переменными, то-есть стеком за исключением строковых ссылочных на речёвки. В переписанной функции по переводу числа в строку передается одним параметром число без возвращаемого значения. Так как регистр 64 битный (8 байт) то максимальное беззнаковое число 2:64-1, а строка ограничивается уже 20 байтами. Поэтому из этой функции строка выводится сразу на печать, Но это не правильно. Я перепишу ее снова. Надо передавать вторым параметром адрес на 160 битную область памяти. Даже можно если эта память будет так же в стеке(или это нонсенс и надо все же выделять память, но не важно), в вызывающей функции. Тогда вызываемая функция конвертации сможет быть полностью модульной.
Спасибо сказали:
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
Когда новая версия игры будет?
Там по цветам / секторам не обязательно делить. Можно диапазон до 76-ти уменьшить ; кол-во попыток две сделать - [чтобы с европейской / американской рулеткой плагиата не было] ; ввод имени ; ставки + счёт "прикрутить" .
Пока так. ...
=> В "кору ГМ" , мисс, записывайте!
Там по цветам / секторам не обязательно делить. Можно диапазон до 76-ти уменьшить ; кол-во попыток две сделать - [чтобы с европейской / американской рулеткой плагиата не было] ; ввод имени ; ставки + счёт "прикрутить" .
Пока так. ...
=> В "кору ГМ" , мисс, записывайте!
-
- Сообщения: 903
- ОС: debian, fedora (i3-wm)
Re: игра - угадай число, на ассемблере gas x86_64
igor@igor
Надо все в порядок привести, потом о нововведения думать. Я займусь рефакторингом, а вы подумайте о ребрендинге
Надо все в порядок привести, потом о нововведения думать. Я займусь рефакторингом, а вы подумайте о ребрендинге
Спасибо сказали:
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
Добавлено (20:45):
Точно! Маркетинговая стратегия такова:разработана удвоенная игровая рулетка нового типа [на 76-ть чисел без разделения по цветам], с двумя попытками на выигрыш..!
...
Ура! Товарищи!
...
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
Игровая рулетка нового типа, не круглой на плоскости, а шарообразной в пространстве должна быть..! Такая фишечка...
Карточек 6-ть с 15-тью правильными ответами... (90 / 15 = 6) . Хотя можно так всё оставить.
Лото как и рулетка - "тупые" игры. Только в лото никакого азарта нет, а в рулетке ещё какой азарт! В одноруком - тоже азарт! Покер - интересно + азарт..!
...
[В лото и домино мне с 5-ти лет разрешали играть В карты нет(]
[Не в тему: подпольно играл конечно в карты на спички / сиги... ]
...
Добавлено (02:05):
Ваша игра, мисс, лото напоминает. Только диапазон с 1 по 90 нужно сделать.Карточек 6-ть с 15-тью правильными ответами... (90 / 15 = 6) . Хотя можно так всё оставить.
Лото как и рулетка - "тупые" игры. Только в лото никакого азарта нет, а в рулетке ещё какой азарт! В одноруком - тоже азарт! Покер - интересно + азарт..!
...
[В лото и домино мне с 5-ти лет разрешали играть В карты нет(]
[Не в тему: подпольно играл конечно в карты на спички / сиги... ]
...
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
Вот ещё идея:
если две попытки оставить на 76-ть чисел, то подсказки, вообще, убрать нужно.
В рулетке ведь никаких подсказок нет...
...
Так, вообще, 5-ть подсказок больно "жирно". Даже, на 100 чисел.
...
Никакого азарта нет, при таком раскладе(((((((
...
если две попытки оставить на 76-ть чисел, то подсказки, вообще, убрать нужно.
В рулетке ведь никаких подсказок нет...
...
Так, вообще, 5-ть подсказок больно "жирно". Даже, на 100 чисел.
...
Никакого азарта нет, при таком раскладе(((((((
...
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
Как Вам идеи, мисс?
Скажите, пожалуйста.
Скажите, пожалуйста.
-
- Сообщения: 903
- ОС: debian, fedora (i3-wm)
Re: игра - угадай число, на ассемблере gas x86_64
git.org.ru не доступен. Зеркало - https://codeberg.org/nez/guess (как вовремя!)
В новом коммите сделала робота тестировкщка на expect. Написала пока в лоб длиннющую портянку. Разбираюсь с циклами, переменными и условиями. Если есть желание присоединяйтесь к написанию робота. Старую репу попробуйте не удалять, а записать новый адрес:
Если у "КОГО" не получится. Просто удалите старый репозиторий и создайте новый:
Ну и 10 пробежек:
Или так, с выводом результатов в статусной строке:
В чем удалось разобраться. Создать счетчик, он будет отвечать в зависимости от номера попытки какой довесок нужен. Например, в первой попытке - счетчик 0 добвляем 50, во второй, счетчик 1 добавляем или отнимаем(more или less) - 25. При задействовании регулярок есть возможность отловить значения в специальные переменные(массив):
$expect_out(1,string) - число(строка) (без него в принципе можно обойтись, потому что мы его вводим, но на всякий случай)
$expect_out(2,string) - значение less или more. В одном блоке expect массив добавляется(лимит 9). В другом блоке - перезаписываются. И
count - счетчик
В новом коммите сделала робота тестировкщка на expect. Написала пока в лоб длиннющую портянку. Разбираюсь с циклами, переменными и условиями. Если есть желание присоединяйтесь к написанию робота. Старую репу попробуйте не удалять, а записать новый адрес:
Код: Выделить всё
cd guess
make clean
git remote set-url origin https://codeberg.org/nez/guess.git
git pull origin master
make
./robot.exp
Код: Выделить всё
git clone https://codeberg.org/nez/guess.git
cd guess
make
./robot.exp
Код: Выделить всё
for i in {1..10}; do ./robot.exp; done
Код: Выделить всё
for i in {1..10}; do ./robot.exp; done |
tee >(awk '/won/ {won++} /lose/ {lose++} END {print "Выиграли:", won, "Проиграли:", lose}')
Добавлено (15:13):
В expect, чтобы организовать работу в цикле надо из вывода программы выбрать число и значение less или more. Вот например как выглядит второй отлов вывода Угадайки (то что написано в лоб):Код: Выделить всё
expect {
"50\r
less\r
enter your number:\r
" {send "25\r"}
"50\r
more\r
enter your number:\r
" {send "75\r"}
"You won!\r
" {exit}
"You lose ~ game over\r
It was *\r
" {exit}
}
Код: Выделить всё
set count 0
...
expect {
-re "^(\[0-9]*)\r
(less)\r
enter your number:\r
" {puts "$expect_out(1,string) $expect_out(2,string)"; incr count; send "25\r"}
$expect_out(2,string) - значение less или more. В одном блоке expect массив добавляется(лимит 9). В другом блоке - перезаписываются. И
count - счетчик
-
- Сообщения: 903
- ОС: debian, fedora (i3-wm)
Re: игра - угадай число, на ассемблере gas x86_64
git.org.ru поднялся. А я уже третью налила...
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
Да я "тормоз" - т.е. медлительный ((((((((((((((((
Пока я Ваш код "вкурю" - т.е. пойму(((((((((((((
Быстрее и проще Вам написать...
Тем более асму не освоил((((((((
Я понимаю, что от задач в программировании нужно отталкиваться, но...
Так что, лучше я пока в "болельщиках" - тестировщиках похожу + идеи по игре предлагать буду. [Правда очень интересно по коду. И желание есть]
...
-
- Сообщения: 903
- ОС: debian, fedora (i3-wm)
Re: игра - угадай число, на ассемблере gas x86_64
Все оказалось гораздо проще в цикле. Но было полезно. Обновила тостера robot.exp. 25 строчек кода осталось! Можно обновлять локальные репозитории.
Спасибо сказали:
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
Ошибка:
Как быть?
Код: Выделить всё
bash: ./robot.exp: /usr/bin/expect: неверный интерпретатор: Нет такого файла или каталога
-
- Сообщения: 903
- ОС: debian, fedora (i3-wm)
Re: игра - угадай число, на ассемблере gas x86_64
Что-то мне все неймется. Уже который раз ветку для редактирования Makefile делаю. Сперва у меня при сборке помещались все объектные файлы вместе с исходниками в директории src. Я подумала что это не правильно и переделала. Теперь они у меня в корне проекта и это мне тоже не нравится. Может их вернуть к сырцам и удалять сразу после линковки? Тоже не дело. ?????????
Я тоже им первый раз пользуюсь и пришлось ставить из репозитория.
Добавлено (19:53):
Надо установить пакет expect:
Код: Выделить всё
sudo apt install expect
Спасибо сказали:
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
-
- Сообщения: 3686
- ОС: Mandriva => Gentoo (~amd64)
Re: игра - угадай число, на ассемблере gas x86_64
Обычно для объектных файлов делают папку obj, там и складывают. А ещё более удобно сделать в корне проекта папку tmp, в ней папку obj и т.д. При переносе проекта на другую машину папку tmp просто не переносим. Заодно и в .gitignore её можно добавить - чтобы не коммитить вместе с исходиками. Проект чище будет.
Спасибо сказали:
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
-
- Сообщения: 903
- ОС: debian, fedora (i3-wm)
Re: игра - угадай число, на ассемблере gas x86_64
Да, переделала все назад. Объектные файлы будут с сырцами, я все равно туда не лазю, запускаю vim и корня с помощью сохранки - файла сессии. Но пока изменения не сливаю, только закомитила в отдельной ветке в локальном репозитории.
Да я думала об отдельной папке и положить туда какую нибудь заметку
Добавлено (20:11):
devilrДа я думала об отдельной папке и положить туда какую нибудь заметку
Добавлено (20:14):
У меня в гитигно добавлены *.o вместе с именем бинарника, на всякий пожарный, а пустую директорию гит не сохраняет
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
-
- Сообщения: 903
- ОС: debian, fedora (i3-wm)
Re: игра - угадай число, на ассемблере gas x86_64
igor@igor
Ну тогда запускайте конвейер, а сами можете заварить чай:
Скопируйте и вставьте к себе в терминал
Можно в конце умножать на 100 сербских данаров:
Ну тогда запускайте конвейер, а сами можете заварить чай:
Код: Выделить всё
for i in {1..10}; do ./robot.exp; done |
tee >(awk '/won/ {won++} /lose/ {lose++} END {print "Выиграли:", won, "Проиграли:", lose}')
Можно в конце умножать на 100 сербских данаров:
Код: Выделить всё
{print "Выиграли:", won, "Проиграли:", lose, "Итог:", won * 100 + lose * -100, "сербских динаров"}
-
- Сообщения: 3686
- ОС: Mandriva => Gentoo (~amd64)
Re: игра - угадай число, на ассемблере gas x86_64
olecya в моих проектах на Qt обычно 100500 cpp файлов (и столько же файлов obj получается при сборке). Ещё moc своих 100500 файлов нагенерит, до кучи. Так что, лучше весь мусор в одной папке.
Опять же, если всё это для обучения другого человека определённому ЯП - лучше сразу делать по нормальному. Имхо.
Опять же, если всё это для обучения другого человека определённому ЯП - лучше сразу делать по нормальному. Имхо.
Последний раз редактировалось devilr 14.03.2023 20:45, всего редактировалось 1 раз.
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
for i in {1..10}; do ./robot.exp; done |
tee >(awk '/won/ {won++} /lose/ {lose++} END {print "Выиграли:", won, "Проиграли:", lose}')
Cкопировал и вставил в терминал... Довольно быстро выполнение происходит.
...
-
- Модератор
- Сообщения: 20999
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: игра - угадай число, на ассемблере gas x86_64
Ни разу такого не видел.
А что, qmake не умеет out-of-source build?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 3686
- ОС: Mandriva => Gentoo (~amd64)
Re: игра - угадай число, на ассемблере gas x86_64
Тут на вкус и цвет. Часто эта папка называется build. Допустим, для проектов на AS.
Бывает, что делают её невидимой.
Умеет, если "птичку отметишь". Но, лично я предпочитаю отдельный, свой каталог. Обычно в /dev/shm
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
А дальше?
Смысл мне конвейер гонять со скриптом robot ?
Что-то сложности в игре почти не прибавилось(
...
Смысл мне конвейер гонять со скриптом robot ?
Что-то сложности в игре почти не прибавилось(
...
Добавлено (21:25):
Или я "туплю" как всегда?-
- Модератор
- Сообщения: 20999
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: игра - угадай число, на ассемблере gas x86_64
Ну я довольно много чего видел, чтобы усомниться, что такую практику можно назвать обычной.
Добавлено (22:16):
ActionScript?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 3686
- ОС: Mandriva => Gentoo (~amd64)
Re: игра - угадай число, на ассемблере gas x86_64
Android Studio
Добавлено (22:19):
Обычная - штука довольно субъективная. Для Вас - необычная. Для меня - обычная. И частая. Можете считать это параллельными вселенными.Bizdelnick писал: ↑14.03.2023 22:14Ну я довольно много чего видел, чтобы усомниться, что такую практику можно назвать обычной.
-
- Модератор
- Сообщения: 20999
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: игра - угадай число, на ассемблере gas x86_64
А. Предлог «на» совсем не позволяет подумать, что речь о IDE.
Добавлено (22:21):
Да, я догадался, что «птички» в qmake — это что-то из параллельной вселенной. ☺
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 3686
- ОС: Mandriva => Gentoo (~amd64)
Re: игра - угадай число, на ассемблере gas x86_64
Русский - не мой родной. К тому же, каждый понимает в меру собственной испорченности.
Добавлено (22:24):
Так, "out-of-source build" - это "фишка" IDE, а не инструментов типа qmake. К тому же, опять же, на вкус и цвет все фломастеры разные - кто-то собирает из консоли, а кому то нравится мышкой елозить. Каждому - своё.Bizdelnick писал: ↑14.03.2023 22:19Да, я догадался, что «птички» в qmake — это что-то из параллельной вселенной. ☺
-
- Сообщения: 1424
- ОС: Debian GNU/Linux, wheezy-amd64
Re: игра - угадай число, на ассемблере gas x86_64
Инструкция + скрипт, который "допилил"
Код: Выделить всё
cd guess
./g_13.bash
#!/bin/bash
#Ver. 0. 20230315 Скрипт g_13.bash - ГСЧ для выигрыша / проигрыша.
for i in {1..76}; do ./robot.exp; done |
tee >(awk '/won/ {won++} /lose/ {lose++} END {print "Выиграли:", won, "Проиграли:", lose, "Итог:", won * 100 + lose * -100, "сербских динаров"}')
#Ver. 0. 20230315 Скрипт g_13.bash - ГСЧ для выигрыша / проигрыша.
Добавлено (01:06):
Скрипт отдельно:Код: Выделить всё
#!/bin/bash
#Ver. 0. 20230315 Скрипт g_13.bash - ГСЧ для выигрыша / проигрыша.
for i in {1..76}; do ./robot.exp; done |
tee >(awk '/won/ {won++} /lose/ {lose++} END {print "Выиграли:", won, "Проиграли:", lose, "Итог:", won * 100 + lose * -100, "сербских динаров"}')
#Ver. 0. 20230315 Скрипт g_13.bash - ГСЧ для выигрыша / проигрыша.
Последний раз редактировалось igor@igor 15.03.2023 01:09, всего редактировалось 1 раз.
-
- Модератор
- Сообщения: 20999
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: игра - угадай число, на ассемблере gas x86_64
В смысле? Всё, что делает для этого IDE, это запускает систему сборки (qmake в данном случае) не в каталоге с исходниками, а в другом. Способен ли сборщик сделать в таком случае что-то разумное, уже от него зависит.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |