Larfis Posted November 30, 2019 at 03:01 PM Report Share #616746 Posted November 30, 2019 at 03:01 PM Boa tarde, venho hoje pedir ajuda a resolver um problema que tenho no meu programa. O programa é um jogo simples de Pong, no qual eu tenho uma função para User Input (mexer as barras para cima e para baixo). Ela está assim de momento: Procedure TeclaPressionada; begin if keypressed then begin case upcase(readkey) of #0:Begin case upcase(readkey) of #80: desenhoBar('B', 1); #72: desenhoBar('B', 0); end; end; #56: desenhoBar ('B', 0); #50: desenhoBar ('B', 1); 'W': desenhoBar ('A', 0); 'S': desenhoBar ('A', 1); 'P': while (upcase(readkey) <> 'P') do ; 'R': reseter(); 'F': Ajogar:= false; end; end; end; O problema é que ao usar uma função deste tipo, com readkeys, é que apenas uma tecla pode ser pressionada ao mesmo tempo. A minha professora não me deixa fazer o trabalho noutra lingua, e, visto que o público-alvo do dia da apresentação é a turma de sexto ano da professora, é provável que eles joguem sujo e nao deixem o oponente jogar (premindo as suas próprias teclas, o que impede o adversário de jogar). Gostaria de saber se há alguma maneira de usar eventos no pascalzim, de modo a evitar este problema. (E, já agora, se há alguma maneira de rodar executáveis atráves do pascalzim). Obrigado! Link to comment Share on other sites More sharing options...
passarito Posted December 5, 2019 at 03:38 PM Report Share #616786 Posted December 5, 2019 at 03:38 PM Há muitos, muitos anos, fiz um jogo do mesmo género e tive 2 problemas com teclas. Esse que referes, mas pior ainda, era o delay entre a primeira movimentação e as seguintes. Para resolver esses problemas tive de usar uma rotina de leitura de teclas em assembley que vinha numa revista chamada Spooler. Hoje à noite vou vasculhar as minhas velharias e procurar o programa, se encontrar o programa eu passo-te a solução para os teus problemas. Entretanto também podes "googlear" ou perguntares aqui no forum na area de assembley 1 Report Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now