Пятница, 22 Ноября 2024, 21:01

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
SharomДата: Четверг, 14 Января 2010, 18:09 | Сообщение # 161 | Тема: Grand Theft Auto 2d: Criminal Story 2
участник
Сейчас нет на сайте
FRANKENSTEIN, честно говоря мне не очень понравилось, только потому что это GTA, уже достала меня эта игра.
Я предпочитаю что нибудь оригинальное не похожее на остальные игры.Как по мне, делать продолжение уже существующих игр, не слишком оригинально.
SharomДата: Четверг, 14 Января 2010, 18:00 | Сообщение # 162 | Тема: Предложения по улучшению
участник
Сейчас нет на сайте
Ув. Администрация! Обращаюсь к вам с просьбой: здесь на сайте часто выкладывают файлы, на разные файлообменники, которые можно скачать только посмотрев рекламу или нужно ждать некоторое время, с моим интернетом это очень длительный процесс(просмотр рекламы).Нельзя ли ввести правило(либо пожелание) чтоб пользователи выкладывали прямые ссылки на файлы. Заранее спасибо.
SharomДата: Четверг, 14 Января 2010, 16:02 | Сообщение # 163 | Тема: Урок №1 Hello World!, Типы данных
участник
Сейчас нет на сайте
skorpi, Спасибо огромное, уже исправил, машинально запускаю прогу и совсем забыл написать в уроке.
SharomДата: Четверг, 14 Января 2010, 15:45 | Сообщение # 164 | Тема: Уроки по созданию игр на Delphi
участник
Сейчас нет на сайте
nilrem, Спасибо. Все изменю и дополню
SharomДата: Четверг, 14 Января 2010, 14:51 | Сообщение # 165 | Тема: Уроки по созданию игр на Delphi
участник
Сейчас нет на сайте
nilrem, честно говоря я не всегда могу изложить свои мысли правильно. Если можешь укажи какие ошибки, чтоб улучшить качество уроков
SharomДата: Четверг, 14 Января 2010, 01:33 | Сообщение # 166 | Тема: Уроки по созданию игр на Delphi
участник
Сейчас нет на сайте
Итак, друзья, в виду резкого возрастания популярности языков программирования я решил выпустить по нему серию уроков.
Эта тема уроком не является и нужна только для того, чтобы понять, что будет содержаться в данном курсе и в каких количествах

I. Условия распространения.

Уроки пишутся специально для сайта www.gcup.ru. Автором уроков являюсь я, никаких сторонних источников я не использую.

При копировании материала обязательна действующая ссылка на www.gcup.ru и Имя автора(Sharom).

II. Содержание уроков.

Итак, я планирую следующий порядок выхода уроков.

Для начала будет написано небольшое количество уроков по Pascal(5-6 уроков) для ознакомления. Следующим шагом мы приступим к изучению Delphi.Я так и не смог предусмотреть, какое количество уроков будет дано на изучение. По мере добавления уроков, будут писаться так же и под-уроки в которых будут содержаться примеры для самостоятельного изучения.
Я попытаюсь, как можно подробнее объяснить все аспекты создания игр на Delphi.
Начиная от самых основ до написания полноценной трехмерной игры.

III. Прочее.

Данные уроки делаются для тех, кому они нужны. Не нужно писать ошибочное мнение, что на данном языке программирования сложно либо невозможно создать полноценную игру. Не нужно выплескивать свою желчь, если у вас что-то не выходит. При возникновении ошибки сообщите мне, я с удовольствием попробую вам помочь.

Ссылки на уроки:

Первый урок:Оcнова Pascal - общие принципы работы с программой.
Под-урок 1- Математические операции.

SharomДата: Четверг, 14 Января 2010, 01:07 | Сообщение # 167 | Тема: Под-урок 1
участник
Сейчас нет на сайте
Подурок 1
Математические операции

Итак, в первом уроке мы научились выводить текст на экран, это хоть и не большой прогресс, но это уже что-то.
Как нам всем известно, программирование это не просто вывод информации. Основная часть программирования это математика, чем сейчас мы и займемся.

Сейчас мы будем прибавлять, вычитать, умножать и делить.

Нам нужно сложить два числа. Для этого нам нужны две переменные(которые и будут нашими двумя числами) и еще одна переменая(это будет наш результат)

К примеру Z=X+Y

Code
program Project2;

uses
    SysUtils;

     var
     z,a,b:integer;

begin
     
Readln(a,b);
   z:=a+b;
   writeln(z);
   readln

end.

a,b:integer;

a,b – наши два числа

z – наш результат чему равен А+В (функция Z=X+Y)

Readln(a,b);

Вводим наши два числа А и В

z:=a+b;

наша функция которая считает А+В

writeln(z);

Выводит на экран функцию Z которую мы посчитали перед этим.

