Advertisement
Guest User

Untitled

a guest
Mar 1st, 2015
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* run2048.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: mery <mery@student.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/02/28 13:24:01 by aastruc #+# #+# */
  9. /* Updated: 2015/03/01 17:38:14 by mery ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12.  
  13. #include "game_2048.h"
  14.  
  15. void ft_initgrid(t_2048 *g_2048)
  16. {
  17. int i;
  18. int j;
  19.  
  20. i = 0;
  21. j = 0;
  22. while (i < 4)
  23. {
  24. j = 0;
  25. while (j < 4)
  26. {
  27. g_2048->grid[i][j] = 0;
  28. j++;
  29. }
  30. i++;
  31. }
  32. }
  33.  
  34. void printwin(t_coor *tabsize)
  35. {
  36. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) - 3, "Y");
  37. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) - 2, "O");
  38. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) - 1, "U");
  39. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) + 1, "W");
  40. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) + 2, "I");
  41. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) + 3, "N");
  42. }
  43.  
  44. void printfail(t_coor *tabsize)
  45. {
  46. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) - 3, "Y");
  47. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) - 2, "O");
  48. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) - 1, "U");
  49. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) + 1, "F");
  50. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) + 2, "A");
  51. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) + 3, "I");
  52. mvprintw(((tabsize->y - 1) / 2), ((tabsize->x - 1) / 2) + 4, "L");
  53. }
  54.  
  55. void ft_run(t_2048 *g_2048)
  56. {
  57. int key;
  58. t_coor tabsize;
  59.  
  60. ft_initgrid(g_2048);
  61. addrand(g_2048);
  62. addrand(g_2048);
  63. while (42)
  64. {
  65. getmaxyx(stdscr, tabsize.y, tabsize.x);
  66. if (tabsize.y < 10 || tabsize.x < 10){
  67. ft_puterror_endl("Window to small : exit.");
  68. break;
  69. }
  70. print2048(g_2048, &tabsize);
  71. if (win2048(g_2048))
  72. printwin(&tabsize);
  73. if (lose2048(g_2048))
  74. printfail(&tabsize);
  75. key = getch();
  76. if (do_move2048(g_2048, key))
  77. break;
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement