Add Script Line To Game by Anonymous Coder24th Sep 2005 17:53
|
---|
Summary #include <mem.h> #include <stdio.h> Description #include <mem.h> Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com #include <mem.h> #include <stdio.h> #define H -1 #define V -1 #define MAX 100 int v[MAX][MAX]; void InitArray(int a[][MAX], int dim) { int i, j; for(i = 0; i < dim; ++i) { for(j = 0; j < dim; ++j) { a[i][j] = 0; } } } void PrintMatrix(int a[][MAX], int dim) { int i, j; for(i = 0; i < dim; ++i) { for(j = 0; j < dim; ++j) { printf("%5d", a[i][j]); } printf("\n"); } } int CheckResult(int a[][MAX], int dim) { int i, j, h[MAX], v[MAX], md = 0, sd = 0; memset(h, 0, MAX * sizeof(h[0])); memset(v, 0, MAX * sizeof(v[0])); for(i = 0; i < dim; ++i) { for(j = 0; j < dim; ++j) { h[i] += a[i][j]; } for(j = 0; j < dim; ++j) { v[i] += a[j][i]; } md += a[i][i]; sd += a[i][dim - i - 1]; } if(md != sd) { return 0; } for(i = 0; i < dim; ++i) { if(h[i] != v[i]) { return 0; } if(h[i] != md) { return 0; } } return md; } void GenerateMatrix(int a[][MAX], int dim) { int i, row = 0, col = dim >> 1, dim2 = dim * dim, LastRow, LastCol; a[row][col] = 1; for(i = 2; i <= dim2; ++i) { LastRow = row; LastCol = col; row = ((row + V) + dim) % dim; col = ((col + H) + dim) % dim; if(a[row][col]) { row = (LastRow + 1) % dim; col = LastCol; } a[row][col] = i; } } void main(void) { int n; printf("\nEnter the size of the square => "); scanf("%d", &n); if(n < 0 || n > 99 || !(n % 2)) { printf("\nSize must be odd and 1 <= size <= 99"); return; } InitArray(v, n); GenerateMatrix(v, n); PrintMatrix(v, n); printf("\n\nThe sum is: %d", CheckResult(v, n)); } |