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