This is a two players, one keyboard Pong written in C with “graphics” using the ncurses library. It was written over a year and a half ago and I haven’t read the code since, so it’s likely to be total or at least partial crap.
Playing it now I can spot two immediate flaws that I should’ve done something about. First of all the ball always moves at the same angle and speed. Second of all if you press and hold a key to move, the opponent can press a key and your movement will stop.
Other than that it’s pretty straight forward, just compile the C source file and play, against yourself or with a friend, an up and down key pair each.
It’s free as in free speech (and free beer) so you have no restrictions regarding usage or modifications to it, but it’s always nice to hear from anyone using what you make so feel free to post a comment or send me a mail. Any bug fixes, improvements or other additions would be neat to get so I can host any new versions here. :)
Fails with gcc 4.6 on Debian wheezy:
pong.c: In function ‘main’:
pong.c:69:38: warning: incompatible implicit declaration of built-in function ‘strlen’ [enabled by default]
/tmp/ccHRBQU5.o: In function `main’:
pong.c:(.text+0x3c): undefined reference to `initscr’
pong.c:(.text+0x41): undefined reference to `cbreak’
[…]
pong.c:(.text+0xe2f): undefined reference to `stdscr’
pong.c:(.text+0xe37): undefined reference to `wrefresh’
collect2: ld returned 1 exit status
@dbbolton: That’s because you’re not compiling it with ncurses (probably should have mentioned that in the post). Add -lncurses to the command and it should compile better. :)
really mates ? ,
no one coded a ncursed based pong game yet that is
in the official repository !
cant believe
so i´m gonna do it
its gonna be aw-( wait for it )-some ! ! !
The code that is provide is not working.
Compiling results into errors.
~/Downloads$ gcc pong.c -o pong -lncurses
pong.c: In function ‘main’:
pong.c:69: warning: incompatible implicit declaration of built-in function ‘strlen’
/tmp/ccIfE2oq.o: In function `main’:
pong.c:(.text+0x8d3): undefined reference to `pthread_create’
collect2: ld returned 1 exit status
Could you please improve the code (and posix’s it )?
thanks a lot!
@minimour Have you tried adding -pthread to the command?