Prześlij pliki do ''

This commit is contained in:
Karol Piotrowski 2020-05-27 07:30:39 +00:00
parent a590bce082
commit 63a2eb21d6

View File

@ -21,6 +21,7 @@ int score = 0;
int rozmiarPopulacji = 50; int rozmiarPopulacji = 50;
string * zebrane = new string[rozmiarPopulacji]; string * zebrane = new string[rozmiarPopulacji];
string * doSadzenia = new string[20]; string * doSadzenia = new string[20];
int gmoLeft;
const float maxFloat=100000000000; const float maxFloat=100000000000;
const int ROW = 27; const int ROW = 27;
@ -306,13 +307,9 @@ void genetic_algorithm(string * population, int populationSize, int parentsNumbe
string przypiszKod() { string przypiszKod() {
if (doSadzenia[0] > "000000000" and doSadzenia[0] <= "999999999") { if (gmoLeft > 0) {
int i = 0; string temp = doSadzenia[gmoLeft - 1];
while(i<19, doSadzenia[i+1] >= "000000000" and doSadzenia[i+1] <= "999999999") { gmoLeft -= 1;
i+=1;
}
string temp = doSadzenia[i];
doSadzenia[i] = "000000000";
return temp; return temp;
} }
else { else {
@ -492,7 +489,7 @@ void Move(char kierunek)
{ {
switch (kierunek) switch (kierunek)
{ {
//góra-(w) //gA3ra-(w)
case 'w': case 'w':
{ {
if (pole[pozycjaTraktoraY - 1][pozycjaTraktoraX][0] != '#') if (pole[pozycjaTraktoraY - 1][pozycjaTraktoraX][0] != '#')
@ -517,7 +514,7 @@ void Move(char kierunek)
} }
updatePola(); updatePola();
}break; }break;
//dóÅ-(s) //dA3A-(s)
case 's': case 's':
{ {
if (pole[pozycjaTraktoraY + 1][pozycjaTraktoraX][0] != '#') if (pole[pozycjaTraktoraY + 1][pozycjaTraktoraX][0] != '#')
@ -644,7 +641,7 @@ void tracePath(cell cellDetails[][COL], Pair dest)
if (p.second < pozycjaTraktoraY) if (p.second < pozycjaTraktoraY)
Move('w'); Move('w');
//printf("-> (%d,%d) ", p.first, p.second); //---- informacja wierzchoÅku //printf("-> (%d,%d) ", p.first, p.second); //---- informacja wierzchoAku
Sleep(1000); Sleep(1000);
} }
@ -861,7 +858,7 @@ void test2()
} }
test1(); test1();
updatePola(); updatePola();
//generowanie kodów dla buraków //generowanie kodów dla buraków
for(int i=0;i<27;i++) { for(int i=0;i<27;i++) {
for(int j=0;j<27;j++) { for(int j=0;j<27;j++) {
if (pole[i][j][0] == 'B') { if (pole[i][j][0] == 'B') {
@ -969,6 +966,7 @@ int main()
doSadzenia[i] = "000000000"; doSadzenia[i] = "000000000";
} }
genetic_algorithm(zebrane, rozmiarPopulacji, rozmiarPopulacji - 5, doSadzenia, 20); genetic_algorithm(zebrane, rozmiarPopulacji, rozmiarPopulacji - 5, doSadzenia, 20);
gmoLeft = 20;
delete[] zebrane; delete[] zebrane;
string * zebrane = new string[rozmiarPopulacji]; string * zebrane = new string[rozmiarPopulacji];
for(int i=0;i<20;i++) { for(int i=0;i<20;i++) {