Суббота, 23 Августа 2025, 22:27

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
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

Объявление типа переменной начинается с ключевого слова (типы переменных ("ключевые слова") приведены сверху) за которым, собственно, следует имя переменной и присвоение начального значения (это необязательно, переменная может быть и без значения). Вот в качестве примера:
Code
int a = 5;

Здесь мы видим, что переменная с наименованием "а" принадлежит к типу "int" (то есть содержит в себе целые числа) и имеет значение "5".
С таким же успехом
Code
float b = 2.2;

переменная "b" будет относиться к типу "float" (десятичные числа) и примет значение "2.2".
Одно ключевое слово (то есть тип переменной) позволяет объявить несколько переменных. При этом оно следуют за друг другом через запятую (,) и объявление заканчивается точкой с запятой (;):
Code
int a = 2, b = 5;

Имя переменной (идентификатор) не должно превышать 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)
делаю на флеш

раздел ведь по С++ surprised
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? Прям полегчало на душе, спасибо smile
SaiteiДата: Вторник, 26 Июня 2012, 15:15 | Сообщение # 1298 | Тема: Вопрос-Ответ (C++)
старожил
Сейчас нет на сайте
Скажите пожалуйста, а Microsoft DirectX SDK бесплатен для коммерции? (чистое любопытство)
SaiteiДата: Вторник, 26 Июня 2012, 11:52 | Сообщение # 1299 | Тема: Как Вы думаете, а что такое движок?
старожил
Сейчас нет на сайте
Quote (Racot)
ради себя (если я один), я же "Программист среднего уровня", если мы понимаем что такое "средний уровень".
Это если представлять конечно

up Всеми руками и ногами солидарен с Вами
Quote (RUNGOGET2THECHOPAH)
Игровой движок - базовый набор функций вывода графики и звука, а также функций, описывающих фундаментальную игровую логику. Поэтому писать его имеет смысл только для себя (и под конкретную игру), а не для общественного использования, поскольку это очередное изобретение велосипеда.

Велосипед-то велосипедом, а ведь кто-то захочет не только ради себя собрать движок. Имхо. Но в принципе на 50% я с Вами согласен
SaiteiДата: Вторник, 26 Июня 2012, 11:19 | Сообщение # 1300 | Тема: Как Вы думаете, а что такое движок?
старожил
Сейчас нет на сайте
Скажите на милость, а что такое движок? Как Вы понимаете это слово? Нет, сейчас речь не идёт о движках автомобилей. smile Сейчас речь идёт о игровых движках, предназначенных для создания своих собственных игр. Давайте отбросим всякие Unity3D и Unreal Engine. Разговор идёт о движках, которые подключаются к определенным Языкам Программирования. Что это такое - движок? Вот если забыть википедию, все движки - что это такое?
Я считаю, что движок - это "ядро" для создания своей игры. Это инструментарий, готовый к использованию. Считаю, что движок - это огромное ядро созданное из маленьких фрагментов.
А хотели бы Вы создать свой движок? Предположительно представим что Вы программист среднего уровня, у Вас уже есть свои игры на ЯПах. Хотели бы? Ради чего - ради денег или ради себя?
Поиск:

Все права сохранены. GcUp.ru © 2008-2025 Рейтинг