Exemple #1
0
void checkwin ()
{
	int i;

	for (i=0; i<num; i++)
		if (scale [i] >= 1100)
			break;
	if (i >= num) return;

	printscale ();

	printf ("\n\n\nКонец игры.\n");

	printrez ();

	exit (0);
}
Exemple #2
0
int main(int argc, char *argv[])
{
	char scalename[4000];
	int scale, note;
	int ix;
	int useflats = 0;

	argc--, argv++;

	if (argc == 0)
	{
		for (scale = 0; scale < ACOUNT(scales); scale++)
			printf("%s\n", scales[scale].name);
		return 0;
	}

	/* '-f' option: use flats instead of sharps */
	if (strcmp(argv[0], "-f") == 0 && argc >= 2)
	{
		useflats = 1;
		argc--, argv++;
	}

	for (note = 0; note < NUMNOTES; note++)
	{
		if (strcasecmp(notessharp[note], argv[0]) == 0)
			break;
		if (strcasecmp(notesflat[note], argv[0]) == 0)
		{
			useflats = 1;
			break;
		}
	}

	if (note == NUMNOTES)
		errx(1, "%s is not a note", argv[0]);

	argc--, argv++;

	if (argc == 0)
	{
		for (scale = 0; scale < ACOUNT(scales); scale++)
		{
			printf("%s: ", scales[scale].name);
			printscale(note, scale, useflats);
		}
		return 0;
	}

	strlcpy(scalename, argv[0], sizeof scalename);
	for (ix = 1; ix < argc; ix++)
	{
		strlcat(scalename, " ", sizeof scalename);
		strlcat(scalename, argv[ix], sizeof scalename);
	}

	for (scale = 0; scale < ACOUNT(scales); scale++)
		if (strcasecmp(scales[scale].name, scalename) == 0)
			break;

	if (scale == ACOUNT(scales))
		errx(1, "%s: don't know that scale", scalename);

	printscale(note, scale, useflats);
	return 0;
}