Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2009, 21:24   #361
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Вкладка Additional, 7-й по счету.
Вообще с подобными вопросами впредь в раздел "Общие вопросы Delphi".
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 04.08.2009, 14:42   #362
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

Народ,помогите плиз.На странице 9 этой темы был выложен исходник хода коня для шахмат.Начал разбирать его.Там есть такой код.
Код:
.........
function Cell2X(Cell: byte): byte;
begin
Result:=Cell mod 8;
end;
далее


function TForm1.DestCheck(x,y: byte): boolean;
var
TmpCell: byte;
dx, dy: byte;
begin
Result:=False;
TmpCell:=Coord2Cell(x,y);
dx:=Abs(x-Cell2X(StartCell));
dy:=Abs(y-Cell2Y(StartCell));
if (TmpCell <> StartCell) then
  if ((dx = 2) and (dy = 1)) or
     ((dx = 1) and (dy = 2)) then
     begin
     if dx = 2 then
       begin
         if (x > Cell2X(StartCell)) then
           stepX:=LongStep
         else
           stepX:=0-LongStep;
         if y > Cell2Y(StartCell) then
           stepY:=ShortStep
         else
           stepY:=0-ShortStep;
       end
     else
       begin
         if (x > Cell2X(StartCell)) then
           stepX:=ShortStep
         else
           stepX:=0-ShortStep;
         if y > Cell2Y(StartCell) then
           stepY:=LongStep
         else
           stepY:=0-LongStep;
       end;
     Result:=True;
     end;
end;
StartCell была описана ранее типом shortint и ей присвоено значение -1
Код:
...........
var
  StartCell: shortint = -1;
...........
Но при этом она вводится в функцию в которую должна вводиться переменная типа byte.Byte же не может быть отрицательным.Исходник работает как надо.Объясните,пожалуйста,почему так.

Последний раз редактировалось Beermonza; 06.08.2009 в 18:02.
-COREY- вне форума Ответить с цитированием
Старый 04.08.2009, 16:34   #363
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Почему это не может быть отрицательным?
Shadow_1329 вне форума Ответить с цитированием
Старый 04.08.2009, 17:23   #364
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

ну насколько я помню диапазон чисел типа byte 0..255.Да и в учебнике так написано.
-COREY- вне форума Ответить с цитированием
Старый 04.08.2009, 17:45   #365
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Ну про крайней мере будет перебор и ты получишь число 255 (256 + (-1)) помоему Возможно на это авторы и расчитывают.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 04.08.2009, 17:47   #366
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

А помоему там сказано что -255 - +255
Shadow_1329 вне форума Ответить с цитированием
Старый 10.08.2009, 18:40   #367
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

нет,точно от 0 до 255.Это и у Сухарева и у Культина в учебниках
-COREY- вне форума Ответить с цитированием
Старый 10.08.2009, 20:16   #368
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Числовые переменные типа Integer, Word или ShortInt и Byte можно приравнивать друг к другу, только вот если будет нарушен диапазон например Byte (0 - 255), то значения будут вырезаться относительно битов. Если приравнять числу типа Byte переменную типа ShortInt значение которой минус один (-1) то значение переменной типа Byte будет 255.
Так же все эти переменные переводятся в строковый тип одной и той же функцией IntToStr();
Смотреть нужно внимательно, и не допускать прохождения в код вычислений некорректных присвоений, ...только в условиях, как флаги, и то, спорный момент.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 10.08.2009 в 20:19.
Beermonza вне форума Ответить с цитированием
Старый 12.08.2009, 23:23   #369
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Восклицание Соблюдайте правила

Убедительная просьба ко всем создающим здесь сообщения, пожалуйста не задавайте мелкие вопросы общего характера "как нажать кнопку", "не могу запустить код", "как заставить панель двигаться по экрану", "как вывести в Image картинку из файла" и пр. Для этого есть раздел "Общие вопросы Delphi". Если ваше сообщение касается игр, и есть частный вопрос, создавайте новую тему. Здесь же задаются глобальные вопросы, вопросы по уже имеющимся урокам, размещаются статьи и уроки касающиеся создания игр простыми способами, или способами средней сложности.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 16.09.2009, 16:10   #370
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

Кто-нибудь может написать о создании сетевой игры небольшой урок (для Дельфи, не браузерную)? Какие компоненты использовать для содинения лучше (ведь их много, многие разделены на 2 части - клиент и сервер, как организовать перебор адресов/портов), как организовать ходы лучше (например нужно ли создавать объекты для других игроков или ограничиться изменением картинки и параметров), как будут соотноситься компьютерные противники (монстры) и персонажи (вероятно на сервере должны ходить монстры), как организовать сервер (например можно на простом хостинге создать демон-скрипт, который будет раздавать информацию клиентам, или в любом экземпляре программы лучше создавать сервер, к которому напрямую будут подключаться желающие, или есть постоянный хостинг (про хостинг я говорю как про бесплатную, хоть и ограниченную возможность создать игровой сервер) на который будут поступать запросы клинтов о подключении/создании экземпляра игры(карты), а он будет только рассылать информацию клинтам о друг друге (ип и порты), чтобы программа потом сама соединялась)?
В общем какие-то основы расскажите. Уф-ф-ф. Вроде написал. Понимаю, что читать сложно, поэтому ввел начертание.

p.s. если что, за грамматику извините. Предупреждаю сразу))
Упс...

Последний раз редактировалось Beermonza; 13.01.2011 в 19:21.
L_M вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хорошие уроки Render Общие вопросы Delphi 9 15.09.2012 07:13
Акцесс вопросы новичков Yaga Помощь студентам 4 02.06.2008 00:16
Учебники для новичков в програмировании Рар Общие вопросы Delphi 6 08.01.2007 08:07