summaryrefslogtreecommitdiff
path: root/noncore/games/go/go.h
Side-by-side diff
Diffstat (limited to 'noncore/games/go/go.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/go/go.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/noncore/games/go/go.h b/noncore/games/go/go.h
new file mode 100644
index 0000000..9aa644b
--- a/dev/null
+++ b/noncore/games/go/go.h
@@ -0,0 +1,81 @@
+/**********************************************************************
+** Copyright (C) 2000 Trolltech AS. All rights reserved.
+**
+** This file is part of Qtopia Environment.
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+** See http://www.trolltech.com/gpl/ for GPL licensing information.
+**
+** Contact info@trolltech.com if any conditions of this licensing are
+** not clear to you.
+**
+**********************************************************************/
+/* AmiGo Include */
+/* MSG types for getinput() */
+
+#ifndef __go_h
+#define __go_h
+
+
+#define INTERSECTIONMSG 1 /* User buttoned an intersection */
+#define QUITMSG 2 /* User buttoned QUIT icon */
+#define PLAYMSG 3
+#define RESTARTMSG 4
+#define PASSMSG 5
+
+#define TRUE 1
+#define FALSE 0
+
+#define MAXGROUPS 100
+
+#define PLACED 0
+#define REMOVED 1
+
+#define numPoints 19
+#define maxPoint numPoints - 1
+
+/*-- definitions used when counting up --*/
+
+#define CNT_UNDECIDED 0
+#define CNT_BLACK_TERR 1
+#define CNT_WHITE_TERR 2
+#define CNT_NOONE 3
+
+/*-- macro functions --*/
+
+#define LegalPoint(x,y) (x>=0 && x<=18 && y>=0 && y<=18)
+#define ForeachPoint(a,b) for(a=0;a<19;a++) for (b=0;b<19;b++)
+
+enum bVal {BLACK, WHITE, EMPTY};
+typedef enum bVal sType;
+struct Group
+{
+ enum bVal color; /* The color of the group */
+ short code, /* The code used to mark stones in the group */
+ count, /* The number of stones in the group */
+ internal, /* The number of internal liberties */
+ external, /* The number of external liberties */
+ liberties, /* The total number of liberties */
+ eyes, /* The number of eyes */
+ alive, /* A judgement of how alive this group is */
+ territory; /* The territory this group controls */
+};
+
+struct bRec
+{
+ enum bVal Val; /* What is at this intersection */
+ short xOfs,
+ yOfs;
+ short mNum;
+ short GroupNum; /* What group the stone belongs to */
+ short marked; /* TRUE or FALSE */
+};
+
+#endif