Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Can somebody write a debugging function for the following task or maybe

Author: Joost Buijs

Date: 03:43:38 08/14/03

Go up one level in this thread


You can try something like this:

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

int queens[9][2];
int rooks[10][2];
int bishops[10][2];
int knights[10][2];
int pawns[8][2];

void WriteArrays(int nodes)
{
	char fname[14];
	FILE *fp;

	sprintf(fname,"Movei%d.d",nodes);

	fp = fopen(fname,"wb");

	fwrite(queens, sizeof(queens), 1, fp);
	fwrite(rooks, sizeof(rooks), 1, fp);
	fwrite(bishops, sizeof(bishops), 1, fp);
	fwrite(knights, sizeof(knights), 1, fp);
	fwrite(pawns, sizeof(pawns), 1, fp);

	fclose(fp);
}

int CompareArray(int nodes)
{
	char fname[14];
	FILE *fp;
	unsigned int i,j;

	int lqueens[9][2];
	int lrooks[10][2];
	int lbishops[10][2];
	int lknights[10][2];
	int lpawns[8][2];

	sprintf(fname,"Movei%d.d",nodes);

	fp = fopen(fname,"rb");

	fread(lqueens, sizeof(queens), 1, fp);
	fread(lrooks, sizeof(rooks), 1, fp);
	fread(lbishops, sizeof(bishops), 1, fp);
	fread(lknights, sizeof(knights), 1, fp);
	fread(lpawns, sizeof(pawns), 1, fp);

	fclose(fp);

	for (j = 0; j < 2; ++j)
		for (i = 0; i < 9; ++i)
			if (queens[i][j] != lqueens[i][j])
			{
				printf("queens differ at index [%d][%d]\n", i, j);
				return (1);
			}

	for (j = 0; j < 2; ++j)
		for (i = 0; i < 10; ++i)
			if (rooks[i][j] != lrooks[i][j])
			{
				printf("rooks differ at index [%d][%d]\n", i, j);
				return (1);
			}

	for (j = 0; j < 2; ++j)
		for (i = 0; i < 10; ++i)
			if (bishops[i][j] != lbishops[i][j])
			{
				printf("bishops differ at index [%d][%d]\n", i, j);
				return (1);
			}

	for (j = 0; j < 2; ++j)
		for (i = 0; i < 10; ++i)
			if (knights[i][j] != lknights[i][j])
			{
				printf("knights differ at index [%d][%d]\n", i, j);
				return (1);
			}

	for (j = 0; j < 2; ++j)
		for (i = 0; i < 8; ++i)
			if (pawns[i][j] != lpawns[i][j])
			{
				printf("pawns differ at index [%d][%d]\n", i, j);
				return (1);
			}

	return (0);
}



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.