我是Pascal的初學者,我正在開發一個小型的WIngraph遊戲。在遊戲的某個時刻,角色(這是一個塊)必須放下(該塊獲得其原始高度的一半)。我想在按住箭頭鍵的同時發生這種情況,但我實現它的方式實際上並不奏效。我的另一個問題是我不知道如何同時讀取按鍵(例如,在右側跳躍時需要這樣做)。Pascal中的鍵盤管理
那怎麼我試着寫它:
procedure joystick;
begin
key:=readkey;
case key of
#0:begin
key:=readkey;
case key of
#80:with block do
begin
y1:=y2-100; //make it get half of its height
repeat
moveblock; //these are the drawing routines.
moveball; //they are in another procedure, which is the 'main loop'
collisioncheck;
draw; //i expected the code to run inside here with the block's
alternateball; //height changed, and as soon as the arrow key gets released
updateGraph(updateNow); //it should go back to the 'main loop'
killball;
delay(10);
until keypressed = false; //<--thats what i think is not working
y1:=y2-200; //this would make the block get normal again
end;
end;
end;
end;
我預期的代碼,而鍵被按下一切正常,一旦它的發佈,該塊應該得到它的正常高度,然後程序會基於主循環運行,但在此過程之外。
一切工作,除了鑰匙持有的東西。
請發佈您的**實際**代碼。如果沒有它,我們不能分辨出你做錯了什麼。 (想想這樣 - 告訴你的汽車修理工,「我的車發出有趣的聲音,這是一輛紅色的汽車,看起來就像停在那兒的那輛車,我的車出了什麼問題?」你會期待答案嗎?希望不會)。我們無法從這裏讀取您的代碼(或您的想法);我們只有你提供給我們在這裏工作的東西。請編輯您的問題併發布您的實際代碼;在發佈時通過按照需要縮進每行四(或更多)個空格來對其進行格式化,以便它可讀,並在您輸入的地方預覽。謝謝。 –
這是代碼:http://pastebin.com/AqkD90kL – Thiago
幾乎在那裏。 :-)首先,你的代碼需要在這裏**,而不是在pastebin。如果由於某種原因pastebin被關閉或鏈接消失,你的問題變得毫無意義。其次,你發佈**的方式**太多的代碼;你只需要在這裏發佈關於處理密鑰的部分。 [StackOverflow不會讀取所有](http://meta.stackexchange.com/a/129787/172661) - 將它減少到給你帶來麻煩的部分,並將它發佈到你的問題。我們想幫助你,但是這裏有很多問題,你需要通過提出很好的問題來幫助我們。謝謝。 :-) –