1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
void checksymbol()
{
memset(drawData, 0, 200*200); // Alles mit NULL füllen
hdc = GetDC(hWnd);
MessageBox(hWnd, "Ihr gezeichnetes Bild wird nun überprüft! Alle Punkte die Sie gezeichnet haben, müssen blau werden!", "Prüfung", MB_OK);
for(x = 0; x < 201; x++)
{
for(y = 0; y < 201; y++)
{
if(GetPixel(hdc, x, y) == 000000)
{
drawData[x + (y*200)] = 1; //Bedeutet hier wurde gezeichnet
if(drawData[x + (y*200)] == 1)
{
SetPixel(hdc, x, y, RGB(0, 0, 255)); //Gecheckte Pixel werden blau
};
};
};
};
/*WICHTIG: In diesem Code steckt irgendwo noch ein logischer Fehler! */
MessageBox(hWnd, "Die gefundenen Pixel sind nun blau angestrichen, ist dies nicht der Fall, ist ein Error aufgetreten.", "Prüfung", MB_OK);
for(x = 0; x < 201; x++)
{
for(y = 0; y < 201; y++)
{
if(drawData[x + (y*200)] == quadratData[x + (y*200)] && drawData[x + (y*200)] == 1) //Das gemalt wurde ( == 1) und es sich befindet auf einem QuadratPunkt
{
SetPixel(hdc, x, y, RGB(0, 255, 0)); //Ist dies der Fall kommt ein grüner Punkt
}
else
{
if(drawData[x + (y*200)] == 1)
{
iFalsch++; //Ist dies nicht der Fall wird er rot und es gibt einen Minuspunkt
SetPixel(hdc, x, y, RGB(255, 0, 0));
}
else
{
SetPixel(hdc, x, y, RGB(255, 0, 255));
};
};
};
};
fPerc = (iFalsch / (float)(200 * 200)) * 100.0f;
if(fPerc > 30.0f)
{
MessageBox(hWnd, "Nicht gefunden", "Symbol", MB_OK);
}
else
{
MessageBox(hWnd, "Gefunden", "Symbol", MB_OK);
};
ReleaseDC(hWnd, hdc);
};
|