1 #include "xisola.h"
2 
3 #include "vide.bm"
4 #include "destroyed.bm"
5 #include "white.bm"
6 #include "black.bm"
7 
8 
9 static String fallback_resources[] = {
10 
11 	"XIsola.wboard.borderWidth: 		    4",
12 	"XIsola.wmesg.borderWidth: 		    0",
13 
14 
15 	"XIsola.wwarn.shapeStyle:		    oval",
16 	"XIsola.wreset.shapeStyle:		    oval",
17 	"XIsola.wplay.shapeStyle:		    oval",
18 	"XIsola.wquit.shapeStyle:		    oval",
19 	"XIsola.wsingle.shapeStyle:		    oval",
20 
21 	NULL
22 };
23 
24 
25 
main(argc,argv)26 main(argc,argv)
27 int    argc;
28 char **argv;
29 {
30 car=0;
31 XtSetArg(ar[car],XtNwidth,600);car++;
32 XtSetArg(ar[car],XtNheight,400);car++;
33 XtSetArg(ar[car],XtNtitle,"Xisola (ver 0.1 draft 1) by The Spif (1993)");car++;
34 toplevel=XtAppInitialize(&app_context,"XIsola",NULL,0,&argc,argv,fallback_resources,NULL,0);
35 XtSetValues(toplevel,ar,car);
36 
37 interm=XtCreateManagedWidget("Interm",formWidgetClass,toplevel,NULL,0);
38 wboard=XtCreateManagedWidget("BOard",formWidgetClass,interm,NULL,0);
39 
40 XtSetArg(ar[0],XtNwidth,400);
41 XtSetValues(wboard,ar,car);
42 
43 XtSetArg(ar[0],XtNfromHoriz,wboard);
44 XtSetArg(ar[1],XtNfromVert,NULL);
45 wplay=XtCreateManagedWidget(" PLAY ",commandWidgetClass,interm,ar,2);
46 XtAddCallback(wplay,XtNcallback,compuplay,0);
47 
48 XtSetArg(ar[0],XtNfromHoriz,wboard);
49 XtSetArg(ar[1],XtNfromVert,wplay);
50 wreset=XtCreateManagedWidget("RESET ",commandWidgetClass,interm,ar,2);
51 XtAddCallback(wreset,XtNcallback,reset,0);
52 
53 XtSetArg(ar[0],XtNfromHoriz,wboard);
54 XtSetArg(ar[1],XtNfromVert,wreset);
55 wsingle=XtCreateManagedWidget("SINGLE",commandWidgetClass,interm,ar,2);
56 XtAddCallback(wsingle,XtNcallback,single,0);
57 
58 XtSetArg(ar[0],XtNfromHoriz,wboard);
59 XtSetArg(ar[1],XtNfromVert,wsingle);
60 wquit=XtCreateManagedWidget(" QUIT ",commandWidgetClass,interm,ar,2);
61 XtAddCallback(wquit,XtNcallback,quit,0);
62 
63 XtSetArg(ar[0],XtNfromHoriz,NULL);
64 XtSetArg(ar[1],XtNfromVert,wboard);
65 wmode=XtCreateManagedWidget("movement phase",labelWidgetClass,interm,ar,2);
66 
67 XtSetArg(ar[0],XtNfromHoriz,wmode);
68 XtSetArg(ar[1],XtNfromVert,wboard);
69 wmesg=XtCreateManagedWidget("it's you to play,white...",labelWidgetClass,interm,ar,2);
70 
71 XtSetArg(ar[0],XtNfromHoriz,wmesg);
72 XtSetArg(ar[1],XtNfromVert,wboard);
73 winfo=XtCreateManagedWidget("         ",labelWidgetClass,interm,ar,2);
74 
75 for(i=1;i<=8;i++)
76   for(j=1;j<=6;j++)
77 	{
78 	sprintf(buf,"case %d,%d",i,j);
79 	card=0;
80 	XtSetArg(args[card],XtNwidth,50);card++;
81 	XtSetArg(args[card],XtNheight,50);card++;
82 	if ((i/=1) || (j/=1))
83 		{
84 		XtSetArg(args[card],XtNfromHoriz,tabl[i-1][j]);card++;
85 		XtSetArg(args[card],XtNfromVert,tabl[i][j-1]);card++;
86 		};
87       tabl[i][j]=XtCreateManagedWidget(buf,commandWidgetClass,wboard,args,card);
88       dump=i*10+j;
89       XtAddCallback(tabl[i][j],XtNcallback,play,(XtPointer) dump);
90 };
91 pixtab[0] =XCreateBitmapFromData(XtDisplay(toplevel),RootWindowOfScreen(XtScreen(toplevel)),vide_bits     ,vide_width     ,vide_height     );
92 pixtab[1] =XCreateBitmapFromData(XtDisplay(toplevel),RootWindowOfScreen(XtScreen(toplevel)),destroyed_bits,destroyed_width,destroyed_height);
93 pixtab[2] =XCreateBitmapFromData(XtDisplay(toplevel),RootWindowOfScreen(XtScreen(toplevel)),white_bits    ,white_width    ,white_height    );
94 pixtab[3] =XCreateBitmapFromData(XtDisplay(toplevel),RootWindowOfScreen(XtScreen(toplevel)),black_bits    ,black_width    ,black_height    );
95 
96 for(i=1;i<=8;i++)
97   for(j=1;j<=6;j++)
98 	{
99 	XtSetArg(args[0],XtNbitmap,pixtab[0]);
100 	XtSetValues(tabl[i][j],args,1);
101 	};
102 
103  XtSetArg(args[0],XtNbitmap,pixtab[2]);
104  XtSetValues(tabl[1][3],args,1);
105 
106  XtSetArg(args[0],XtNbitmap,pixtab[3]);
107  XtSetValues(tabl[8][4],args,1);
108 
109 /* initialisation du jeu */
110 
111   for(i=0;i<8;i++)
112      for(j=0;j<8;j++)
113 	play_board[i][j]=0;
114 
115   for(i=0;i<10;i++)
116 	{
117 	play_board[i][0]=1;
118 	play_board[i][7]=1;
119 	};
120 
121   for(i=0;i<8;i++)
122 	{
123 	play_board[0][i]=1;
124 	play_board[9][i]=1;
125 	};
126 
127   player=1;
128   is_single=1;
129   mode=1;
130   white_i=1;
131   white_j=3;
132   black_i=8;
133   black_j=4;
134   play_board[1][3]=2;
135   play_board[8][4]=3;
136 
137 
138 
139 XtRealizeWidget(toplevel);
140 XtAppMainLoop(app_context);
141 }
142 
143