Ejemplo n.º 1
0
static int key(W_Event *data)
{
  if (data->y == (metaHeight-B_ADD)) return add_key(data);
  if (data->key == 113 || data->key == 196) { /* q or ^d */
    metadone();
    terminate(0);
  } else if (data->key == 114 || data->key == 210) { /* r or ^r */
    refresh();
  } else if (data->key == W_Key_Up) {
    choose(-1);
  } else if (data->key == W_Key_Down) {
    choose(1);
  } else if (data->key == '\r' || data->key == ' ') { /* enter or space */
    if (chosen != -1) return chose(chosen, W_LBUTTON);
  } else if (data->key == 'g') { /* g, for guest */
    if (chosen != -1) return chose(chosen, W_MBUTTON);
  } else if (data->key == 'o') { /* o, for observe */
    if (chosen != -1) return chose(chosen, W_RBUTTON);
  } else if (data->key == 'h') {
    toggle_help();
  } else {
    return button(data);
  }
  return 0;
}
Ejemplo n.º 2
0
int main()
{
	time_t t;
	long int r;
	int i,j,poss_num,x,y,f;

	t = time(NULL);

	my_srandom(t);

	for(i=0; i<MAX; i++)
	{
		for(j=0; j<MAX; j++)
		{
			pros[i][j].chosed = 0;
			pros[i][j].possible = 1;
		}
	}
	r = random()%(MAX*MAX);
	chose(r,&x,&y);

	printf("%u%u ",x,y);

	for(i=0;i<(MAX*MAX);i++)
	{
		f = get_possible(x,y);

		poss_num = get_possible_num();
		if(poss_num == 0) break;
		r = my_random()%poss_num;

		chose(r,&x,&y);
		printf("%u%u ",x,y);
		
	}

	printf("\n");
}
Ejemplo n.º 3
0
int main()
{
	while(~scanf("%d %d", &n, &m))
	{
		for(int i = 0; i < 9; ++ i)
			flag[i] = true;
		if(n > 8)
		{
			for(int i = 1; i <= n - 8; ++ i)
				printf("%d ", i);
			base = n - 8;
			mn = 8;
			chose(0);
		}
		else
		{
			mn = n;
			base = 0;
			chose(0);
		}
	}
	return 0;
}
Ejemplo n.º 4
0
static int button(W_Event *data)
{
  if ((data->y > 0) && (data->y <= num_servers)) { /* click on server */
    return chose(data->y - 1, data->key);
  }
  if (data->y == (metaHeight-B_REFRESH)) { /* refresh */
    refresh();
  } else if (data->y == metaHeight-B_HELP) { /* help */
    toggle_help();
  } else if (data->y == metaHeight-B_QUIT) { /* quit */
    metadone();
    terminate(0);
  }
  return 0;
}
Ejemplo n.º 5
0
void chose(int k)
{
	if(k == mn)
	{
		m --;
		if(m == 0)
		{
			for(int i = 0; i < mn - 1; ++ i)
				printf("%d ", seq[i] + base);
			printf("%d\n", seq[mn - 1] + base);
		}
		return ;
	}
	for(int i = 1; i <= mn; ++ i)
	{
		if(flag[i])
		{
			seq[k] = i;
			flag[i] = false;
			chose(k + 1);
			flag[i] = true;
		}
	}
}