Subversion Repositories Kolibri OS

Rev

Rev 5232 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef BOARD_H
  2. #define BOARD_H
  3.  
  4. #include "defines.h"
  5. #include "cell.h"
  6.  
  7. // Draw a new board
  8. void board_init(rect* r);
  9.  
  10. // Free board resources
  11. void board_delete();
  12.  
  13. // Redraw board and all content (animation will started if needed)
  14. void board_redraw();
  15.  
  16. // Add one tile with 2 or 4 value in a random cell place
  17. // Return true if tile added, false - if no more place for tile
  18. __u8 board_add_random_tile();
  19.  
  20. // Add one tile with needed value to needed position
  21. // No return value. Used for loading from file.
  22. void board_add_tile(__u32 value, __u16 index);
  23.  
  24. // Check for available moves
  25. // Return true if board has moves, false - if not
  26. __u8 board_has_moves();
  27.  
  28. // Get score
  29. __u32 board_score();
  30. __u32 board_highscore();
  31.  
  32. // Try to move all tiles up
  33. // Will return true if something moved or false - if not
  34. __u8 board_up();
  35.  
  36. // Try to move all tiles down
  37. // Will return true if something moved or false - if not
  38. __u8 board_down();
  39.  
  40. // Try to move all tiles left
  41. // Will return true if something moved or false - if not
  42. __u8 board_left();
  43.  
  44. // Try to move all tiles right
  45. // Will return true if something moved or false - if not
  46. __u8 board_right();
  47.  
  48. #endif // BOARD_H
  49.