Kombinacja klawiszy w pewnym czasie

0

Witam!
Muszę napisać grę w pascalu, a że moja wyobraźnia jest większa od posiadanej wiedzy w zakresie programowania dlatego swoje pytania kieruję do kolegów z większym doświadczeniem :) Otóż jak zrobić/napisać w pascalu taką funkcję w której użytkownik grający w moją grę będzie musiał zrobić pewną kombinację klawiszy (np. nnww) w jakimś tam limicie czasowym (np. 2 sek) żeby przejść dalej? Na przykładzie to miałoby wyglądać tak, pojawia się potwór aby go zabić musisz wykonać podaną kombinację klawiszy w czasie mniejszym niż 2 sek [i pojawia się[ : nnww.

Wydaje mi się, że w miarę jasno to opisałem :P Czekam na jakąś pomoc

PS. Szukałem na forum czegoś w tym rodzaju, ale nie znalazłem :(

1
zaczynasz liczyc czas.
w petli
  sprawdzasz czy zostal wcisniety jakis klawisz: //if KeyPressed
      jesli tak to:
         odczytujesz klwisz(ReadKey).
         sprawdzasz czy jest jednym z TYCH klawiszy.
             jesli tak to zapamietujez.

  sprawdzasz czy czas>2 sek:
      jesli tak to sprawdzasz zapamietane klawisze
          jesli wszystkie zostaly wcisniete to OK
          w przeciwnym wypadku: GAME_OVER.
koniec petli (jesli OK lub GAME_OVER);

liczenie czasu: Pomiar czasu trwania procedury
zapamietywanie klawiszy: mozna trzymac w zmiennych jako true/false lub w tablicy: http://turbopascal.skryptoteka.pl/11.html

0

Dzięki za szybką odpowiedź :)
Z tego co przeczytałem, dowiedziałem się i zauważyłem to adres zegara rzeczywistego ($0040:$006C) działa w TP :) a ja pracuje jedynie w FP.

0

jeśli piszesz pod windows, to wartość DOS-owego zegara odczytasz przez GetTickCount. a lepiej użyć QueryPerformanceFrequency i QueryPerformanceCounter.
uses windows;

0

Czyli zamiast $0040:$006C podstawić GetTickCount? :P

2

Czyli zamiast $0040:$006C podstawić GetTickCount?

GetTickCount to nie adres tylko procedura. Jeśli nie umiesz pascala/delphi to najpierw musisz go ogarnąć, wiesz? Masz od tego dobre poradniki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1