![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
K Y S K A |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
Как задать ридкэй пробел???
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Что значит "задать"?
Проверить, вернула ли ReadKey пробел? Или ждать до нажатия пробела? |
K Y S K A |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
не ту меня програ считывает клавишу, ьесли на верх, то одно происходит, если вниз, то другое, а если пробел , то должно произойти третье, но я забыла, как пробел будет
![]() ![]() |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
#32 |
K Y S K A |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
Код program igra; uses crt; const left = #75; right = #77; up = #72; down = #80; var x, y, b, i, g, f,d: integer; c: char; mineXe:array [1..100] of integer; mineYe: array [1..100] of integer; procedure net; begin for i:= 1 to 10 do if (x=minexe[i]) and ( y=mineye[i]-1)or ((x=minexe[i]-2) and ( y=mineye[i]-1)) then begin textcolor(lightred); gotoxy(35,3); writeln('Mine was deleted!!!'); readkey; clrsrc; minexe[i]:=0; mineye[i]:=0; end; end; procedure show_man; begin textcolor(yellow); gotoxy(x, y+0); write(' O'); gotoxy(x, y+1); write('XXX'); gotoxy(x, y+2); write(' X'); gotoxy(x, y+3); write('X X'); end; procedure fill; begin randomize; for i:= 1 to 10 do begin minexe[i]:=random(50); mineye[i]:=random(50); end; end; procedure boom; begin for i:=1 to 10 do begin textcolor(red); gotoxy(minexe[i], mineye[i]); write('@'); end; end; procedure min; begin for i:= 1 to 10 do begin if (x=minexe[i]) and ( y=mineye[i]-3)or ((x=minexe[i]-2) and ( y=mineye[i]-3)) then begin clrscr; textcolor(lightred); gotoxy(35,3); writeln('You are dead!!!'); textcolor(lightgray); readkey; halt; end; end; end; begin clrscr; gotoxy(35,3); writeln('Choose level:'); gotoxy(35,4); writeln('1. Legko'); gotoxy(35,5); writeln('2. Slozno'); read(d); case d of 1: d:=150; 2: d:=50; end; b := 0; x :=5; y :=20; fill; show_man; boom; min; repeat c:=readkey; case c of #0: case readkey of left : dec(x); right: inc(x); up : dec(y); down : inc(y); ' ': net; end; end; clrscr; show_man; boom; min; b:=b+1; until b=d; readkey; end. не могу понять, почему не работает, она должна при подводе руки к мине и нажатии пробела должна удалять мину, а она этого не делает??? |
Ozzя |
![]()
Сообщение
#6
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: ![]() ![]() ![]() |
надо вынести обработку пробела, так как у курсорных клавиш код двойной, сначала #0, а затем #код_клавиши
|
K Y S K A |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
Ага спасибо, теперь работает!
|
K Y S K A |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Женский Реальное имя: Оля Репутация: ![]() ![]() ![]() |
а КАК shIFT, CTRL, ALT, ENTER, F1 ПО ПАСКАЛЕВСКИ???
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Enter = #13
F1 = #0 + #59 А вот остальные - это "регистровые" клавиши, тут другой подход нужен... Смотри здесь: http://forum.pascalnet.ru/index.php?showt...indpost&p=31199 |
APAL |
![]()
Сообщение
#10
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Код Var KeyFlag : Byte absolute $0:$417; { Check Alt: AltKeyPressed:=(KeyFlag and $08) } { keyflag: 7 6 5 4 3 2 1 0 } { і і і і і і і АД RightShift $01 } { і і і і і і АДДД LeftShift $02 } { і і і і і АДДДДД Ctrl $04 } { і і і і АДДДДДДД Alt $08 } { і і і АДДДДДДДДД ScrollLock $10 } { і і АДДДДДДДДДДД NumLock $20 } { і АДДДДДДДДДДДДД CapsLock $40 } { АДДДДДДДДДДДДДДД InsLock $80 } -------------------- |
Alex7 |
![]()
Сообщение
#11
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 85 Пол: Мужской Репутация: ![]() ![]() ![]() |
APAL , Это чо такое?
|
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
Alex7, это распределение битов в байте, расположенном по адресу $0:$417, с помощью которого контролируются нажатия Регистровых кнопок...
|
Alex7 |
![]()
Сообщение
#13
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 85 Пол: Мужской Репутация: ![]() ![]() ![]() |
А можно чуть подробней рассказать, или сказать где прочитать про дресс $0:$417
![]() |
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Наверху есть ссылка...
|
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 10:44 |