void play_game(char game_grid[16][16]) {
	memset(&game_grid[0][0], ' ', 16*16);
	int r = 8, c = 6;
	memcpy(&game_grid[r][c], player_name, strlen(player_name));
	while(!should_exit) {
		draw(game_grid);
		keyboard_move(&r, &c);
		memset(&game_grid[0][0], ' ', 16*16);
		memcpy(&game_grid[r][c], player_name, strlen(player_name));
	}
}
Пример #2
0
gboolean
keyboard_cb (GtkWidget * widget, GdkEventKey * event, gpointer data)
{
  /* FIXME: Diagonal keys. */

  switch (event->keyval) {
  case GDK_Up:
  case GDK_KP_Up:
  case GDK_KP_8:
    keyboard_move (0, -1);
    break;
  case GDK_Down:
  case GDK_KP_Down:
  case GDK_KP_2:
    keyboard_move (0, +1);
    break;
  case GDK_Right:
  case GDK_KP_Right:
  case GDK_KP_6:
    keyboard_move (+1, 0);
    break;
  case GDK_Left:
  case GDK_KP_Left:
  case GDK_KP_4:
    keyboard_move (-1, 0);
    break;
  case GDK_space:
  case GDK_Return:
  case GDK_KP_Enter:
  case GDK_KP_0:
  case GDK_KP_Insert:
    destroy_balls ();
    break;
  }

  return FALSE;
}