Теперь попробуйте сами сделать вычитание, умножение и деление

ВНИМАНИЕ когда будете делить, присвойте переменной Z тип Real;

Code
Var
a,b:integer;
z:real;

Integer -- переменные такого типа могут содержать только целые числа (к примеру 1,2,4,5,6,7)

Real -- переменные такого типа могут содержать дробные (к примеру 1,23 5,77 3,5 )

Теперь небольшие примеры для самостоятельного изучения(попробуйте сделать сами);

Z=A+B;
Z=A+B+C;
Z=A+C/2+B
Z=A-C/B+1

Как нам всем известно, кроме этих простых операций существуют еще: возведение в квадрат, нахождение квадратного корня, вычитание синуса, косинуса.

Sqr(x) – это функция (Sqr) возводит переменную х в квадрат

Code
program Project2;

uses
    SysUtils;
       
var
     x:integer;
     z:Real;

begin
   Readln(x);
   z:=sqr(x);
   writeln(z);
   readln
end.

Sqrt(x) -- это функция (Sqrt) вычитает из переменной х квадратный корень

Code
program Project2;

uses
    SysUtils;
       
var
     x:integer;
     z:Real;

begin
   Readln(x);
   z:=sqrt(x);
   writeln(z);
   readln
end.

Sin(x)
-- вычитание синуса и косинуса из переменной х
Cos(x)

Code
program Project2;

uses
    SysUtils;
       
var
     x:integer;
     z:Real;

begin
   Readln(x);
   z:=sin(x);
   writeln(z);
   readln
end.

Попробуйте вычистлить самостоятельно
X+SIN(X)/2,
SIN(X)+COS(X)/2+X,
Sqr(x)+Sin(x),
Sqrt(x)+Sqr(x)+Sin(x/2)/Cos(x)

Сообщение отредактировал Sharom - Четверг, 14 Января 2010, 16:06
SharomДата: Четверг, 14 Января 2010, 00:16 | Сообщение # 168 | Тема: Урок №1 Hello World!, Типы данных
участник
Сейчас нет на сайте
HELLO WORLD!

Hello World! самая популярная программа. Да, да не смотрите так на экран. Это программа, которая пишется 90% программистов. По сути это программа, которая выводит на экран лишь одну строчку текста.

Сразу начнем с текста программы

Code
Program HelloWorld;

begin
   writeLn ('Hello World!');
end.

Быстренько запускаем Turbo Pascal, набираем эти четыре строчки, нажимаем Ctrl+F9(либо заходим в меню "Run" и нажимаем Run). Ничего не вывелось? Досадно наверное?? Все проще чем вы думаете, после строчки writeLn ('Hello World!'); наберите строчку Readln;

Если вы используете Delphi, то для создания нового проекта зайдите File-New-Other-Console Application. Для запуска программы нажимаем F9

УРА!!! теперь можно радостно подпрыгнуть!!!!! Что же мы видим на экране - это же Hello World!
Я вас поздравляю, с данной секунды вы вступили в ряды начинающих программистов.

Когда вы отойдете от состояния эйфории, давайте рассмотрим всю программу более серьезно (по строкам)

Слово Program - служебное слово языка Pascal. Служебные слова - это такие слова, которые программист использует в строго определённых целях. После слова Program идёт имя программы. Это служебные данные и на программе они не отражаются. Можете со спокойной душой удалить строчку Program HelloWorld; и запустить программу, как видите ничего не изменилось. Эта строчка нужна лишь для вас, для понимая в какой программе вы сейчас находитесь.

Слово begin - отсюда начинается сама программа (begin - англ. начало).
Если у вас сильно хромает английский язык, нужно будет обзавестись переводчиком.

writeLn ('Hello World!'); - обратите внимание, что здесь нет служебных слов! (Hello World! - выделена что бы понять, что это текст).
writeLn - это функция вывода текста на экран, а текст в кавычках ('...') - это, как можно догадаться, то, что надо вывести на экран. Т.е. что бы вызвать функцию нужно написать её имя и в скобках указать параметр. Если вы заметили то при запуске программы курсор помещается на одну строчку вниз (под словом HelloWord маленький прямоугольничек).например можете написать такое:
Write ('Hello World!')
- курсор не будет переводится и каждый раз запуская программу слова Hello World! будут помещаться на одной строке, а не на новых! Т.е. можно сделать глубокомысленное заключение: функция write выводит текст на экран.

ReadLn - это функция ввода данных в программу, в данном случае она лишь нужна нам для того чтобы программа сразу не закрылась, а приостановилась для ввода (чего нибудь) после нажатия Enter программа закроется. ReadLn мы полностью рассмотрим немного позже.

