Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/52: Рейтинг темы: голосов - 52, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 41

Значение переменных из файла

07.12.2009, 00:10. Показов 11526. Ответов 73
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу чтобы программа брала параметры из файла.
На конкретном примере:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "ingame.h"
 
float ix;
 
float iy;
 
int main(int n, char **s)
    {
        screen(800, 600);
        //zerkalo ("ship1.bmp");
        loadsprite(1, "ship1.bmp");
        loadsprite(2, "ship2.bmp");
        loadsprite(3, "ship3.bmp");
        loadsprite(4, "ship4.bmp");
        loadsprite(5, "ship5.bmp");
        loadsprite(6, "ship6.bmp");
        loadsprite(7, "ship7.bmp");     
        loadsprite(8, "ship8.bmp");
        ix=700;
        iy=500;
        
        
        while (GAME)
        {
            if (spd < 0){spd=0;}
            if (spd > 2){spd=2;}
            if (nap == 0){nap=8;}
            if (nap > 8){nap=1;}
            
            if (spd == 1 and nap == 1){iy=iy-0.25;}
            if (spd == 2 and nap == 1){iy=iy-0.45;}
            if (spd == 1 and nap == 2){iy=iy-0.25; ix=ix+0.25;}
            if (spd == 2 and nap == 2){iy=iy-0.45; ix=ix+0.45;}
            if (spd == 1 and nap == 3){ix=ix+0.25;}
            if (spd == 2 and nap == 3){ix=ix+0.45;}
            if (spd == 1 and nap == 4){iy=iy+0.25; ix=ix+0.25;}
            if (spd == 2 and nap == 4){iy=iy+0.45; ix=ix+0.45;}
            if (spd == 1 and nap == 5){iy=iy+0.25;}
            if (spd == 2 and nap == 5){iy=iy+0.45;}
            if (spd == 1 and nap == 6){iy=iy+0.25; ix=ix-0.25;}
            if (spd == 2 and nap == 6){iy=iy+0.45; ix=ix-0.45;}
            if (spd == 1 and nap == 7){ix=ix-0.25;}
            if (spd == 2 and nap == 7){ix=ix-0.45;}
            if (spd == 1 and nap == 8){iy=iy-0.25; ix=ix-0.25;}
            if (spd == 2 and nap == 8){iy=iy-0.45; ix=ix-0.45;}         
                        
            sprite(nap,ix,iy);
            
            fx();
        }
        return 0;
    }
Хочу чтобы screen(800, 600); выглядело как screen(xs, ys);
и бралось xs и ys из файла в том же каталоге что и программа ./options.txt
Как это сделать?
Вопрос понимаю звучит глупо но не бейте больно я только учусь хочу поэкспериментировать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2009, 00:10
Ответы с готовыми решениями:

Значение переменных из файла
Здравствуйте уважаемы программисты. Помогите пожалуйста! Подскажите пожалуйста команду, функцию, которая придает значение переменных из...

Взять значение переменных из другого файла
есть cpp фаил //--------------------------------------------------------------------------- #pragma hdrstop #include...

