Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Simultaneous Keyboard Input in C++


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 Haplo   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 December 1999 - 06:56 AM

I'm a student in high school and I just finnished an independant project of mine for my Computer Science class. I used learnt C++ and made Pong, however it's only one player because I don't know how to read in simultaneous keyboard input. The problem I ran into was that if player1 pushed up to move his paddle upwards and then player2 did the same, player2 would lock out player1 and only player2's paddle would move. I asked my teacher and searched the internet to find an example in C or C++ but I came up dry. I would really appreciate it if anyone could point me in the right direction because I really want to make the game as good as I can possibly make it.

Sponsor:

#2 todderod   Members   -  Reputation: 152

Like
Likes
Like

Posted 13 December 1999 - 09:02 PM

I am not much of a DOS or Windows programmer, but I do know that by using, DirectX's DirectInput this can be accomplished. Because In DirectInput you just check wether or not a key is pressed at a certain time or not.

NOTE: Keyboards has a limit to how meny keys that can be pressed at the same time. Pressing four to five keys at the same time should be no problem however.


#3 Stark   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 December 1999 - 05:26 AM

What API did you use to write your PONG clone?

Not 100% sure about this (I've never actually done game code in DOS), but if it isn't DirectX, couldn't you just write code to allocate time slices to each player for input instead of 'locking' the game while a key is pressed?

I.E. Write a piece of code to buffer the keyboard input and then just get the last key, process it and move onto the next, then graphics, update etc., repeating until the game is over.

This is essentially how I've written code to work over networks, so I assume it'd be similar.

Hope this helped.

[This message has been edited by Stark (edited December 14, 1999).]


#4 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 14 December 1999 - 06:11 AM

Why oh why is the PC keyboard so pathetically crap? I coded half my game (four player split screen) before I realised this limitation. The Amiga didn't have this problem.. It just winds me up that you pay £1000+ for a PC and get a £2.99 keyboard with it.

#5 STG   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 December 1999 - 06:22 AM

Do USB keyboards have this maximum limit too?



#6 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 14 December 1999 - 06:43 AM

If you are using dos then all you have to do is steal the keyboard interrupt. Every time you press a key the keyboard interrupt is called and you get the result from getch(), or whatever function you are using. If you write your own handler, using scan codes, make and break codes you can handle up to about 12 simultaneous keys. Go to www.delorie.com and check out the docs on djgpp for information. You'll have to save the old interrupt vector, and replace it with the new vector. Andre La Moth's books also go over this process in great detail.

#7 Paladin   Members   -  Reputation: 122

Like
Likes
Like

Posted 14 December 1999 - 06:56 AM

Hmm... actually does anyone know how to "fix" this crumpy new keyboards and make over 10 key simulated presses possible ? I just know that in some older keyboards this worked better because those old ones were nice, compared to this "more cheap" ones... (yes, they made some "fixes" for new keyboards to get lower prices.... darn).




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS