]> git.armaanb.net Git - pong.git/blobdiff - pong.c
Revert paddle speed reduction
[pong.git] / pong.c
diff --git a/pong.c b/pong.c
index cea4d2ad555187b3155b73e8ea910a5d80441cf3..eba648aa7b483c1036be7175e5af468dd9076e65 100644 (file)
--- a/pong.c
+++ b/pong.c
@@ -38,10 +38,7 @@ randsign(void)
 int
 main(void) {
        srand((unsigned int)time(NULL));
-       int aoff = 0, boff = 0;
-       int max_y, max_x;
-       int max_y_new = 0, max_x_new = 0;
-       int pad_h = 5;
+       int max_y, max_x, max_y_new, max_x_new;
        int a_score = 0, b_score = 0;
        int slope_x = randslope();
        int index_dir = randsign();
@@ -59,6 +56,9 @@ main(void) {
        --max_y;
        int y = max_y/2;
        int x = max_x/2;
+       int pad_h = 0.2 * max_y;
+       int aoff = max_y / 2 - pad_h;
+       int boff = max_y / 2 - pad_h;
 
        gettimeofday(&start, NULL);
        while(1) {
@@ -78,13 +78,24 @@ main(void) {
                if (key == 'q') {
                        die(0);
                } else if (key == 'k') {
-                       if (boff < max_y - pad_h) boff += 1;
+                       if (boff < max_y - pad_h) boff += 2;
                } else if (key == 'i') {
-                       if (boff > 0) boff -= 1;
+                       if (boff > 0) boff -= 2;
                } else if (key == 's') {
-                       if (aoff < max_y - pad_h) aoff += 1;
+                       if (aoff < max_y - pad_h) aoff += 2;
                } else if (key == 'w') {
-                       if (aoff > 0) aoff -= 1;
+                       if (aoff > 0) aoff -= 2;
+               } else if (key == 27) {
+                       while(1) {
+                               key = getch();
+                               mvprintw(0, 0, "PAUSED");
+                               if (key == 27) {
+                                       clear();
+                                       break;
+                               } else if (key == 'q') {
+                                       die(0);
+                               }
+                       }
                }
 
                // Clear screen
@@ -149,6 +160,8 @@ main(void) {
                        slope_x = randslope();
                        index_dir = randsign();
                        speed = randspeed();
+                       aoff = max_y / 2 - pad_h;
+                       boff = max_y / 2 - pad_h;
                        sleep(1);
                } else if (y == 0 || y == max_y) {
                        // Ball hits top or bottom wall