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

Contents of /eyes/points.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide annotations)
Mon Dec 19 10:08:22 2011 UTC (6 years, 7 months ago) by hib
Branch: MAIN
Changes since 1.5: +12 -1 lines
File MIME type: text/plain
...
1 hib 1.1 #include <stdio.h>
2 hib 1.5 #include <stdlib.h>
3    
4 hib 1.6 #define lovely1
5 hib 1.1
6    
7     #ifdef salka
8     #define WIDTH 132
9     #define HEIGHT 136
10     #endif
11    
12     #ifdef veronika
13     #define WIDTH 144
14     #define HEIGHT 48
15     #endif
16    
17 hib 1.2 #ifdef kelly
18     #define WIDTH 144
19     #define HEIGHT 48
20     #endif
21    
22 hib 1.3 #ifdef dad
23     #define WIDTH 18
24     #define HEIGHT 25
25     #endif
26    
27 hib 1.4 #ifdef liss
28     #define WIDTH 28
29     #define HEIGHT 21
30     #endif
31    
32 hib 1.5 #ifdef stephanie
33     #define WIDTH 32
34     #define HEIGHT 24
35     #endif
36    
37    
38     #ifdef moot
39     #define WIDTH 64
40     #define HEIGHT 50
41     #endif
42    
43 hib 1.6 #ifdef lovely1
44     #define WIDTH 32
45     #define HEIGHT 42
46     #endif
47    
48 hib 1.1 int there[WIDTH][HEIGHT];
49     int there2[WIDTH][HEIGHT];
50     int *pos;
51    
52     int points (){
53     int width=WIDTH;
54     int height=HEIGHT;
55     int x,y;
56     int size;
57     pos = (int *) there2;
58     for (x=0;x<width;x++) {
59     for (y=0;y<height;y++) {
60     there[x][y] = 0;
61     pos[y*width+x] = y*width+x;
62     }
63     }
64     size=width*height;
65    
66     #define set(x,y,c,e) {there[x][y]=e;int cc;cc=(c);if (cc==-1) cc=y*width+x;printf("%010d|%d|%d\n",e,x,y);size=size-1;pos[cc]=pos[size];}
67    
68    
69     #ifdef salka
70     set(91,47,-1,1);
71     set(108,44,-1,1);
72     set(103,64,-1,1);
73     set(96,89,-1,1);
74     srand(4336734);
75     #endif
76     #ifdef veronika
77     set(58,31,-1,1);
78     set(106,34,-1,1);
79     srand(1223857631);
80     #endif
81 hib 1.2 #ifdef kelly
82     set(30,22,-1,1);
83     set(75,22,-1,1);
84     srand(4431287269);
85     #endif
86 hib 1.3 #ifdef dad
87     set(10,2,-1,1);
88     set(10,3,-1,1);
89     set(10,4,-1,1);
90     set(2,15,-1,1);
91     set(12,16,-1,1);
92     set(10,7,-1,1);
93     set(13,9,-1,1);
94     set(8,9,-1,1);
95     #endif
96 hib 1.4 #ifdef liss
97     set(2,8,-1,1);
98     set(7,3,-1,1);
99     set(11,4,-1,1);
100     set(13,7,-1,1);
101     set(15,10,-1,1);
102     #endif
103 hib 1.5 #ifdef stephanie
104     set(12,11,-1,1);
105     set(15,11,-1,1);
106     set(14,16,-1,1);
107     #endif
108     #ifdef moot
109     set(30,20,-1,1);
110     set(25,25,-1,1);
111     set(26,31,-1,1);
112     set(12,27,-1,1);
113     set(35,23,-1,1);
114     set(13,12,-1,1);
115     set(20,4,-1,1);
116     set(32,7,-1,1);
117     #endif
118 hib 1.6 #ifdef lovely1
119     set(20,4,-1,1);
120     set(24,3,-1,1);
121     set(22,8,-1,1);
122     set(11,28,-1,1);
123     #endif
124 hib 1.1
125     while (size) {
126     int c,d,e;
127     c = (rand()>>1) % (size);
128     d = pos[c];
129     x = d % width;
130     y = d / width;
131     if (there[x][y]) {
132     fprintf(stderr,"no %d %d %d %d\n",c,d,x,y);
133     exit(1);
134     }
135     if ( (x && (e=there[x-1][y])) ||
136     ((x<width-1)&&(e=there[x+1][y])) ||
137     ((y<height-1)&&(e=there[x][y+1])) ||
138     ((y)&&(e=there[x][y-1])) ) {
139     e++;
140     set(x,y,c,e);
141     }
142     }
143     return 0;
144     }
145    
146     int main()
147     {
148     points();
149     }

  ViewVC Help
Powered by ViewVC 1.1.5