|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
||||||
Консольная змейка25.10.2018, 14:50. Показов 2287. Ответов 26
Метки нет (Все метки)
Помогите найти ошибку в игре (консольная змейка), при съедании яблока количество прибавляется не на единицу а некоторое количество яблок.
Если быть точным, значение количества единиц длины змейки увеличивается на 40 пару раз, через пару-тройку раз значение продолжается увеличиваться на 1.
0
|
||||||
| 25.10.2018, 14:50 | |
|
Ответы с готовыми решениями:
26
Создание Автопоиска в игре Змейка (С++) Консольная змейка Консольная змейка |
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
|||||||||||||||||||||||||||||
| 25.10.2018, 15:19 | |||||||||||||||||||||||||||||
man printf
Да, и чем вас не устроили putchar(), printf("\04")?
![]()
1
|
|||||||||||||||||||||||||||||
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
|
| 25.10.2018, 15:26 [ТС] | |
|
COKPOWEHEU, спасибо, есть от чего оттолкнуться. Этот код один большой костыль, много аспектов решалось с помощью неактуальной информации, для этого и существуют специалисты на форумах ;-) .
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
|
| 25.10.2018, 18:16 | |
|
Не сказал бы что "один большой костыль". Структура вполне прослеживается, взаимодействие частей вполне логичное (не везде, конечно).
Поскольку запустить вашу программу не представляется возможным из-за завязки на WinAPI, подсказать собственно по вопросу вряд ли смогу, придется вам ковыряться в отладчике, добавлять вывод контрольных точек и тому подобное.
0
|
|
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
|
| 25.10.2018, 19:01 [ТС] | |
|
COKPOWEHEU, всё же вы направили на некоторые исправления, спасибо за помощь.
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
|
| 26.10.2018, 09:59 | |
|
Ну так исправляйте. И еще раз рекомендую переписать на curses. Между прочим, неплохой опыт в разделении программы на составные блоки: можно вынести всю работу с (псевдо)графикой и вводом в отдельный класс или модуль, чтобы при желании потом поменять, скажем, на OpenGL, не меняя логику.
0
|
|
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
|
| 26.10.2018, 15:15 [ТС] | |
|
COKPOWEHEU, проблема возникла при подключении библиотеки curses.
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
|
| 26.10.2018, 17:13 | |
|
Мне помолиться за вас Богу Машин чтобы ошибка чудесным образом исчезла?
Или все же предоставите хоть какую-то информацию? Минимальный код, на котором воспроизводится ошибка. Лог ругани компилятора. Наличие соответствующих библиотек.
0
|
|
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
|
| 26.10.2018, 18:42 [ТС] | |
|
COKPOWEHEU, нет такого файла или каталога (no such file or directory).
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
|
| 26.10.2018, 19:53 | |
|
То есть информацию предоставлять не хотите. Ладно, тогда помолюсь.
0
|
|
|
Диванный эксперт
|
|
| 26.10.2018, 20:47 | |
|
3eJIeHbIu, Как уже сказали в коде есть над чем работать...
Интересующая вас "ошибка" проста - сравните вывод информации в строках 114-123 и 301-310. Решение: оформить дублирующийся код в функцию.
0
|
|
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
|
| 26.10.2018, 21:42 [ТС] | |
|
Max Dark, спасибо помогли.
Добавлено через 22 минуты COKPOWEHEU, вы не поняли, в любом проекте библиотеку curses а так же ncurses использовать невозможно, просто её надо подключить. Подскажите как правильно её подключить?
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
|
| 27.10.2018, 00:19 | |
|
Я кидал ссылки на темы.
У того форумчанина получилось. Какие возникают проблемы у вас? Если "no such file or directory" значит что-то не так делаете. Например, не скопировали саму библиотеку.
0
|
|
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
|
| 27.10.2018, 08:33 [ТС] | |
|
COKPOWEHEU, не получается подключить. У меня эти методы не работают.
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
|
| 27.10.2018, 10:34 | |
|
Скажи, ты хотя бы сам находишь свои ответы достаточной информацией для поиска проблемы?
Пока что диалог проходит так: - Ничего не работает - Нужны подробности - Ничего не работает Ладно, попробуем еще раз. Какой компилятор? (точное название, а не в стиле "обычный") Какой код пытаетесь скомпилировать? (полный код, а не разрозненные куски) По какой инструкции пытались подключить библиотеку? (ссылка или полный текст, а не "из интернета") Как именно ругается компилятор? (полный текст со всеми названиями файлов, путей и прочего, а не "не может найти файл")
0
|
|
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
||||||
| 27.10.2018, 19:55 [ТС] | ||||||
|
COKPOWEHEU, GNU GCC Compiler, код:
Тест таков, ошибка сборки. ||=== Build: Debug in Project2 (compiler: GNU GCC Compiler) ===| D:\Shit\CodeBlocks\Project2\main.cpp|2|f atal error: curses: No such file or directory| ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
0
|
||||||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
||
| 27.10.2018, 22:26 | ||
|
0
|
||
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
|
| 28.10.2018, 09:43 [ТС] | |
|
COKPOWEHEU, человек решает свои проблемы с компилятором mingw, не понятно с какой ide. И вообще, это с каждой библиотекой проводятся такие танцы с бубном, нет стандартного способа? Я честно говоря вообще ничего не понял из того что делает парень, что вы ему советуете. Вам всё понятно потому что вы видимо специалист в этой области, а у меня от ваших советов в глазах синий экран. Неужели подключение каждой внешней библиотеки подразумевает собой такие сложности? В интернете прочёл, что библиотека curses предназначена для unix-подобных систем, а что делать тем у кого не unix подобная система?
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
|
||||||||||
| 28.10.2018, 14:46 | ||||||||||
|
- скачиваете библиотеку (лучше, конечно, сразу пакетом из репозитория, но в винде это не работает): заголовочные файлы (*.h), статические (*.a / *.lib в gcc и msvs соответственно), динамические библиотеки (*.so / *.dll). По той ссылке я уже собрал заголовочники в mingw_include/ncursesw, а единственную статическую библиотеку libncursesw.a оставил в корне архива.В файл исходного кода, в котором хотим использовать библиотеку, подключаем ее заголовочные файлы:
Вот теперь начинается самое интересное: надо указать компилятору где находятся библиотеки и инклюдники. Самое простое - *.h туда же, где находится main.cpp, но из соображений модульности и переносимости я сделал чуть по-другому: указал компилятору путь к библиотекам при помощи ключей в makefile: -I ./mingw_include -I ./mingw_include/ncursesw Это работает для gcc, но для использования в составе IDE или других компиляторах надо посмотреть документацию на них. Скорее всего там тоже есть ключи запуска или где-то в недрах меню вроде libraries/include_path... точно не знаю, смотрите как это делается для вашего компилятора.Теперь компилятор видит все объявления функций и не будет на них ругаться, но статическая библиотека еще не подключена, то есть фактически кроме названий функций у него ничего нет. Для подключения статической библиотеки к gcc ее можно просто вписать туда же, куда и объектные файлы, даже без флагов: libncursesw.a. Опять же, в IDE это делается по-другому, надо искать в недрах меню.Вот и все, теперь все компилируется и, если повезет, работает. Еще раз. Для подключения любой внешней библиотеки надо провести следующие манипуляции:
0
|
||||||||||
|
0 / 3 / 0
Регистрация: 14.11.2015
Сообщений: 258
|
|
| 28.10.2018, 15:07 [ТС] | |
|
COKPOWEHEU, вы представили определённый список действий, а почему на просторах интернета все пишут про регистрацию какого то кода (типа sudo aptitude install libncurses5) в консоли, якобы этого достаточно?
0
|
|
| 28.10.2018, 15:07 | |
|
Помогаю со студенческими работами здесь
20
Консольная змейка Консольная змейка C++ Консольная змейка. Код Консольная змейка. Кто что скажет? ) Консольная Змейка: фрукт генерируется за пределами карты Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла:
Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
|
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
|