No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

72 líneas
1.1 KiB

  1. #include <stdlib.h>
  2. #include "common.h"
  3. void init_weapons( game *g, weapons *wp )
  4. {
  5. int i;
  6. for( i = 0; i < SHOTS; i++ )
  7. {
  8. wp->x[i] = -1;
  9. wp->y[i] = -1;
  10. wp->v[i] = 0;
  11. }
  12. }
  13. void draw_weapons( game *g, weapons *wp )
  14. {
  15. int i;
  16. for( i = 0; i < SHOTS; i++ )
  17. {
  18. if( wp->x[i] >= 0 )
  19. {
  20. GFX_COLOR( WHITE );
  21. GFX_GOTO( wp->x[i], wp->y[i] );
  22. GFX_WRITE( '|' );
  23. GFX_COLOR( CYAN );
  24. GFX_GOTO( wp->x[i], wp->y[i] + 1 );
  25. GFX_WRITE( '|' );
  26. }
  27. }
  28. }
  29. void update_weapons( game *g, weapons *wp )
  30. {
  31. int i;
  32. for( i = 0; i < SHOTS; i++ )
  33. {
  34. if( wp->y[i] < 0 )
  35. {
  36. wp->x[i] = -1;
  37. wp->y[i] = -1;
  38. }
  39. else
  40. {
  41. wp->y[i] += wp->v[i];
  42. /* Check collisions */
  43. }
  44. }
  45. }
  46. void add_weapon( game *g, weapons *wp, int x, int y )
  47. {
  48. int i;
  49. for( i = 0; i < SHOTS; i++ )
  50. {
  51. if( wp->y[i] < 0 )
  52. {
  53. wp->x[i] = x;
  54. wp->y[i] = y;
  55. wp->v[i] = -2;
  56. break;
  57. }
  58. }
  59. }