gliq.h
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:2k
源码类别:

GIS编程

开发平台:

Visual C++

  1. /*  
  2.  *  CS 453 - Final project : An OpenGL version of the pegboard game IQ
  3.  *  Due : June 5, 1997
  4.  *  Author : Kiri Wagstaff
  5.  *
  6.  *  File : gliq.h
  7.  *  Description : Main header file
  8.  *
  9.  */
  10. #ifndef GLIQ_H
  11. #define GLIQ_H
  12. #include <stdlib.h>
  13. #include <stdio.h>
  14. #include <math.h>
  15. #include <GL/glut.h>
  16. #include "trackball.h"
  17. /* defines */
  18. #define BOARDSIZE 9   /* on a side, total of 81 holes */
  19. #define SELECT_BUFFER 256
  20. /* enums */
  21. enum {UNUSED, EMPTY, FULL, CANMOVE, CANTMOVE};    /* for each hole */
  22. enum {SELBOARD, PLAY, HIGHSC, VIEWSCORES};        /* current state */
  23. enum {NONE, LEFTARR=100, SELECT, RIGHTARR, QUIT}; /* board selection */
  24. /* from gliq.c */
  25. extern  int curstate;
  26. extern  int lastpicked;
  27. extern  int pegs;
  28. extern  int totalpegs;
  29. extern  void display(void);
  30. /* from board.c */
  31. extern  int*** boards;
  32. extern  int    curboard;
  33. extern  int    numboards;  
  34. extern  int    filled[BOARDSIZE][BOARDSIZE];
  35. extern  void   selectboard(void);
  36. extern  void   readboards(void);
  37. extern  void   drawboard(void);
  38. extern  void   drawpegs(void);
  39. extern  void   drawpeg(void);
  40. extern  void   displaybuttons(void);
  41. /* from game.c */
  42. extern  int playdone;
  43. extern  void playgame(void);
  44. extern  int legalmove(void);
  45. extern  int canmove(int peg);
  46. extern  int movesexist(void);
  47. extern  void drawquit(float x, float y, float r1, float r2);
  48. /* from score.c */
  49. extern  int minscore;
  50. extern  int minpegs;
  51. extern  int numentered;
  52. extern  int written;
  53. extern  void highscore(void);
  54. extern  void readscores(void);
  55. extern  void showhighscores(void);
  56. extern  void keyscores(unsigned char key, int x, int y);
  57. extern  void idlescore(void);
  58. /* from pick.c */
  59. extern  int       picked;
  60. extern  GLuint    select_buffer[];
  61. extern  GLboolean selection;
  62. extern  GLuint    pick(int x, int y);
  63. extern  void      passive(int x, int y);
  64. extern  void      text(GLfloat x, GLfloat y, GLfloat scale, char *format, ...);
  65. #endif