/[opencvs]/eyes/points.c
ViewVC logotype

Contents of /eyes/points.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.12 - (show annotations)
Thu Jan 22 00:58:47 2015 UTC (3 years, 5 months ago) by hib
Branch: MAIN
CVS Tags: HEAD
Changes since 1.11: +15 -1 lines
File MIME type: text/plain
Adding als specific things. working on cassidi
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 #define cassidi
5
6 #ifdef antique
7 #define WIDTH 16
8 #define HEIGHT 16
9 #endif
10
11 #ifdef salka
12 #define WIDTH 132
13 #define HEIGHT 136
14 #endif
15
16 #ifdef veronika
17 #define WIDTH 144
18 #define HEIGHT 48
19 #endif
20
21 #ifdef kelly
22 #define WIDTH 144
23 #define HEIGHT 48
24 #endif
25
26 #ifdef dad
27 #define WIDTH 18
28 #define HEIGHT 25
29 #endif
30
31 #ifdef liss
32 #define WIDTH 28
33 #define HEIGHT 21
34 #endif
35
36 #ifdef stephanie
37 #define WIDTH 32
38 #define HEIGHT 24
39 #endif
40
41
42 #ifdef moot
43 #define WIDTH 64
44 #define HEIGHT 50
45 #endif
46
47 #ifdef lovely1
48 #define WIDTH 32
49 #define HEIGHT 42
50 #endif
51
52 #ifdef cyclone
53 #define WIDTH 16
54 #define HEIGHT 16
55 #endif
56
57 #ifdef girl3
58 #define WIDTH 144
59 #define HEIGHT 48
60 #endif
61
62 #ifdef benflag
63 #define WIDTH 7
64 #define HEIGHT 5
65 #endif
66
67 #ifdef qi
68 #define WIDTH 16
69 #define HEIGHT 16
70 #endif
71
72 #ifdef als
73 #define WIDTH 16
74 #define HEIGHT 16
75 #endif
76 #ifdef cassidi
77 #define WIDTH 16
78 #define HEIGHT 16
79 #endif
80
81 int there[WIDTH][HEIGHT];
82 int there2[WIDTH][HEIGHT];
83 int *pos;
84
85 int points (){
86 int width=WIDTH;
87 int height=HEIGHT;
88 int x,y;
89 int size;
90 pos = (int *) there2;
91 for (x=0;x<width;x++) {
92 for (y=0;y<height;y++) {
93 there[x][y] = 0;
94 pos[y*width+x] = y*width+x;
95 }
96 }
97 size=width*height;
98
99 int set(int x,int y,int c,int e)
100 {
101 there[x][y]=e;
102 int cc;cc=(c);
103 if (cc==-1) {
104 for (cc=0;cc<size;cc++) {
105 if (pos[cc]== (y*width+x)) break;
106 }
107 if (cc==size) {
108 fprintf(stderr,"huh??????error\n");
109 exit(-1);
110 }
111 }
112 if (e>0) printf("%010d|%d|%d\n",e,x,y);
113 size=size-1;pos[cc]=pos[size];
114 }
115
116
117 #ifdef salka
118 set(91,47,-1,1);
119 set(108,44,-1,1);
120 set(103,64,-1,1);
121 set(96,89,-1,1);
122 srand(4336734);
123 #endif
124 #ifdef veronika
125 set(58,31,-1,1);
126 set(106,34,-1,1);
127 srand(1223857631);
128 #endif
129 #ifdef kelly
130 set(30,22,-1,1);
131 set(75,22,-1,1);
132 srand(4431287269);
133 #endif
134 #ifdef dad
135 set(10,2,-1,1);
136 set(10,3,-1,1);
137 set(10,4,-1,1);
138 set(2,15,-1,1);
139 set(12,16,-1,1);
140 set(10,7,-1,1);
141 set(13,9,-1,1);
142 set(8,9,-1,1);
143 #endif
144 #ifdef liss
145 set(2,8,-1,1);
146 set(7,3,-1,1);
147 set(11,4,-1,1);
148 set(13,7,-1,1);
149 set(15,10,-1,1);
150 #endif
151 #ifdef stephanie
152 set(12,11,-1,1);
153 set(15,11,-1,1);
154 set(14,16,-1,1);
155 #endif
156 #ifdef moot
157 set(30,20,-1,1);
158 set(25,25,-1,1);
159 set(26,31,-1,1);
160 set(12,27,-1,1);
161 set(35,23,-1,1);
162 set(13,12,-1,1);
163 set(20,4,-1,1);
164 set(32,7,-1,1);
165 #endif
166 #ifdef lovely1
167 set(20,4,-1,1);
168 set(24,3,-1,1);
169 set(22,8,-1,1);
170 set(11,28,-1,1);
171 #endif
172 #ifdef cyclone
173 set(10,4,-1,1);
174 set(10,5,-1,1);
175 set(6,7,-1,1);
176 set(2,12,-1,1);
177 #endif
178 #ifdef girl3
179 set(16,6,-1,1);
180 set(32,5,-1,1);
181 set(22,11,-1,1);
182 #endif
183
184 #ifdef antique
185 set(10,5,-1,-1);
186 set(11,5,-1,-1);
187 set(10,6,-1,-1);
188 set(11,6,-1,-1);
189 set(11,7,-1,-1);
190 {
191 int i;
192 for (i=0;i<16;i++) {
193 set(i,0,-1,-1);
194 set(i,15,-1,-1);
195 set(i,14,-1,-1);
196 }
197 for (i=1;i<14;i++) {
198 set(0,i,-1,-1);
199 set(15,i,-1,-1);
200 }
201 }
202
203 set(9,5,-1,1);
204 set(12,5,-1,1);
205 set(9,10,-1,1);
206 set(11,10,-1,1);
207 set(9,7,-1,1);
208
209 #endif
210 #ifdef benflag
211 set(1,1,-1,1);
212 set(5,1,-1,1);
213 set(1,3,-1,1);
214 set(5,3,-1,1);
215 #endif
216 #ifdef qi
217 set(7,6,-1,1);
218 set(7,11,-1,1);
219 set(3,6,-1,1);
220 set(11,10,-1,1);
221 set(7,14,-1,1);
222
223 /*now for blank out */
224 set(7,3,-1,-1);
225 set(7,4,-1,-1);
226 set(8,3,-1,-1);
227 set(8,4,-1,-1);
228 #endif
229 #ifdef als
230 set(9,11,-1,1);
231 #endif
232
233 #ifdef cassidi
234 set(4,2,-1,1);
235 set(3,3,-1,1);
236 set(2,4,-1,1);
237 set(10,13,-1,1);
238 set(11,12,-1,1);
239 set(12,11,-1,1);
240 set(13,10,-1,1);
241 #endif
242
243 while (size) {
244 int c,d,e;
245 c = (rand()>>1) % (size);
246 d = pos[c];
247 x = d % width;
248 y = d / width;
249 if (there[x][y]) {
250 fprintf(stderr,"no %d %d %d %d\n as %d",c,d,x,y,there[x][y]);
251 int i;
252 for (i=0;i<size;i++) {
253 int x,y;
254 int d;
255 d = pos[c];
256 x = d % width;
257 y = d / width;
258 fprintf(stderr,"i %d posi %d x %d y %d there %d\n",i,pos[i],x,y,there[x][y]);
259 }
260 exit(1);
261 }
262 if ( (x && ((e=there[x-1][y])>0)) ||
263 ((x<width-1)&&((e=there[x+1][y])>0)) ||
264 ((y<height-1)&&((e=there[x][y+1])>0)) ||
265 ((y)&&((e=there[x][y-1])>0)) ) {
266 e++;
267 set(x,y,c,e);
268 }
269 }
270
271
272 #ifdef qi
273
274 /*now for blank out */
275 int e=20;
276 printf("%010d|%d|%d\n",e,7,3);
277 printf("%010d|%d|%d\n",e,7,4);
278 printf("%010d|%d|%d\n",e,8,3);
279 printf("%010d|%d|%d\n",e,8,4);
280 #endif
281
282 return 0;
283 }
284
285 int main()
286 {
287 points();
288 }

  ViewVC Help
Powered by ViewVC 1.1.5