Чтение с файла значение двух переменных записанных через пробел
Как прочитать с файла file.in два числа например: &quot;10 20&quot; между ними стоит пробел. пробовал: using (StreamReader reader =...

73
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 41
22.02.2010, 03:55  [ТС]
Студворк — интернет-сервис помощи студентам
Ну вот потихоньку возвращаемся к тому с чего начали.

Не знаю насколько лучше у меня получается, но мне вроде нравится, особенно если не касаться графики
Вложения
Тип файла: zip alternative_world.zip (1.10 Мб, 19 просмотров)
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
22.02.2010, 10:01
Цитата Сообщение от vfz Посмотреть сообщение
нужно либо просто указать саму переменную game.screen либо разыменовать её используя звездочку *game.screen
именно!

Цитата Сообщение от vfz Посмотреть сообщение
не нашел никакой инфы по поводу того что есть более правильно, поэтому просто написал game.screen
это и есть правильный вариант.

Цитата Сообщение от vfz Посмотреть сообщение
ошибка: не найден метод для преобразования в ‘(screen) (screen*&)’
потому что имя функции совпадает с именем переменной, и компилятор теряется в догадках, что же вы имеете ввиду

зы
сейчас нам будет проще...

Добавлено через 4 минуты
кстати, так-как вы используете с++ компилятор(g++), то указывать struct нужно только при описании структуры. для декларации, достаточно:
C++
1
2
game_all game;
screen screen;
так же, есть негласное правило: только символами верхнего регистра, именуются макросы(я про game_all.GAME).

Добавлено через 2 минуты
Цитата Сообщение от vfz Посмотреть сообщение
В целом могу сказать niXman ты очень хороший учитель.
сам удивляюсь...
обычно я "славлюсь" нехваткой терпения. т.к. обычно посылаю...книжки читать
0
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 41
22.02.2010, 10:17  [ТС]
Я люблю что-нить почитать, но по С++ так много всего что выбрать то что действительно стоит внимания трудно. Прекрасный тому пример то что изначально я начал с учебника в котором была куча глобальных переменных и неправильно осуществлялся выход из программы.

Кстати C::B не компилирует получившийся код, затыкается на TTF_Init() а в консоли все ок, я поковырялся в настройках проекта но чет ничего не нашел подходящего, наверное просто просмотрел.

Ещё раз почитал про макросы, правда несколько иначе все описано чем то что я читал до этого но не суть. Я так понимаю что следуя негласным правилам использование #define FPS_LIMIT 75 правильно. Только я не совсем понял почему макро подставновка (после вышеописанной строки все что будет встречаться в коде как FPS_LIMIT будет автоматически заменено значением макроподстановки в данном случае 75) это препроцессорные "функции", думаю я пока приму это как аксиому.
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
22.02.2010, 10:30
Цитата Сообщение от vfz Посмотреть сообщение
C::B не компилирует получившийся код, затыкается на TTF_Init()
поясните. лог компилятора пожалуйста.

Цитата Сообщение от vfz Посмотреть сообщение
Я так понимаю что следуя негласным правилам использование #define FPS_LIMIT 75 правильно.
да.
но еще более правильно, использовать константы. т.к. компилятор не в состоянии определить тип такой переменной. а еще более правильно, константы помещать в нэймспейсы(но только константы).
пример:
C++
1
2
3
4
5
6
7
8
namespace game_const {
   const int FPS_LIMIT = 75;
}
...
int main() {
   int limit = game_const::FPS_LIMIT;
   return 0;
}
т.к. значения констант изменять нельзя, т.е. они должны инициализироваться действительным значением.
0
Временно недоступен
 Аватар для #pragma
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
23.02.2010, 02:57
>константы помещать в нэймспейсы(но только константы).
А зачем это может понадобиться?
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
23.02.2010, 03:01
Инкапсуля́ция — свойство языка программирования, позволяющее объединить и защитить данные и код
при большом числе констант, для того чтоб их имена не пересекались с пользовательскими переменными.
1
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 41
25.04.2010, 01:10  [ТС]
Вот код который имеется на данный момент
[прикрепите код к сообщению]
Нужно сделать мини карту.
Подскажите кто-нить что-нить по этому поводу. как лучше это дело реализовать, думаю можно на мине карте отображать не сразу всю карту а например N экранов которые видно игроку.

Мне интересно как лучше сделать это. Отдельным сурфэйсом или все-таки прямо на основном рисовать, рисовать пикселями или мелкими тайлами, или может вообще есть вариант просто уменьшить имеющуюся графику и нарисовать её на мини карте. В общем поделитесь мыслями или опытом.

Ну и конечно буду благодарен за поправки эстетического характера, насколько "быдлокодерски" у меня получается, нужно ли поправки вносить во внишний вид кода и т.п.
0
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 41
25.04.2010, 02:01  [ТС]
Не вопрос самому депозит не фонтан. Буду исправляться.
Вложения
Тип файла: 7z 25.04.2010_aw.7z (612.7 Кб, 20 просмотров)
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
07.06.2010, 12:13
vfz, так что с игрой? забросил?
0
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 41
08.06.2010, 16:10  [ТС]
Нет вот что пока получилось, просто некогда сесть нормально, по работе завалило.
Вложения
Тип файла: rar 11.05.2010.rar (897.1 Кб, 17 просмотров)
0
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 41
20.06.2010, 02:05  [ТС]
небольшое продолжение

Скролинг карты теперь осуществляется мышью + в игре добавленно 3 режима, переключение между ними пока кнопками клавы

r - РПГ единственный на данный момент как-то работающий
s - Стратегия пока не писалось под этот режим ничего
h - режим управления кораблями

Если сейчас перейти в режим игры и назать кнопку r то персонаж начнет двигатся к месту нажатия курсора, пока реагирует на любую кнопку мыши и двигается в экранной плоскости а не в глобальных координатах мира. Перевод системы координат буду делать позже, и сражу попробую описать проходимость тех или иных элементов карты.

Посмотрите кому интересно, может кто чего подсоветует.

Также у меня усиливается желание сделать отдельный ресурс под эту гадость, авось кто то решит помочь в начинаниях Но у меня нет желания оформлять сайт. Может найдется кто нибудь кому будет интересно периодически админить сайт для этого наброска, сервер и домен у меня есть.
Вложения
Тип файла: rar 20.06.2010.rar (413.4 Кб, 18 просмотров)
0
1 / 1 / 0
Регистрация: 06.12.2009
Сообщений: 41
20.06.2010, 12:15  [ТС]
Люди помогите разобраться с миникартой, облазил кучу форумов туториалов и прочей ерунды, либо я совсем тугодум либо там действительно нет ничего толкового.

+ нужно сделать файлики с описанием предметов, в которых будет описанно все о предмете включая его анимацию, тут наверное я что то непонятное говорю позже постараюсь более корректно сформулировать.
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
20.06.2010, 13:33
задавай законченные вопросы. т.к. то, что понятно и очевидно для тебя, не обязятельно понятно остальным.
0
godstorm
08.02.2011, 00:51
В топике - это мой движок - если есть вопросы по нему - спрашивайте. На самом деле он сильно упрощенный по сравнению с полным вариантом, в котором было все соединено с OpenGL.

1900 - это зарезервировано 1900 ячеек под 1900 картинок.
500 ячеек под звуки и тд.

Вот здесь можно прочитать намного подробнее и рассмотреть примеры и скачать и тд:
http://emu-machine.narod.ru/2d_1.htm
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2011, 00:51

Найти простейшую формулу от трёх переменных, принимающую значение 1 только на следующих наборах значений переменных
2. Найти простейшую формулу от трёх переменных, принимающую значение 1 только на следующих наборах значений переменных: F(0,0,0) =...

Чтение имён переменных из файла и раскрытие этих переменных
Допустим есть скрипт &quot;1&quot;,в котором описано: set ueqrxbfmfi=t for /f &quot;usebackq tokens=*&quot; %%a in (&quot;test.txt&quot;) do set...

Ввести значение переменных х, у и найти значение функции z
Ввести значение переменных х, у и найти значение функции z. Вывести значения на лист эксель

Даны два файла целых чисел. Определите, больше ли min значение первого файла, чем max значение второго
1. Пусть даны два файла целых чисел. Определите, больше ли минимальное значение первого файла, чем максимальное значение второго.

Передать в WHERE несколько переменных для поиска. Какое значение показывает "любое значение"?
Вот кусок кода: if ($func==&quot;getSpecNames&quot;) { echo (&quot;Пришел запрос на сортировку&lt;br&gt;&quot;); $f = $_GET; $i = $_GET; ...


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

Или воспользуйтесь поиском по форуму:
74
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru