Nick_is_asking Ответов: 2

Забавная проблема с игрой в C


Привет всем!!
Я сделал игру ,в которой 2 игрока пытаются найти скрытое слово(первый прячется, а другой пишет Слово, затем система скрывает некоторые буквы, и игрок пытается его найти.
Я могу "дать" простое слово, такое как "привет" или предложение типа "попробуй найти меня"
использование fgetc(stdin) и fgets() и оператора if в функции get_word() в качестве метода ввода.
Проблема в том ,что когда игрок 1 дает слова: "инженерный интеллект", когда игрок 2 находит его, программа просит другого персонажа(для завершения слов),но слова уже найдены...Почему это происходит???

Вы можете запустить следующий код и попробовать некоторые примеры ,дающие простые слова, предложения и вышеприведенные слова, такие как "инженерный интеллект", чтобы понять, что я сказал.
Я даю вам весь код ,потому что он большой ,и если бы мне пришлось объяснять, это заняло бы у меня несколько часов...

Большое спасибо, и я надеюсь, что вы найдете эту маленькую (я полагаю) проблему, которая у меня есть...

Что я уже пробовал:

Код[^]

Rick York

Это займет у вас несколько часов, чтобы объяснить, но вы ожидаете, что мы загрузим и покопаемся в нем для вас?

Тогда все в порядке.

jeron1

- Я даю вам весь код ,потому что он большой ,и если бы мне пришлось объяснять, это заняло бы у меня несколько часов..."
Это означает, что вы должны попытаться сузить область проблемы до чего-то управляемого, например, определенного цикла или некоторого конкретного условного оператора... Кроме того, ваше описание того, что должно произойти и что происходит, очень неясно (по крайней мере для меня).

Richard MacCutchan

- Почему это происходит???"
На первый взгляд я бы сказал, что в вашем коде есть ошибка.

2 Ответов

Рейтинг:
7

KarstenK

Вам нужно использовать отладчик и запустить процесс отладки в вашем коде.

совет: лучше всего сделать некоторые выходные данные в наиболее важных областях, таких как случай ошибки или необработанные пути кода, такие как некоторые отсутствующие else-коды на if-фигурных скобках.

Вы действительно рассчитываете, что мы выполним вашу работу?


Рейтинг:
15

Patrice T

Цитата:
Забавная проблема с игрой в C

Ваш код ведет себя не так, как вы ожидаете, или вы не понимаете, почему !

Существует почти универсальное решение: запускайте свой код на отладчике шаг за шагом, проверяйте переменные.
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не знает, что должен делать ваш код, он не находит ошибок, он просто помогает вам, показывая, что происходит. Когда код не делает того, что ожидается, вы близки к ошибке.
Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик - Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010 - YouTube[^]

1.11 — отладка программы (пошаговое выполнение и останова) | выучить C++[^]

Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.


Nick_is_asking

Ладно, я нашел проблему.Кстати спасибо