Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отрисовка символов 
V
    Опции темы
anwe
Дата 23.10.2006, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 748
Регистрация: 2.9.2006

Репутация: 1
Всего: 23



Цитата
Но не буду тебя грузить, и так достал уже наверно...
Нет, иначе я бы здесь не сидел.
Но есть "но". Такую ошибку, а скорее недочет ты бы и сам нашел. Это же элементарно. Пробуй! Программирование - наука экспериментальная.

У тебя разрешение 320х200, что значит 320 точек в  строке, а строк 200. Нас сейчас интересует количество точек в строке. Ты добавляешь 616 и перескакиваешь через строку: 320*2=660 плюс наклон и минус длина линии. А ты сделай тоже, но в следующей строке: 320-25 (длина линии) + 1 (смещение для наклона).

Но тогда, возможно, изменится наклон. Проверь. Скорее всего да. Сейчас, просто поздно  smile 
Если так, тогда оставляй все как есть, но прорисовывай две линии. То есть прямо в цикле делай так:
Код

...
 mov es:[bx],al
 mov es:[bx+320],al
 add bx,1
...
 понатно, что 320 - это переход на следующую линию строго под первой.
Тогда у тебя, как бы утолщится каждая линия и они дожны слиться воедино. И наклон не должен изменится.
Вот тебе два варианта.

Это сообщение отредактировал(а) anwe - 24.10.2006, 00:05
PM MAIL   Вверх
jaAlex
Дата 31.10.2006, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 31.5.2006
Где: Краснодар

Репутация: нет
Всего: нет



anwe, большое спасибо за помощь. В итоге я почитал тут умные книжки и сделал все заливкой, с закругленными краями. Ну, в общем, красиво.
PM MAIL   Вверх
anwe
Дата 31.10.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 748
Регистрация: 2.9.2006

Репутация: 1
Всего: 23



А полюбоваться можно? прикрепи, если не сложно, результат.
PM MAIL   Вверх
jaAlex
Дата 3.11.2006, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 31.5.2006
Где: Краснодар

Репутация: нет
Всего: нет



Цитата(anwe @  31.10.2006,  14:17 Найти цитируемый пост)
А полюбоваться можно? прикрепи, если не сложно, результат.


Вот только сделаю еще парочку фишек с книжки и выложу. Ну, в общем, скоро будет.
PM MAIL   Вверх
jaAlex
Дата 14.11.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 31.5.2006
Где: Краснодар

Репутация: нет
Всего: нет



Код

Program KAA;
Var Chessfill: word;

Procedure figure ( K1,K2, H, kl1, kh1, kl2, kh2, al1, ah1, al2, ah2: word);assembler;
asm
  mov ax,0A000h
  mov es, ax
  cld
  mov di, K1
  mov si, K2
  mov ax, di
  mov bx, 320
  xor dx, dx
  div bx
  mov Chessfill, ax
  xor dx, dx
  xor bx, bx
  mov al, 13
  mov cx, H
@l: push cx
  push di
  mov ax, cx
  add ax,di
  add ax, Chessfill
  mov cx, si
  sub cx, di
  jnc @nc
  neg cx
  std
@nc:  shr ax, 1
  sbb ax,ax
  not ah
  and ax, $0A0A
@l2:  stosb
  xchg ah, al
loop @l2
  rep stosb
  pop di
  add dx, kl1
  adc di, kh1
  add bx, kl2
  adc si, kh2
  mov cx, al1
  add kl1, cx
  mov cx, ah1
  adc kh1, cx
  mov cx, al2
  add kl2, cx
  mov cx, ah2
  adc kh2, cx
  pop cx
  loop @l
end;

begin
asm
  mov ax, 13h
  int 10h
end;

figure(10*320+20,10*320+40,100,0,320,0,320,0,0,0,0);
figure(50*320+40,50*320+60,60,42768,320,0,321,65536-595,65536-1,65536-1192,65536-1);
figure(10*320+55,10*320+75,40,42768,319,0,320,65536-795,65536-1,65536-1192,65536-1);
figure(60*320+120,60*320+130,80,42768,319,0,320,0,0,0,0);
Figure(60*320+153,60*320+163,80,0,320,65536-42768,320,0,0,0,0);
figure(40*320+130,40*320+150,20,32768,319,0,321,65536-121,65536-1,65536-2126,65536-1);
figure(95*320+130,95*320+153,20,65536-1986,319,0,320,0,0,0,0);
figure(100*320+225,100*320+235,80,42768,319,0,320,0,0,0,0);
figure(100*320+255,100*320+265,80,0,320,65536-42768,320,0,0,0,0);
figure(80*320+235,80*320+252,20,32768,319,0,321,65536-121,65536-1,65536-2126,65536-1);
figure(130*320+235,130*320+255,20,65536-1986,319,0,320,0,0,0,0);

asm
  xor ah,ah
  int 16h
  mov ax, 3
  int 10h
end;

end.


Долго не отвечал, занят был... В общем, вот что у меня получилось. Шахматная однобайтовая заливка. А написаны мои инициалы. По - моему, нормально получилось.
PM MAIL   Вверх
anwe
Дата 14.11.2006, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 748
Регистрация: 2.9.2006

Репутация: 1
Всего: 23



Ну ты и приколист!  smile 
Только у букв "А" сверху не хватает по одной линии справа. Присмотрись.
PM MAIL   Вверх
jaAlex
Дата 16.11.2006, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 31.5.2006
Где: Краснодар

Репутация: нет
Всего: нет



anwe, дк на скорую руку делал... Еще хотел спросить, как сделать заливку этих буковок таким же способом, но 4 - байтовой заливкой???
PM MAIL   Вверх
anwe
Дата 20.11.2006, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 748
Регистрация: 2.9.2006

Репутация: 1
Всего: 23



При 4-байтовой байт 0 содержит значение синего цвета, 1 - зеленого, 2 - красного, 3 - резервный. И еще при разрешении 320х200 это номер функции... забыл  smile , блин, или 10E или 10F, кажется.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.