Ejemplo n.º 1
0
static void	do_window(GLFWwindow *win, t_env *env)
{
	int			state;

	while (!glfwWindowShouldClose(win))
	{
		if (GLFW_PRESS == (state = glfwGetKey(win, GLFW_KEY_LEFT))
			&& (env->bar > -0.87f))
			env->bar -= 0.03f;
		if (GLFW_PRESS == (state = glfwGetKey(win, GLFW_KEY_RIGHT))
			&& (env->bar < 0.87f))
			env->bar += 0.03f;
		glClear(GL_COLOR_BUFFER_BIT);
		square_create(env);
		the_ball(env);
		the_bar(env);
		aff_score(env);
		glfwPollEvents();
		glfwSwapBuffers(win);
		if (env->life == -1)
		{
			ft_putendl("A looser is YOU ! D:");
			glfwSetWindowShouldClose(win, GL_TRUE);
		}
		if (check_win(env))
			glfwSetWindowShouldClose(win, GL_TRUE);
	}
}
Ejemplo n.º 2
0
void	Gui::dump()
{
  init_picture();
  SDL_FillRect(screen, NULL, 0);
  aff_score(0);
  handleEvents();
}
Ejemplo n.º 3
0
void	Gui::gameOver()
{
  bool	retry = false;
  int	s_event = 0;
  SDL_Event event;

  aff_score(1);
  aff_retry("QUIT" , "RETRY");
  while (!s_event)
    {
      SDL_WaitEvent(&event);
      switch(event.type)
	{
	case SDL_QUIT:
	  {
	    s_event = 1;
	    break;
	  }
	case SDL_KEYDOWN:
	  {
	    if (event.key.keysym.sym == SDLK_UP || event.key.keysym.sym == SDLK_DOWN)
	      {
		retry = !retry;
		SDL_FillRect(screen, NULL, 0);
		aff_score(1);
		if (retry)
		  aff_retry("RETRY" , "QUIT");
		else
		  aff_retry("QUIT" , "RETRY");
	      }
	    if (event.key.keysym.sym == SDLK_RETURN)
	      s_event = 1;
	    if (event.key.keysym.sym == SDLK_ESCAPE)
	      s_event = 1;
	    break;
	  }
	}
    }
  if (!retry)
    m_state = DISABLE;
  else
    {
      m_nibbler.retry();
      usleep(25000);
    }
}
Ejemplo n.º 4
0
void    Gui::gameOver()
{
  bool  retry = false;
  int   s_event = 0;
  SDL_Event event;

  screen = SDL_SetVideoMode(m_nibbler.getWidth() * 25, m_nibbler.getHeight() * 25, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);
  aff_score(1);
  aff_retry("QUIT" , "RETRY");
  while (!s_event)
    {
      SDL_WaitEvent(&event);
      switch(event.type)
        {
        case SDL_QUIT:
          {
            s_event = 1;
            break;
          }
        case SDL_KEYDOWN:
          {
            if (event.key.keysym.sym == SDLK_UP || event.key.keysym.sym == SDLK_DOWN)
              {
                retry = !retry;
                SDL_FillRect(screen, NULL, 0);
                aff_score(1);
                if (retry)
                  aff_retry("RETRY" , "QUIT");
                else
                  aff_retry("QUIT" , "RETRY");
              }
            if (event.key.keysym.sym == SDLK_RETURN)
              s_event = 1;
            if (event.key.keysym.sym == SDLK_ESCAPE)
              s_event = 1;
            break;
          }
        }
    }
  m_state = DISABLE;
  SDL_Quit();
}
Ejemplo n.º 5
0
void	Gui::dump() 
{
  glClear(GL_COLOR_BUFFER_BIT);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();
  init_picture(m_nibbler.getMap());
  glEnd();
  glFlush();
  aff_score(0);
  SDL_GL_SwapBuffers();   
  handleEvents(); 
}