home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_200 / 270_01 / t3init.c < prev    next >
Text File  |  1979-12-31  |  2KB  |  82 lines

  1.  
  2. /*
  3.      HEADER:    CUG270.03 ;
  4.      TITLE:     TTT3D initialization subroutine;
  5.      DATE:      06/08/1988;
  6.      VERSION:   1.0;
  7.      FILENAME:  T3INIT.C;
  8.      AUTHORS:   Scott Holland;
  9.      SEE-ALSO:  T3.DOC;
  10. */
  11.  
  12. /* COPYRIGHT 1988  SCOTT HOLLAND */
  13.  
  14. #include <stdio.h>
  15. #include <stdlib.h>
  16. #include "t3global.h"
  17.  
  18. init()
  19.   {
  20.     int i,j,k,win ;
  21.     srand(2);  /* randomize seed */
  22.     diag = 0 ; /* turn on diagnostics */
  23.     strategy = 0 ; /* Indicates beginning of game */
  24.     game_over = 0 ; /* Indicates game in progress */
  25.     for ( i = 0 ; i<64 ; i++ ) board[i] = 0 ; /* clear board */
  26.     win = 0;
  27.     /* Winning combinations for major diagonals */
  28.     for (i=1;i<5;i++)
  29.       {
  30.         win_square[win][i-1]=conv_move(i,i,i);
  31.         win_square[win+1][i-1]=conv_move(i,i,5-i);
  32.         win_square[win+2][i-1]=conv_move(i,5-i,i);
  33.         win_square[win+3][i-1]=conv_move(i,5-i,5-i);
  34.       }
  35.       win = win + 4 ;
  36.     /* All winning combinations on each level */
  37.     for (i=1;i<5;i++)
  38.       {
  39.     for (j=1;j<5;j++)
  40.       {
  41.         for (k=1;k<5;k++) /* four rows, four columns */
  42.           {
  43.         win_square[win][k-1]=conv_move(i,j,k);
  44.         win_square[win+1][k-1]=conv_move(i,k,j);
  45.           }
  46.           win = win + 2 ;
  47.       }
  48.     /* diagonals */
  49.     for (j=1;j<5;j++)
  50.       {
  51.         win_square[win][j-1]=conv_move(i,j,j);
  52.         win_square[win+1][j-1]=conv_move(i,j,5-j);
  53.       }
  54.       win = win + 2 ;
  55.       }
  56.       /* Perpendicular Four level wins */
  57.       for (i=1;i<5;i++) /* i is row */
  58.     {
  59.       for (j=1;j<5;j++) /* j is column */
  60.         {
  61.           for (k=1;k<5;k++) /* k is level */
  62.         {
  63.           win_square[win][k-1]=conv_move(k,i,j);
  64.         }
  65.         win = win + 1 ;
  66.         }
  67.     }
  68.     /* Diagonal Four level wins */
  69.     for (i=1;i<5;i++) /* i is row,column */
  70.       {
  71.         for (k=1;k<5;k++) /* k is level */
  72.           {
  73.             win_square[win][k-1]=conv_move(k,i,k);
  74.             win_square[win+1][k-1]=conv_move(k,i,5-k);
  75.             win_square[win+2][k-1]=conv_move(k,k,i);
  76.             win_square[win+3][k-1]=conv_move(k,5-k,i);
  77.           }
  78.           win = win + 4 ;
  79.       }
  80.   }
  81.  
  82.