![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Freedom Fighter Сообщений: 1 852 Спасибо сказали: 4031 раз ![]() |
Задача чуть-чуть сложнее, но это не суть... Заткнулся на кусочке где нужно шэйп раз в шаг таймера двигать на 1 вверх или вниз и на 1 влево или вправо, вроде всё должно быть просто, но не работает: постоянно движется вверх-влево... Никак не пойму в чём может быть проблема...
Код procedure TForm1.Timer1Timer(Sender: TObject);
begin randomize; if random(1)>0 then Shape1.Top:=Shape1.Top+1 else Shapes.Top:=Shapes[1].Top-1; randomize; if random(1)>0 then Shape1.Top:=Shape1.Top+1 else Shapes.Top:=Shapes[1].Top-1; end; -------------------- In this wild and woolly universe of ours, there are only three things you can count on: your brains, your bros, and your bike! |
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Не поленилась, вот, дизассемблировать свой вариант RandomSgn:
Код push dword 0x1 call dword 0x4054fb mov ebx, eax neg ebx or ebx, 0x1 ...и, дабы уж сразу, аналог by Berserker... Код push dword 0x1 call dword 0x4054fb mov ebx, eax add ebx, ebx neg ebx inc ebx Дело, в принципе, хозяйское (+/- операнд). Suum cique. -------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 30 August 2025 - 21:43 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|