Последняя строка: end. - если begin указывал на начало программы, то end указывает на её конец. Обратите внимание на точку: end. - этим мы указываем, что текст программы закончился и дальше читать его не надо.

Давайте немного разберемся с правилами:

1. ЗАГЛАВНЫЕ и строчные буквы не различаются. Т.е. мы могли спокойно написать всё это так:

Code
PROGRAM   HELLOWORD;

   BEGIN   
   WRITELN ('Hello World!')
   READLN;
   END.  

2. В написании программ можно использовать только: все буквы английского алфавита, символ подчёркивание "_", цифры 0-9 и спец. символы: @ # $ > < = - * [ ] { } + / ' , . : ; ^

3. Каждая строка должна заканчиваться точкой с запятой! Однако есть исключения: Если после данной строки (обозначим 1) стоит строка состоящая из одного слова end, то после строки 1 точку с запятой ставить не обязательно.

Code
Program   HelloWord1;

   begin   
    write ('Microsoft OUT! '); // Есть точка с запятой
   writeLn ('Hello World!')  // Можно не ставить, так как следующая строка end
   end.

Типы данных

Все программы работают с данными. Например, целые числа, вещественные числа, строки - это данные. Данные могут быть постоянными, например дата рождения, а могут быть и переменными, например возраст.

Теперь у нас есть задание посчитать три числа

(a+b+c)/2=e

Нам нужно ввести три числа a,b,c и узнать чему равно e.

Тут нам понадобятся переменные. В программе написанной на языке паскаль для переменных отводится специальная "секция" VAR (англ. VARiable - переменная) и каркас программы выглядит так:

Code
ИмяПрограммы;
   var
   Здесь идёт объявление переменных.
  begin
   Здесь идёт текст программы.

Переменные - это и есть наши данные. Так как Паскаль является строго типизированным языком, то каждой переменной ставится в соответствие свой тип. И для этой переменной разрещены операции допустимые типом. Но мы не всегда можем делать операции между типами: например нельзя сложить число 5 и строку 'Hello world!'!
Объявляются переменные таким образом:

Code
ИмяПеременной : ИмяТипа;

В языке Паскаль существует очень разветвлённая система типов и сегодня мы поговорим только 2 из них: Целые и Вещественные.

Теперь если у нас числа a,b,c целого типа(тоесть это могут быть числа 1,2,3,4).То а,b,c мы должны объявить следующим образом:

Code
Program Schet;
var
  a : integer;
  b : integer;
  c : integer;
begin
   Здесь идёт текст программы.
end.

Так же переменные одного типа можно записывать в строчку: a, b, c : integer;

Итак, теперь мы умеем выбирать нужный нам тип переменной, объявлять её.... теперь нам нужно научится что-то с ней делать.
Так как данные целого типа являются по существу математическими переменными, то для них определены операции:
:=
присваивание ( двоеточие и равно всегда пишутся слитно!)
Например присвоить переменной a значение 123:
a := 123;
Присвоить а значение b:
a := b;
Очень частая ошибка: забывают ставить двоеточие перед знаком равно! А что такое просто знак равно, мы поговорим позже и подробнее! Главное привыкнуть к такой записи :=

Сложение +
Идём от простого к сложному: присвоить переменной а значение 120 + 3:
а := 120 + 3;
Присвоить b значение а + 123:
b := a + 123;
Присвоить с значение a + b + 123:
c := a + b + 123;

Аналогично сложению делаем вычитание (самостоятельно).

Умножение
Оно тоже идёт по анологии со сложением но надо помнить приоритет операций!
Помните загадку: сколько будет два плюс два умножить на два?
Правильный ответ: 6 (т.к. сначала нужно умножать, а потом складывать 2 + 2 * 2)
Вот и в паскале нужно строго соблюдать приоритет операций! В этом вам поможет оператор ( )! Тут как в математике: операции в скобках имеют высший приоритет: т.е. (2 + 2) * 2 = 8 Т.к. сначала мы складываем 2 и 2.

Деление
Здесь все немного сложнее как мы уже с вами знаем Integer это только целые числа, а результат деления всегда вещественный! Т.е. не целый!

Возьмём тип Real

Напишите программу:

Code
Program Test;
begin
  writeLn (1.54321);
             Readln
end.

и вы увидите вот что: 1.54321000000E+00! Нам с вами, как программистам всё понятно, но вот как быть с пользователями?
Что нужно сделать, для того чтобы привести все в надлежащий вид?

После числа 1.54321 напишем :2:2

Code
writeLn (1.54321:2:2)

первая :2 - общее поле выводимой части
вторая :2 - дробная часть (точность)

Ну а теперь наверное самое интересное! Посчитаем наше уравнение (a+b+c)\2=e

Code
Program  Schet;

var
    a, b, c : integer;
     e : real;
