0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
|
||||||
1 | ||||||
If и Else17.06.2013, 20:21. Показов 1933. Ответов 37
Метки нет (Все метки)
Решил "поиграться" с этими двумя операторами, в итоге должна была выйти программка - вопросник, сначала у меня не получился этот вопрос, теперь вышло, но несколько не так. При выборе D должно было писаться Perfect!, а пишется Bad... very bad... , но при этом, если выбрать любой другой вариант - пишется Perfect! Не подскажите, как это исправить? Код ниже:
0
|
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
|
|
18.06.2013, 19:50 [ТС] | 21 |
Wolkodav, как Вы уже, наверное, заметили, я хочу написать небольшой текстовый квест - игру. Т.к. я не обладаю навыками работы c 3D моделированием и PS, то ограничусь пока этим. Так вот, предположительно - сюжет не линейный. А значит игроку должен быть дан выбор. Игра не в два действия, и поэтому обидно будет, если ее прохождение займет более часа-двух, нужна возможность сохранения. Вот я и задал вопрос, как можно сохранять в определенный момент или же давать право игроку выбирать момент сохранения, к примеру написав посреди игры save.
Так же, то что про Землю скидывал программку - это как раз для примера мне, как делать, чтобы при выборе чего-либо не было выхода из программы, например кто-то попросил игрока доставить что-то куда-то, игроку в лом, и он отказался - на этом у меня обычно выходило из программы,да и при этом, хоть да, хоть нет пиши - было такое, что фразы выскакивали обе, в любом случае. Пока что более вопросов вроде нет))
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.06.2013, 20:00 | 22 |
Не goto тут не покатит, как вы программно поставите метку на том месте где сохранились? Тут лучше после каждой миссии или еще чего спрашивать, не хочет ли игрок сохранится, и записывать там номер миссии или чего в файл, а потом при загрузке игры, загружать и значение файла. Для каждой миссии написать функцию, и в switch-case при загрузке выбирать номер нужной миссии. Идея примерно понятна?
0
|
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
|
|
18.06.2013, 20:12 [ТС] | 23 |
Да... ко мне уже приходила идея писать в файл и считывать все с файла при запуске, если я правильно понял, то нужно будет, чтобы была проверка в самом начале кода. Switch - если я не ошибаюсь, позволяет при разных значениях выводить разные решения, для каждого значения - свое решение, только вот switch-case я не знаю что это, и тем более не знаю синтаксиса. Написать функцию - дело хорошее, а как эта функция будет выглядить?)) Если уж не захотите писать ее, может быть расскажите о ней?)) Пожалуйста)
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
||||||
18.06.2013, 20:18 | 24 | |||||
switch-case - вас отсылаю к гуглу.
А так:
1
|
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
|
|
18.06.2013, 20:20 [ТС] | 25 |
Спасибо
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.06.2013, 20:22 | 26 |
Corax111, по хорошему, надо еще создавать много файловый проект, с заголовочными файлами и т.д.
0
|
100 / 87 / 17
Регистрация: 29.05.2013
Сообщений: 227
|
|||||||||||
18.06.2013, 21:46 | 27 | ||||||||||
я имел ввиду делать примерно так:
при загрузке сохранёнки загружается из файла номер метки например 10 (обзавём эту переменную int met) met=10 и кидаем по goto на нужную метку
дерзайте
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.06.2013, 21:50 | 28 |
case лучше кучи if это факт, а если есть номер у вопроса, то можно по case перейти к тому вопросу, который нужен.
0
|
100 / 87 / 17
Регистрация: 29.05.2013
Сообщений: 227
|
|
18.06.2013, 21:55 | 29 |
Если как вы предлагаете через switch и case, то их тоже будет не меньше чем if-ов (через switch вариантов ответов можно больше поставить), и тогда в каждой Mission будут ещё свечи, которые будут вызывать новые Mission и т.д. и т.п. ...
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.06.2013, 21:57 | 30 |
а много-много if в одном main лучше по вашему? Плюс метки?
0
|
100 / 87 / 17
Регистрация: 29.05.2013
Сообщений: 227
|
|
18.06.2013, 22:05 | 31 |
через метки для начинающих проще а if-ы можно заменить на switch, т.к. вариантов ответов можно больше поставить
Добавлено через 3 минуты да и по метке в п/п не перейдёшь, поэтому как ни печально всё в одном main будет
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.06.2013, 22:18 | 32 |
Зато можно передать в функцию условие, и перейти в функции по case) А goto в С++ делать нечего, даже начинающим)
0
|
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
|
|
18.06.2013, 22:52 [ТС] | 33 |
Wolkodav, я прекрасно понимаю, что многофайловый проект создать - это хорошо, по-хорошему и иллюстрации какие-то можно было бы вставить, и сделать полноценную игрушку, проблема лишь в том, что я не имею ни малейшего понятия, как делать многофайловый проект, точнее не знаю, как все файлы связать друг с другом) Я прекрасно понимаю, любой догадается, что огромный минус - писать всю программу\сайт в одном файле. Тяжело для восприятия, возможно дольше грузится... огромное количество переменных объявлять надо для каждой подпрограммы, и может быть для новых уровней... Может напишите гайд, как это делать, если вам не сложно?))
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.06.2013, 23:04 | 34 |
У вас IDE какая?
Добавлено через 11 минут Эмм, вопрос наверное не понят. Где пишите? MS Visual Studia?
0
|
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
|
|
18.06.2013, 23:16 [ТС] | 35 |
Да, MS Visual Studio 10 Professional
Добавлено через 13 секунд Уточнил, т.к. не знаю, есть ли между ними разница)
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.06.2013, 23:23 | 36 |
Corax111, давайте попробую)
0
|
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
|
||||||
19.06.2013, 09:58 [ТС] | 37 | |||||
Вот вопрос, почему пишет, что перед ) не хватает ; , и недопустимый else без парного if, компилятор ослеп? Я уже даже 2 if написал, и все равно(
И хотелось еще спросить, в чем разница между release и debug?))
0
|
100 / 87 / 17
Регистрация: 29.05.2013
Сообщений: 227
|
||||||
19.06.2013, 10:18 | 38 | |||||
Добавлено через 4 минуты и ещё (не заметил) for ( i > c) так нельзя for(i=0;i>c;i++) необходимо 3 значения в for(стартовое значение переменной;когда выходим из цикла?;что делаем с какой-либо переменной после каждого прохода по циклу)
1
|
19.06.2013, 10:18 | |