view growth.c @ 7:b1e309dc0b98

added growth module (quite static and limited implementation)
author meillo@marmaro.de
date Thu, 15 May 2008 21:42:01 +0200
parents
children 176ee28e7464
line wrap: on
line source

#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>

#include "db.h"
#include "game.h"




void grow_plants() {
	int i;
	unsigned char r[6];

	/* get weather and last environments to calculate the next one */
	sprintf(query, "select\
			f.id, f.size, f.age, p.size, p.growspeed, p.age\
			from field f\
			join plant p on f.plant_id = p.id\
			where f.game_id = '%d' ",
			gameid);
	db_query(query);
	result = mysql_store_result(conn);
	printf("number of plants to process: %d\n", (int)mysql_num_rows(result));
	while ((row = mysql_fetch_row(result)) != NULL) {
		for (i = 0; i < 6; i++) {
			r[i] = atoi(row[i]);
		}

		sprintf(query, "update field set \
				size = '%d', age = '%d' \
				where id = '%d' ",
				(r[1] + 1), r[2]+1, r[0]);
		db_query(query);

		if (mysql_affected_rows(conn) > 0) {
			printf("update successful  ++  %s\n", query);
		} else {
			printf("E: update failed  ++  %s\n", query);
		}

	}
	mysql_free_result(result);




}


int main(int argc, char* argv[]) {
	printf("  --> %s\n", argv[0]);

	/* init */
	if (argc != 2) {
		printf("usage: %s <game>\n", argv[0]);
		exit(1);
	}
	gamename = argv[1];

	db_connect();
	check_game();

	grow_plants();


	db_close();

	printf("  --< %s\n", argv[0]);
	return 0;
}