コード例 #1
0
ファイル: complex.c プロジェクト: MiCHiLU/algo
int main()  /* テスト (ごく一部) */
{
    double x, y;
    complex z;

    printf("x, y ? ");  scanf("%lf%lf", &x, &y);
    z = c_conv(x, y);
    printf("z = %s\n", c_string(z));
    z = c_exp(z);
    printf("exp(z) = %s\n", c_string(z));
    z = c_log(z);
    printf("log(exp(z)) = %s\n", c_string(z));
    return EXIT_SUCCESS;
}
コード例 #2
0
ファイル: svg.cpp プロジェクト: bqqbarbhg/dorfbook
void initialize_id_list(SVG_XML *svg)
{
	Interned_String id_key = intern(&svg->xml.string_table, c_string("id"));
	svg_walk_xml(svg, svg->xml.root, id_key);

	qsort(svg->ids.data, svg->ids.count, sizeof(*svg->ids.data), compare_id_to_xml);
}
コード例 #3
0
ファイル: mcstring.c プロジェクト: timofurrer/mcstring
mcstring *reverse_string(mcstring *string) {
  int x;
  mcchar *buffer = c_string(string);
  mcchar tmp;
  for(x = 0; x < string->size / 2; x++) {
    tmp = buffer[x];
    buffer[x] = buffer[string->size - x - 1];
    buffer[string->size - x - 1] = tmp;
  }

  return wrap_string(buffer);
}
コード例 #4
0
ファイル: dorf.cpp プロジェクト: bqqbarbhg/dorfbook
int render_entity_avatar(World *world, U32 id, char *buffer)
{
	char *ptr = buffer;
	Dwarf *dwarf = 0;
	for (U32 i = 0; i < Count(world->dwarves); i++) {
		if (world->dwarves[i].id == id) {
			dwarf = &world->dwarves[i];
			break;
		}
	}

	if (!dwarf) {
		sprintf(buffer, "Entity not found with ID #%u", id);
		return 404;
	}

	ptr += sprintf(ptr, "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\""
		" width=\"60\" height=\"60\" overflow=\"hidden\">\n");

	Printer p;
	p.pos = ptr;
	p.end = ptr + 10000;

	Random_Series series = series_from_seed32(dwarf->seed);

	const char *parts[] = {
		"base", "beard", "eyes",
	};

	for (size_t i = 0; i < Count(parts); i++) {
		char name[64];

		sprintf(name, "face-%s%02d", parts[i], 1 + next(&series, 3));
		XML_Node *node = svg_find_by_id(&world->assets->faces, c_string(name));

		if (!print_xml(&p, node))
			return 500;
	}

	ptr = p.pos;

	ptr += sprintf(ptr, "</svg>\n");

	return 200;
}
コード例 #5
0
ファイル: cmdline.c プロジェクト: mark7/xconq
void
set_variants_from_options(void)
{
    int which;
    const char *varname;
    Obj *varrest, *varset;

    /* Only the host of a networked game can set variants. */
    if (option_game_to_join != NULL) {
	if (variant_settings != lispnil
	    || option_width > 0)
	  fprintf(stderr, "Not the host, ignoring variant settings\n");
	return;
    }
    if (option_width > 0) {
	which = find_variant_from_name(mainmodule, keyword_name(K_WORLD_SIZE));
	if (which >= 0)
	  net_set_variant_value(which, option_width, option_height,
				option_circumference);
	else
	  fprintf(stderr, "World size variant not available, -M ignored\n");
    }
    /* Set the real-time variant if any times were supplied. */
    if (option_total_game_time != 0
	|| option_per_side_time != 0
	|| option_per_turn_time != 0) {
	which = find_variant_from_name(mainmodule, keyword_name(K_REAL_TIME));
	if (which >= 0)
	  net_set_variant_value(which, option_total_game_time,
				option_per_side_time, option_per_turn_time);
	else
	  fprintf(stderr, "Real time variants not available, ignored\n");
    }
    for_all_list(variant_settings, varrest) {
	varset = car(varrest);
	varname = c_string(car(varset));
	which = find_variant_from_name(mainmodule, varname);
	if (which >= 0)
	  net_set_variant_value(which, c_number(cadr(varset)), 0, 0);
	else
	  fprintf(stderr, "No variant `%s' known, ignored\n", varname);
    }
コード例 #6
0
ファイル: cmdline.c プロジェクト: mark7/xconq
static void
game_usage_info(void)
{
    int i, wid, hgt, circumf, lat, lon, pergame, perside, perturn;
    const char *varid;
    char buf[BUFSIZE];
    Variant *var;
    Obj *vardflt;

    printf("\nGame variant options");
    if (mainmodule == NULL) {
	printf(":\n\n    No game loaded, no information available.\n\n");
	return;
    }
    printf(" for \"%s\":\n\n", mainmodule->name);
    if (mainmodule->variants == NULL) {
	printf("    No variants available.\n\n");
	return;
    }
    for (i = 0; mainmodule->variants[i].id != lispnil; ++i) {
	var = &(mainmodule->variants[i]);
	varid = c_string(var->id);
	vardflt = var->dflt;
	switch (keyword_code(varid)) {
	  case K_SEE_ALL:
	    printf("    -V\t\t\t%s (default %s)\n",
		   var->help,
		   (vardflt == lispnil ? "true" :
		    (c_number(eval(vardflt)) ? "true" : "false")));
	    break;
	  case K_SEQUENTIAL:
	    printf("    -seq\t\t%s (default %s)\n",
		   var->help,
		   (vardflt == lispnil ? "false" :
		    (c_number(eval(vardflt)) ? "false" : "true")));
	    printf("    -sim\t\tSides move simultaneously (opposite of -seq)\n");
	    break;
	  case K_WORLD_SEEN:
	    printf("    -v\t\t\t%s (default %s)\n",
		   var->help,
		   (vardflt == lispnil ? "true" :
		    (c_number(eval(vardflt)) ? "true" : "false")));
	    break;
	  case K_WORLD_SIZE:
	    printf("    -M wid[xhgt][Wcircumf][+lat][+long]\tset world size (default ");
	    /* Note that if the game definition sets these values
	       directly using world or area forms, this is misleading;
	       but that's the fault of the game designer for including
	       both preset values and a variant whose defaults don't
	       match those presets. */
	    circumf = DEFAULTCIRCUMFERENCE;
	    wid = DEFAULTWIDTH;  hgt = DEFAULTHEIGHT;
	    lat = lon = 0;
	    /* Pick the width and height out of the list. */
	    if (vardflt != lispnil) {
		wid = c_number(eval(car(vardflt)));
		vardflt = cdr(vardflt);
	    }
	    if (vardflt != lispnil) {
		hgt = c_number(eval(car(vardflt)));
		vardflt = cdr(vardflt);
	    } else {
		hgt = wid;
	    }
	    /* Pick up a circumference etc if given. */
	    if (vardflt != lispnil) {
		circumf = c_number(eval(car(vardflt)));
		vardflt = cdr(vardflt);
	    }
	    if (vardflt != lispnil) {
		lat = c_number(eval(car(vardflt)));
		vardflt = cdr(vardflt);
	    }
	    if (vardflt != lispnil) {
		lon = c_number(eval(car(vardflt)));
	    }
	    printf("%dx%dW%d", wid, hgt, circumf);
	    if (lat != 0 || lon != 0)
	      printf("+%d+%d", lat, lon);
	    printf(")\n");
	    break;
	  case K_REAL_TIME:
	    pergame = perside = perturn = 0;
	    if (vardflt != lispnil) {
		pergame = c_number(eval(car(vardflt)));
		vardflt = cdr(vardflt);
	    }
	    if (vardflt != lispnil) {
		perside = c_number(eval(car(vardflt)));
		vardflt = cdr(vardflt);
	    }
	    if (vardflt != lispnil) {
		perturn = c_number(eval(car(vardflt)));
	    }
	    printf("    -tgame mins\t\tlimit game time to <mins> minutes (default %d)\n",
		   pergame);
	    printf("    -tside mins\t\tlimit each player <mins> minutes in all (default %d)\n",
		   perside);
	    printf("    -tturn mins\t\tlimit each turn to <mins> minutes (default %d)\n",
		   perturn);
	    break;
	  default:
	    printf("    -v%s[=value]\t%s (default ", varid, var->help);
	    if (vardflt == lispnil
	        || (numberp(vardflt) && c_number(vardflt) == 0)) {
		printf("false");
	    } else if (numberp(vardflt) && c_number(vardflt) == 1) {
		printf("true");
	    } else {
		sprintlisp(buf, vardflt, BUFSIZE);
		printf("%s", buf);
	    }
	    printf(")\n");
	    break;
	}
    }
}
コード例 #7
0
ファイル: tiscript.hpp プロジェクト: Archs/sciter-sdk
 // convert value to string represenatation.
 inline std::ustring to_string(HVM vm,value v) { return c_string(ni()->to_string(vm,v)); }