Пример #1
0
void backwardkillline() /**/
{
int i = 0;

	if (mult < 0) { mult = -mult; killline(); return; }
	while (mult--)
		{
		while (cs && line[cs-1] != '\n') cs--,i++;
		if (mult && cs && line[cs-1] == '\n')
			cs--,i++;
		}
	forekill(i,1);
}
Пример #2
0
void checklines(void) {
  int i, j;
  int lncheck;
  int num_killed = 0;
  for (j = g_lines-1; j >= 0; --j) {
    lncheck = 1;
    for (i = 0; i != g_cols; ++i) {
      if (!bmap[j*g_cols+i].is_occupied) {
        lncheck = 0;
        break;
      }
    }
    if (lncheck) {
      killline(j);
      ++j; /* recheck the line */
      ++num_killed;
    }
  }

  g_lnkilled += num_killed;
  goal(num_killed * num_killed * SCORE_PER_LINE);
}
Пример #3
0
int
backwardkillline(char **args)
{
    int i = 0, n = zmult;

    if (n < 0) {
	int ret;
	zmult = -n;
	ret = killline(args);
	zmult = n;
	return ret;
    }
    while (n--) {
	if (zlecs && zleline[zlecs - 1] == '\n')
	    zlecs--, i++;
	else
	    while (zlecs && zleline[zlecs - 1] != '\n')
		zlecs--, i++;
    }
    forekill(i, CUT_FRONT|CUT_RAW);
    clearlist = 1;
    return 0;
}