begin
      writeLn ('Poschitaem (a+b+c)\2=e');

                 //Устанавливаем каждой переменной значение
      a := 3;
      b := 8;
      c := 5;
       
e:=(a+b+c)/2;   // Вычисляем уравнение
      
   writeLn (e);  //Вывод результата      

   readln;
end.

А что же делать, если мы хотим ввести наши числа с клавиатуры? Тут нам на помощь приходит функция ReadLn

Наша программа

Code
Program  Schet;

var
    a, b, c : integer;
     e : real;
begin
      writeLn ('Poschitaem (a+b+c)\2=e');
             
    ReadLn(a,b,c);   //Вводим значение с клавиатуры

    e:=(a+b+c)/2;                 // Вычисляем уравнение
       
   writeLn (e);   //Вывод результата      

   readln;
end.

На этом наш первый урок закончен. Если у вас что-то не получатся, либо вы не понимаете пишите, будем разбираться

Сообщение отредактировал Sharom - Суббота, 06 Февраля 2010, 20:52
SharomДата: Среда, 13 Января 2010, 22:46 | Сообщение # 169 | Тема: Visual Studio Express Edition какую выбрать!!! O_o
участник
Сейчас нет на сайте
Bender1911, Скажу что нет разницы на каком языке писать игру, все зависит от твоих знаний
SharomДата: Среда, 13 Января 2010, 22:08 | Сообщение # 170 | Тема: Visual Studio Express Edition какую выбрать!!! O_o
участник
Сейчас нет на сайте
Bender1911, нужно понять только основы, а дальше пойдет. Я лично предпочитаю Delphi. Если хочешь чтоб я разжевал тебе основы С подожди пару дней.
SharomДата: Среда, 13 Января 2010, 07:44 | Сообщение # 171 | Тема: Хакер: зона GOS
участник
Сейчас нет на сайте
BOOM, молодец, продолжай. Посмотрим что получится. Смотря на скрины я понял что это полнооконное приложение, честно говоря это не совсем удобно для такой игры
SharomДата: Вторник, 12 Января 2010, 18:07 | Сообщение # 172 | Тема: Во что играете сейчас?
участник
Сейчас нет на сайте
Star Wars:Jedi Outcast 1,2 и KOTOR 1,2 Графика хоть и не очень но сюжет и геймплей бомба. Уже десятый год прусь по Star Wars
SharomДата: Понедельник, 11 Января 2010, 19:26 | Сообщение # 173 | Тема: Хакер: зона GOS
участник
Сейчас нет на сайте
Еще в детстве играл в похожую игру, лет 9 назад уже и не вспомню название, там была продумана каждая возможность например для взлома нужно было читать литературу(в реале) потом писать или покупать программы прописывать вообщем приходилось все ручками что и прибавляло интерес потом комп сдох и все больше я не играл в нее
SharomДата: Воскресенье, 10 Января 2010, 00:13 | Сообщение # 174 | Тема: Кто может нарисовать арт?
участник
Сейчас нет на сайте
maxicorp, вот получилось не очень но контур остался попробую завтра еще разок
Прикрепления: 5550634.jpg (31.1 Kb)
SharomДата: Суббота, 09 Января 2010, 22:14 | Сообщение # 175 | Тема: Кто может нарисовать арт?
участник
Сейчас нет на сайте
Если хочешь могу сделать контур и разукрасить однотонными цветами
SharomДата: Суббота, 09 Января 2010, 01:00 | Сообщение # 176 | Тема: Zolo
участник
Сейчас нет на сайте
Apati, Всмысле сложности выполнения игры и ее возможностей. А так неплохая игра, поиграл и отдохнул
SharomДата: Пятница, 08 Января 2010, 21:52 | Сообщение # 177 | Тема: Помогите найти конвертор Java – Mrp
участник
Сейчас нет на сайте
Все просто залезай на онлайн сервисы конвертирования и все.
SharomДата: Пятница, 08 Января 2010, 21:40 | Сообщение # 178 | Тема: Zolo
участник
Сейчас нет на сайте
Если честно, как программист скажу что, игра более менее оценка 3/5. Как обычный пользователь могу сказать молодцы, подняло настроение.
SharomДата: Четверг, 07 Января 2010, 18:06 | Сообщение # 179 | Тема: Нормальные спрайты выкладываем тут!
участник
Сейчас нет на сайте
Сначала сделал контур в Соrеl, а потом наложил эффекты в Рhоtоshop
Прикрепления: 6929620.jpg (43.8 Kb)
SharomДата: Четверг, 07 Января 2010, 14:28 | Сообщение # 180 | Тема: sazdani dvizhka s nulya
участник
Сейчас нет на сайте
TovTripleZ, Ты сомневаешься что на Delphi можно написать движок для онлайн игр?
Поиск:

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