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

Contents of /eyes/points.c

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5