Результаты поиска
| |
Saitei | Дата: Четверг, 28 Июня 2012, 11:33 | Сообщение # 1281 | Тема: Юмор игроделов! |
старожил
Сейчас нет на сайте
| Тихий, про Ctrl+V и С++ понравилось))
|
|
| |
Saitei | Дата: Четверг, 28 Июня 2012, 11:32 | Сообщение # 1282 | Тема: Космический шутер - Online |
старожил
Сейчас нет на сайте
| Quote (SquareHater) помоему не выйдет автор таксебе Да нет, может получиться. В общении один на один автор вполне притягателен и приятен. Просто нужно находить общие точки опоры
Сообщение отредактировал Saitei - Четверг, 28 Июня 2012, 12:02 |
|
| |
Saitei | Дата: Четверг, 28 Июня 2012, 01:23 | Сообщение # 1283 | Тема: Космический шутер - Online |
старожил
Сейчас нет на сайте
| Quote (Seria2) 1. Хороших GML программистов Занимался года три этим делом. Сергей (Вы же Сергей?), стукните мне в ICQ. Там поговорим и, может быть, я вступлюДобавлено (28.06.2012, 01:23) --------------------------------------------- Неактуально (Если что - жду от тебя ответ. Ты понял о чём я)
|
|
| |
Saitei | Дата: Среда, 27 Июня 2012, 23:14 | Сообщение # 1284 | Тема: Вопрос-Ответ (C++) |
старожил
Сейчас нет на сайте
| Есть аналоги OIS? Создал окошко с сеткой на OpenGL, хочу чтобы всё это дело выключалось при нажатии escape. ОЧЕНЬ желательно, чтобы всё это дело было БЕСПЛАТНО
|
|
| |
Saitei | Дата: Среда, 27 Июня 2012, 20:29 | Сообщение # 1285 | Тема: Юмор игроделов! |
старожил
Сейчас нет на сайте
|
Сообщение отредактировал Saitei - Среда, 27 Июня 2012, 20:31 |
|
| |
Saitei | Дата: Среда, 27 Июня 2012, 11:32 | Сообщение # 1286 | Тема: Урок по С++ №1 |
старожил
Сейчас нет на сайте
| Quote Чтобы повторить материал. К тому же, многие вещи становятся понятнее для тебя самого, когда пытаешься объяснить их кому-то другому Да, в принципе ради этого все и пишется goldsphere, если не надоест писать и их будет много - перенесу в статьи
|
|
| |
Saitei | Дата: Среда, 27 Июня 2012, 00:22 | Сообщение # 1287 | Тема: Урок по С++ №2 |
старожил
Сейчас нет на сайте
| Урок №1
Коментарии, переменные и типы данных в С++
Скажите мне, а что такое информация? Информация - это значимые сведения о чем-либо, которые несут за собой цель передачи тех или иных данных. Информация окружает нас, мы живем в мире, полном информации. Она есть везде и всегда. И эта информация имеет способность изменяться, идти на перемены. В С++ тоже есть кое-какого рода манипуляция с информацией. Практически любой программы суть сводится к вводу, хранению, выводу и модификации информации. Уже сейчас, зная об этом, есть смысл рассказать о переменных. Для того, чтобы программа на протяжении своего выполнения могла сохранять определенные данные, используются константы и переменные.
Одним из свойств программы является идентификатор. Под идентификатором имеется ввиду имя переменной, имя функции или метка. В программе идентификатор может содержать в себе прописные и строчные латинские буквы, цифры и символы подчеркивания. Он обязательно начинается с буквы или символа подчеркивания и не должен совпадать с ключевым словом с учетом регистра во избежании головной боли и проблем. Сначала изучим базовые типы переменных:
Bool - true или false (0 или 1, истина или ложь)(занимает 1 байт памяти и используется прежде всего в логических операциях) int - целые числа (диапазон для 16 разрядов: -32768 - 32767, для 32 разряда: от -2147483648 до 2147483647) char - тип переменной, несущий в себе символ. С английского "char" - это "символ". Принимает значение от 0 до 256 float - тип переменной с плавающей запятой. По сути - десятичные числа. От 1.2е-38 до 3.4е38 double - такой же тип переменной, что и float, только с двойной точностью. От 2.2е-308 до 1.8е308
Объявление типа переменной начинается с ключевого слова (типы переменных ("ключевые слова") приведены сверху) за которым, собственно, следует имя переменной и присвоение начального значения (это необязательно, переменная может быть и без значения). Вот в качестве примера: Здесь мы видим, что переменная с наименованием "а" принадлежит к типу "int" (то есть содержит в себе целые числа) и имеет значение "5". С таким же успехом переменная "b" будет относиться к типу "float" (десятичные числа) и примет значение "2.2". Одно ключевое слово (то есть тип переменной) позволяет объявить несколько переменных. При этом оно следуют за друг другом через запятую (,) и объявление заканчивается точкой с запятой (;): Имя переменной (идентификатор) не должно превышать 256 символов. Так же нужно учитывать регистр букв (Abc и abc. Для компилятора это две разные переменные). Начальная инициализация (то есть присвоение значения) необязательно, однако рекомендуется каждый раз переменным выставлять значения, так как в противном случае они могут принимать непредсказуемые значения. Переменная типа bool занимает всего 1 байт и может принимать значение 0 (ложь, false) или 1 (истина, true). Чаще всего используется в логических операциях. Ну а уже переменная типа int (целочисленные, целые числа) призвана хранить целые значения, и могут быть знаковыми и беззнаковыми. Знаковые переменные представляют из себя как положительные, так и отрицательные числа. Ну а беззнаковые переменные принимают лишь положительные значения. Беззнаковая переменная - unsigned Знаковая переменная - signed Для представления чисел с плавающей запятой применяют тип данных float. Занимает 4 байта памяти. За ним следует double - такой же тип, только с двойной точностью. Занимает 8 байт памяти. Сейчас заставим наш компьютер решить уравнение. Вот так обозначаются знаки в С++: * - умножение / - деление % - остаток от деления + - сложение - - вычитание Заставим решить компьютер вот такой пример: 2+2. Каждое число представим в виде двух переменных типа int, укажем в коде пример и заставим результат вывести на экран. Code #include <iostream> using namespace std; int a = 2, b = 2;
int main() { setlocale( LC_ALL, "Russian" ); cout<<"Результат: "<<a+b<<'\n'; return 0; } // - это символ, указывающий на строчный комментарий. Это своего род пометка в коде, чтобы не запутаться в дальнейшем. Компилятор игнорирует такие строки. Сейчас прокомментирую код: Code #include <iostream> //Подключаем заголовочный файл iostream using namespace std; //Убираем "std::" int a = 2, b = 2; //Имеем две переменных с типом int. Все переменные прошли инициацию и имеют значение "2"
int main() //Главная функция { setlocale( LC_ALL, "Russian" ); //Локализация cout<<"Результат: "<<a+b<<'\n'; //Результат от а+b return 0; //Возвращаем 0 }
Сообщение отредактировал Saitei - Среда, 27 Июня 2012, 00:52 |
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 23:26 | Сообщение # 1288 | Тема: Урок по С++ №1 |
старожил
Сейчас нет на сайте
| Quote (faib) Не понятно зачем это уроки и тд? Мда книг недостаточно где всё расписанно от и до по С++ есть книги даже для школьников с 14 лет Непонятно? Вот, цитирую: Quote (Saitei) Да, с объяснениями могут быть у меня проблемы. Но я всё же постараюсь продолжить серию уроков, просто более доходчиво и интереснее объясняя. А главное - буду стараться вкладывать больше смысла и объяснений. Нет, я хотел бы продолжить. Если же окружающим мои уроки и не помогут, то всё равно я же писал урок. А значит и сам же тестировал, вспоминал. Доставал прочтенные книги, искал. Полезно, вроде.
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 23:25 | Сообщение # 1289 | Тема: Урок по С++ №1 |
старожил
Сейчас нет на сайте
| Quote (zodiak) Ну, читабельно, но слабо, у nilremа много лучше. Да и зачем писать чето еще раз, взял бы, да и принял у него эстафету. Там, по его планам, и осталась то одна лекция, а потом "второй сезон" по ООП. Я пробовал, но не потянул. Моя писанина была забракована. Оказывается знать чето мало, нужно уметь это доходчиво объяснить. Да, с объяснениями могут быть у меня проблемы. Но я всё же постараюсь продолжить серию уроков, просто более доходчиво и интереснее объясняя. А главное - буду стараться вкладывать больше смысла и объяснений. Нет, я хотел бы продолжить. Если же окружающим мои уроки и не помогут, то всё равно я же писал урок. А значит и сам же тестировал, вспоминал. Доставал прочтенные книги, искал. Полезно, вроде.
Сообщение отредактировал Saitei - Вторник, 26 Июня 2012, 23:25 |
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 23:16 | Сообщение # 1290 | Тема: Урок по С++ №1 |
старожил
Сейчас нет на сайте
| qumpo, нет, вы заблуждаетесь
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 23:11 | Сообщение # 1291 | Тема: Создание своих .lib файлов |
старожил
Сейчас нет на сайте
| zodiak, спасиб
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 23:01 | Сообщение # 1292 | Тема: Урок по С++ №1 |
старожил
Сейчас нет на сайте
| Подготовка к работе с С++ и первый "Hello World"
Раз уж вы читаете эту тему, то вы, видимо, хотите научиться программировать на языке программирования С++. Хорошо, я покажу вам довольно много интересных вещей и завитушек в работе с С++. Для начала поймите что вам нужно на выходе, какова ваша конечная цель? База С++ - это консоль, простое черное окошко с символами и не более того. А вот потом, когда вы впитаете в себя все прелести синтаксиса этого языка, то можно пытаться учить WinAPI\DirectX\OpenGL на выбор. Но сейчас не об этом, верно? Я обязан в первом своём уроке подготовить вас к самому написанию кода и помочь вам написать первый "Hello World", который затем будет локализован на русский и вы перепишите, коль душенька на это ляжет, - "Здарова всем!".
Как я и говорил - перед работой с кодом нужно приготовить свой компьютер к самому его написанию. Для этого вам нужно скачать любой компилятор для С++. Это может быть либо Dev-C++, либо Turbo C++. Вариантов масса, но я использую Microsoft Visual C++ 2010 Express. Из его преимуществ подчеркиваю полную его бесплатность. Можете качать прямо из microsoftа и со спокойной душой юзать его.
Отлично! Предположу, что вы уже скачали Microsoft Visual C++ 2010 Express и готовы к работе. Первым делом что вы должны сделать - это запустить свою среду разработки, после чего нажать File->New->Project. Проделав такую несложную инструкцию должно было высветится вот такое окошко: В этом окне ставим тип проекта "Win32 Console Application", вводим название проекта и "рабочую" папку, куда и будет компилироваться код. После этого появится новое окно, но вы его НЕ ДОЛЖНЫ закрывать. Нажмите "Next" (можно и сразу же нажать "Application Settings"), проверьте, что "Application type" проставлен как "Console Application", а так же поставьте галочку на "Empty project" (то есть "Пустой проект").
От всего сердца поздравляю вас! Мы готовы к работе! Правой кнопкой мыши нажмите на "Source Files" и выберите "Add->New Item". В этом окошке вам предстоит указать тип добавляемого файла. Это должен быть файл типа ".cpp" (c plus plus) с названием main. Параметр "Location" рекомендую не трогать.
После таких нехитрых манипуляций с диалоговыми окнами появился чистый лист. Здесь нам предстоит написать свою первую программу:
Ну вот. Мы готовы к работе! Ну что? Готовы написать свой первый "Hello World"?! Отлично, так и надо! Погнали :) В первом своем уроке я не стану нагружать вас, учить всем типам переменных и т.п. Сегодня - первая программа. Хеллоу Ворлд. Только хардкор.
Напишите в строке, где должен размещаться код, "#include <iostream>". Здесь я остановлюсь и расскажу по-подробней. С помощью "#include" мы подключаем заголовочные файлы, которые добавляют новые возможности и, скажем, свои фичи к С++. Дурной пример, конечно, но в какой-то мере верный. Ну а "iostream" - это заголовочный файл, содержащий в себе объявления функций и переменных для потокового ввода/вывода информации. Имя подключаемого модуля указывается в косых скобках (<> - заголовочный файл находится в каталоге \INCLUDE\) либо в кавычках (" " - файл находится в текущем каталоге). О iostream по-подробней можно прочесть вот здесь.
Далее, отступив место от "#include", пишем: Code int main() {
return 0; } В итоге код у нас выглядит следующим образом: Code #include <iostream>
int main() {
return 0; }
main() - это единственная в примере функция. Хочу отметить, что любая программа на С++ обязательно включает в себя функцию main(), с которой и начинается всё выполнение программы. Ну а return 0 возвращает 0. Всё понятно? Замечательно!
Теперь в тело функции main() (под телом я предполагаю вот такие скобочки: {}) пишем std::cout<<"Hello World"<<'\n'; Код получился вот такой:
Code #include <iostream>
int main() { std::cout<<"Hello World"<<'\n' return 0; } Ну вот. Хеллоу ворлд готов! Перед объяснением этого кода мной вы можете посмотреть на результат своих трудов. :) Для этого используйте комбинацию клавиш Ctrl+Shift+B для компиляции кода в машинный код, а затем Ctrl+F5, чтобы увидеть результат. Ну как? Ну воооооооот. Получилось же :) Молодцы
std::cout выводит значения на экран. В нашем случае - это Hello World в кавычках. Ну а " '\n' " - это отступ строки. Всё понятно? Ну вот и отлично)) Чтобы каждый раз нам не писать "std::" сделаем вот такую махинацию с кодом: Code #include <iostream> using namespace std; int main() { cout<<"Hello World"<<'\n'; return 0; } Фича никак не отразится на вашей работе. Лишь уберет лишний гемор с std::.
Ох... Чуть не забыл... Давайте напишем что-нибудь на русском в консоли? Вот так это делается (с помощью setlocale( LC_ALL, "Russian" ); ): Code #include <iostream> using namespace std;
int main() { setlocale( LC_ALL, "Russian" ); cout<<"Привет, мир!"<<'\n'; cout<<"Привет. Что хотел? :D"<<'\n'; return 0; }
Ну что же? Первый урок подошел к концу. Надеюсь, что я вас заинтересовал и у меня будет стимул продолжать серию уроков ;) Урок №2
Сообщение отредактировал Saitei - Среда, 27 Июня 2012, 12:41 |
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 22:03 | Сообщение # 1293 | Тема: Вопрос-Ответ (C++) |
старожил
Сейчас нет на сайте
| Quote (Gavolot) делаю на флеш раздел ведь по С++
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 22:02 | Сообщение # 1294 | Тема: Создание своих .lib файлов |
старожил
Сейчас нет на сайте
| Как? Зачем? Вообщем объясните пожалуйста. Вообще perfect было бы, если дали бы почитать статейки. Сам не знаю как их писать, но безумно интересно
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 18:31 | Сообщение # 1295 | Тема: Locked World |
старожил
Сейчас нет на сайте
| Sd-team, Я всецело занят, в данный момент учу тонкости DirectX SDK. Если бы нашелся сценарист (или гейм-дизайнер) - с удовольствием продолжил. Ну а пока что я увидел лишь "гейм-дизайнеров", которые через день на всё это забивают. Если хочешь - можем с тобой попробовать
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 17:57 | Сообщение # 1296 | Тема: Оцените дизайн-документ |
старожил
Сейчас нет на сайте
| Quote (Winged_Doom) UPD:Надеюсь, уважаемым разработчикам гцупа будет интересно взглянуть на попытку реализовать дизайн-документ начинающим игроделом. Выложил его в открытый доступ, enjoy. Жду вашего профессионального мнения и критической оценки. Что посоветуете/предложите, что так, что не так? Идея с html страничками - вещь! Возьму себе на заметку. Оформление получилось довольно симпотное. Ощутима некая иллюзия (а может быть и не иллюзия уже, а?) профессионализма. Так что вот этот пункт "Я старался придерживаться какой-то формы, чтобы с одной стороны произвести впечатление на потенциального партнера по разработке, с другой - разложить для него все, что напридумывал "по полочкам"" удался на "ура"! :) Вполне похоже на диз-док, читать можно. С картинками, описаниями. Даже содержание и пункт "ссылки" сделал. Всё прекрасно вроде, но twitter пишется через Е, а не О (твиттОр. Хотя может быть это был такой юмор, а я не оценил??? :) ) Всё с картиночками, всё подробно. Отлично получилось, имхо :Р
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 16:17 | Сообщение # 1297 | Тема: Вопрос-Ответ (C++) |
старожил
Сейчас нет на сайте
| Archido, конкретно SDK, а не сам DirectX? Прям полегчало на душе, спасибо
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 15:15 | Сообщение # 1298 | Тема: Вопрос-Ответ (C++) |
старожил
Сейчас нет на сайте
| Скажите пожалуйста, а Microsoft DirectX SDK бесплатен для коммерции? (чистое любопытство)
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 11:52 | Сообщение # 1299 | Тема: Как Вы думаете, а что такое движок? |
старожил
Сейчас нет на сайте
| Quote (Racot) ради себя (если я один), я же "Программист среднего уровня", если мы понимаем что такое "средний уровень". Это если представлять конечно Всеми руками и ногами солидарен с Вами Quote (RUNGOGET2THECHOPAH) Игровой движок - базовый набор функций вывода графики и звука, а также функций, описывающих фундаментальную игровую логику. Поэтому писать его имеет смысл только для себя (и под конкретную игру), а не для общественного использования, поскольку это очередное изобретение велосипеда. Велосипед-то велосипедом, а ведь кто-то захочет не только ради себя собрать движок. Имхо. Но в принципе на 50% я с Вами согласен
|
|
| |
Saitei | Дата: Вторник, 26 Июня 2012, 11:19 | Сообщение # 1300 | Тема: Как Вы думаете, а что такое движок? |
старожил
Сейчас нет на сайте
| Скажите на милость, а что такое движок? Как Вы понимаете это слово? Нет, сейчас речь не идёт о движках автомобилей. Сейчас речь идёт о игровых движках, предназначенных для создания своих собственных игр. Давайте отбросим всякие Unity3D и Unreal Engine. Разговор идёт о движках, которые подключаются к определенным Языкам Программирования. Что это такое - движок? Вот если забыть википедию, все движки - что это такое? Я считаю, что движок - это "ядро" для создания своей игры. Это инструментарий, готовый к использованию. Считаю, что движок - это огромное ядро созданное из маленьких фрагментов. А хотели бы Вы создать свой движок? Предположительно представим что Вы программист среднего уровня, у Вас уже есть свои игры на ЯПах. Хотели бы? Ради чего - ради денег или ради себя?
|
|
| |
|