aboutsummaryrefslogtreecommitdiff
path: root/progress/src/procesar.c
blob: aa7f10498a4f78b5ab6a07ccde348755843e2056 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include "main.h"

int processEvents(SDL_Window *window,GameState *gameState)
{
  SDL_Event event;
  int done = 0;

  while(SDL_PollEvent(&event))
  {
    switch(event.type)
    {
      case SDL_WINDOWEVENT_CLOSE:
      {
        if(window)
        {
          SDL_DestroyWindow(window);
          window = NULL;
          done = 1;
        }
      }
      break;
      case SDL_KEYDOWN:
      {
        switch(event.key.keysym.sym)
        {
          case SDLK_ESCAPE:
            done = 1;
          break;

          case SDLK_e:
          {
            if(!gameState->player2.facing_left)
            {
              gameState->player2.shooting = addBullet(gameState->player2.x+35, gameState->player2.y+20, 7, gameState, 2);
            }
            else
            {
              gameState->player2.shooting = addBullet(gameState->player2.x+5, gameState->player2.y+20, -7, gameState, 2);
            }
            if(gameState->player2.shooting)
                Mix_PlayChannel(-1, gameState->disparo, 0);
          }
          break;
        }
      }
      break;
      case SDL_QUIT:
        //quit out of the game
        done = 1;
      break;

      case SDL_MOUSEBUTTONDOWN:
      {
        if(!gameState->player1.facing_left)
        {
          gameState->player1.shooting = addBullet(gameState->player1.x+35, gameState->player1.y+20, 7, gameState, 1);
        }
        else
        {
          gameState->player1.shooting = addBullet(gameState->player1.x+5, gameState->player1.y+20, -7, gameState, 1);
        }
        if(gameState->player1.shooting)
            Mix_PlayChannel(-1, gameState->disparo, 0);
      }
      break;
    }
  }

  const Uint8 *state = SDL_GetKeyboardState(NULL);
  if(state[SDL_SCANCODE_LEFT])
  {
    gameState->player1.x -= 5;
    gameState->player1.facing_left = 1;
    gameState->player1.walking = 1;
  }
  if(state[SDL_SCANCODE_RIGHT])
  {
    gameState->player1.x += 5;
    gameState->player1.facing_left = 0;
    gameState->player1.walking = 1;
  }
  if(state[SDL_SCANCODE_UP])
  {
    if(gameState->player1.salto == 1 && gameState->player1.dy != 0)
    {

    }
    else if(gameState->player1.salto == 0 && gameState->player1.dy == 0)
    {
        gameState->player1.dy = -15;
        gameState->player1.salto = 1;
    }
  }
  if(state[SDL_SCANCODE_A])
  {
    gameState->player2.x -= 5;
    gameState->player2.facing_left = 1;
    gameState->player2.walking = 1;
  }
  if(state[SDL_SCANCODE_D])
  {
    gameState->player2.x += 5;
    gameState->player2.facing_left = 0;
    gameState->player2.walking = 1;
  }
  if(state[SDL_SCANCODE_W])
  {
    if(gameState->player2.salto == 1 && gameState->player2.dy != 0)
    {

    }
    else if(gameState->player2.salto == 0 && gameState->player2.dy == 0)
    {
        gameState->player2.dy = -15;
        gameState->player2.salto = 1;
    }
  }
  if(state[SDL_SCANCODE_SPACE])
  {
      gameState->player2.y -= 5;
  }
  if(state[SDL_SCANCODE_S])
  {
      gameState->player2.y += 5;
  }
  return done;
}