Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
bbo0ss
1 / 1 / 0
Регистрация: 23.03.2011
Сообщений: 19
#1

Народ, чет с while... - C++

26.03.2011, 20:00. Просмотров 1080. Ответов 12
Метки нет (Все метки)

Тут проблемка, захотел написать миниатюрную игрушечку на с++ и в єпизоде боя использовал
do-while... и вот вроде кк все нормально, оба бьються, но бой не коньчается... просто хп в - уходит и считай так до бесконечности... если ктот шарит прошу помочь... вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
do
 {   int r,d;
srand(time(&t));
d=rand()%10+10;    
hp-=d;
cout<<"Противник нанес вам "<<d<< " урона. у вас осталось "<<hp<<" здоровья"<<endl;
cout<<"Чтобы ударить введите 1:"<<endl;
cin>>m;
if(m==1)
{cout<<"Вы ударили врага."<<endl;
srand(time(&t));
 r=rand()%10+15;
hp2-=r;
cout<<"Вы нанесли "<<r<<" урона."<<endl;
cout<<"У врага осталось "<<hp2<<" здоровья"<<endl;
}
if(hp2<=0)
cout<<"Вы выграли!"<<endl;
exp+=300
}
while(hp<0);
cout<<"Вы проиграли!Вас убил противник!"<<endl;
}
Добавлено через 2 минуты
кстати чет код вправо сместился, тык что прокрутите чуть вправо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2011, 20:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Народ, чет с while... (C++):

Чет не то с iostream - C++
народ, чет начало выдавать ошибку, связанную с #include &lt;iostream&gt; Кто нить с такой ошибкой сталкивался???? c:\microsoft visual...

Вывод чет(нечет) чисел из диапазона - C++
Всем доброго времени суток. Прошу хелпу! :help: Такое вот задание: Пользователь вводит две границы диапазона, вывести на экран все...

Выполнить сортировку с помощью Чет- нечет - C++
Можете помочь с задачей, пожалуйсттааа. Заранее благодарна:) Дан массив А. Нужно выполнить сортировку с помощью Чет- нечет

структуры, чет не хочет выводить - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { struct man ...

Дано натуральное число, проанализировать чет\нечет по цифрам - C++
Дано натуральное число. а) Верно ли, что оно заканчивается нечетной цифрой? б) Верно ли, что оно заканчивается четной цифрой? В обеих...

Сгенерировать массив, используя функцию для определения чет/нечёт - C++
C помощью функции random (n) сгениреровать массив чисел от 0 до 50 и определить количество четных и нечетных чисел в этом массиве. для...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Байт
Эксперт C
15996 / 10264 / 1537
Регистрация: 24.12.2010
Сообщений: 19,359
26.03.2011, 20:02 #2
bbo0ss, Если ты подвинешь содержательную часть кода чуть левей, может и удастся что-нибудь понять

Добавлено через 1 минуту
Иначе Бой никогда не кончится. Но в этом тоже есть своя фишка.
napalm2005
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 40
26.03.2011, 20:03 #3
Цитата Сообщение от bbo0ss Посмотреть сообщение
C++
1
while(hp>0)
мож так поментяь надо...
bbo0ss
1 / 1 / 0
Регистрация: 23.03.2011
Сообщений: 19
26.03.2011, 20:04  [ТС] #4
более менее?*)

Добавлено через 1 минуту
так вроде же надо так: когда хп меньше 0 то вы проиграли и выход изцыкла... так я понимаю???
napalm2005
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 40
26.03.2011, 20:08 #5
Цитата Сообщение от bbo0ss Посмотреть сообщение
более менее?*)

Добавлено через 1 минуту
так вроде же надо так: когда хп меньше 0 то вы проиграли и выход изцыкла... так я понимаю???
вообще-то while(hp>0) -- означает до тех пор пока hp>0 цикл работает; hp <=0 - цикл завершает работу
Либо в твоем цикле hp должно увеличиваться.
bbo0ss
1 / 1 / 0
Регистрация: 23.03.2011
Сообщений: 19
26.03.2011, 20:10  [ТС] #6
да уже попробывал... чет не выходит(((
uggway
219 / 133 / 9
Регистрация: 12.04.2010
Сообщений: 248
26.03.2011, 20:10 #7
bbo0ss, while == "пока", т.е. читая выражение
C
1
2
3
do{
//....
}while(hp > 0);
по-русски, получаем:
выполнять до тех пор пока hp > 0.
Вот когда hp станет равно или меньше нуля цикл закончится
И не нужно каждый раз использовать srand
bbo0ss
1 / 1 / 0
Регистрация: 23.03.2011
Сообщений: 19
26.03.2011, 20:16  [ТС] #8
не
uggway, и
napalm2005, попробывал уже и так... чет все равно уходит в - и бой вечный...

Добавлено через 2 минуты
непонятно кароч... чет цыкл ваще не как заканчиваться не хочет(
napalm2005
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 40
26.03.2011, 20:16 #9
Цитата Сообщение от bbo0ss Посмотреть сообщение
не
uggway, и
napalm2005, попробывал уже и так... чет все равно уходит в - и бой вечный...
Ну, hp то все равно положительным быть...
uggway
219 / 133 / 9
Регистрация: 12.04.2010
Сообщений: 248
26.03.2011, 20:17 #10
а где определено hp?
оно случаем не unsigned ... у тебя?
Иначе все должно работать
napalm2005
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 40
26.03.2011, 20:19 #11
C++
1
2
3
4
if(hp2<=0)
{cout<<"Вы выграли!"<<endl;
exp+=300;
break;}
а если так.
bbo0ss
1 / 1 / 0
Регистрация: 23.03.2011
Сообщений: 19
26.03.2011, 20:24  [ТС] #12
нет хп у меня поставлено в самом начале:
C++
1
2
3
4
5
6
7
8
9
int x=0; //Выбор
int hp=100; //Характеристики
int lvl=1; //Лвл
int shmot=0;//Шмот
int v; //Выбор 2
int exp=0;
int m; //чтобы ударить
float hp2=80; //здоровье врага
time_t t=30;
Здоровье враза я поставил во флот так как там time_t t; с ним в инте не пашет...

Добавлено через 48 секунд
napalm2005, в if незя же ставить break.

Добавлено через 1 минуту
лан выпосотрите еще, мб чет увидете, чего я не вижу... то шо мя уже гонят...а я завтра тему посотрю.
napalm2005
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 40
26.03.2011, 20:26 #13
Цитата Сообщение от bbo0ss Посмотреть сообщение
napalm2005, в if незя же ставить break.
Это, где ты такое видел?...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2011, 20:26
Привет! Вот еще темы с ответами:

Срочно Народ помогите! - C++
первая задача///Массив заполнять случайными числами от -5 до 5. В одномерном массиве состоящем из 10 целых элементов вычислить: а)номер...

Народ, нужны помошь по с++ - C++
Помогите решить задачи, кому не сложно...Препод зверь нифига не учит, но требует по полной... вот ссылка на задачи там их 4...

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. - C++
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. ...

Народ спасайте, на счет теста - C++
Парни спасайте. Нужно узнать откуда в этой программе берутся вопросы, картинки и все остальное для теста. Я понимаю что из файлов ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.03.2011, 20:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru