From a9491252bbd2cfd7e23d783e9a8a5558ba27f9dd Mon Sep 17 00:00:00 2001 From: Milosz Rolewski Date: Wed, 24 May 2023 23:22:20 +0200 Subject: [PATCH] added world matrix to improve ID3 decisions --- __pycache__/settings.cpython-310.pyc | Bin 550 -> 555 bytes src/road.py => output.txt | 0 settings.py | 6 ++-- src/Road.py | 9 ++++++ src/__pycache__/Road.cpython-310.pyc | Bin 0 -> 565 bytes src/__pycache__/map.cpython-310.pyc | Bin 2257 -> 2932 bytes src/map.py | 43 ++++++++++++++++++++++----- 7 files changed, 47 insertions(+), 11 deletions(-) rename src/road.py => output.txt (100%) create mode 100644 src/Road.py create mode 100644 src/__pycache__/Road.cpython-310.pyc diff --git a/__pycache__/settings.cpython-310.pyc b/__pycache__/settings.cpython-310.pyc index 6577f197896d74e19b9c87ae21f6e57d62ccef0b..952eafd768579a41ca219d3bd12f9052649526d2 100644 GIT binary patch delta 137 zcmZ3+vYLfApO=@50SFG{=A|r{$ZHhO9L1cOhN*~W;`j4xia^OC#mQ$FqX2tjA@KkJ delta 132 zcmZ3@vW$f{pO=@50SJ5)-BPAaN@Y%CiegD;NMT;Y7{!{x62+Fn8pRIe zvjO=WDeO_4K+KiOnaU-?5XGIs5yg|jnZlLAox+pCJBKBTH-#^lL6iR_$Y4#zTP($e cMJ1UlCeDjtdMP#W&v`Z_pm>qeP7ziUF`ervt5K?8z|25sr;t-my^TrD7mF!E(jz@%pk`Y5$-`c(p`ac z6)xS_k=_t`{)Toz4{d8$>Pe+iP7lM~CFY!nf*2*l&KkxjQ97$2cGuuR%u=rP9*ab# z`wA{(?(AlBNu+`$eBdV_EN}tBSvZ8QWbR4kz6919XfECS5cFEsH+8AB4TP9XCzTKu z-!0CpSItUgy|geDcQ+~<>m#br0l^pAV}Q(fiu|;N$O~C#%sWE7)k(Hp zX~b-}Gm@$-6GESm?iM=CP8s;PJPdaZpo`6)0i7!>XV287Z<+_ve4WkOflMRFGB&v0 M`nbWpRtLJyKf4@xvj6}9 literal 0 HcmV?d00001 diff --git a/src/__pycache__/map.cpython-310.pyc b/src/__pycache__/map.cpython-310.pyc index 8b63f22cb64d116d8aecbd9a3c26b54323be549b..ea4355d1a3c0ff1da6ef1a50e0e1c8f03ed6f811 100644 GIT binary patch literal 2932 zcma)8OK%*<5$^7J?Ck7=%jNPR+p%RKiM@eA%76g_386T!MMoFHFm(t95EjGj(Q>4j zon=om6p7iu0EOK156GjCKayk4eM~Ol**OG34*9BQ`H}-8yXcy#n(nHuuCJ@6=yXDc z-{1Z)m4EIs_IDC)|6B-PV3dCakxcT80c@PD8 zGiv5x6y~j{mA9jI-ibPSH|pB8Znl*7qTa&JaCEKrA@?O%CoppA`zru)qBD-=4^WK*|xs2xrvM*Qg zye|iG70(Z)*ki-BOGL$n+_>eT(!0Z!>6BxYB-7DBl1>h^X)na%RO$oc?mdYfo5tQZ zkH38Kc+Z6USuuV&D$~=%xH`=e(^5q&N8_SUvNWCNX_Cou6z9d!RGZL>_3U=dFPyY$ z$@;)vyl=92s)^Yl1GKwuVRr1$UKc+~3&~$%l%If9>?`(cdG1us3s&)$Lal(~l~`~> zFwXYaA=0(S-tgU_WB4n>PfR!?XCr+wONOrT?M_P7hefplVmzyP!_+#Ye}A-fP~^#0 zo@PaPy7ikUTThSFe(_YrFLj}|N;TffK?=~2f6wYFEDImUx29qHALY{zDGPo)RvCrUGRPBS>6Y~vEUov-==I>D^=+96Sy$`tkAJ8(tnZ=>?esIo!idd>hL7qXD5G^G;dYjmdR*kQM?WP) zw67jJUA<9n-msTsZzznX;^`z&luz{`5o_<-s3J?()*dh`tDix6Cx8HoC5$@VFs<1O zel8@x;ByY%Id?0ry$b=!2gJAMLN|1vn`hTY^XyZ=o}Gsk;I3N(Ryoocu;=1JaHiYR zy{(l@cchE8RKMu&5C$4xeypaOv*~0gEKJhZ0MoFK+i^09^Tc>*9#2r*GORI8jf|Ji z3zZwM9LHIrD0!+$ST?o3mv_?QZ2Nt-IkTw8Q;9|wGc z{{nSqz{P(8@3z!#ba|V*LVb?OV~pz`p&MwQd1IYn! zsRrxdB~yQ_0MRw3n>v)vIve1RHz8>TY#q?6pMYMAX11LwqbA@~#LV5jK0Ghd06Z;=7=aj>obaSs|rMNw-*8>B1zwinwA z`zp~#xRv$y!-(3+Gn)HbB2Q@X1LKWx*AEmquJa$DNa=JsDHW;?QxuM};Ia9()#IkZ z*gj)1V3ST5Fim`MY}&7-8U)+d${qT0vUo57O`>{GmmOzZ{@#9d)J5r+@F*sAd(Oe5fzLV6ypPLCcYA5LMF@hfD6km)HEUJY%uEG zXy0`=o{SfNhF7n1G0}@$Jb5r4j8(IO&z|&GHPzkK)n8S8DZcBSXmodb3`g$Ts(jzY z*hl*LeF*$Hk28AybfR{~md;~#Cof%@L0JgJO0hN2W_L=`lU-;zAbr`5a!_Vv56Xj5 z++gFmXZ)pp&1?BybOe0}iM3P>Yw{I?qMi^J3K_bA0&#hsdt5v)Ih6E6@nW)w#&Hh) zD1h`144{_emO~X(8j%VXw*$4k9`@*~#?a6Zu2nd~-f&Q%n=j&wO#Q?>GCkQ8%8}v` zzr+?sn?}r9Zp>q$GIVDVJE}k!*5L@*h=IgftTigD(5K(n`O05( zW+arit~bgu8pf^BVFX`fxyyZC;-|Ry?izcVZ)VYI3Yfx86`cEnqRHV*x&FZPlv6km zHo3A|wsP=^LUN?rQ0^*&x?XVZ?X;ps~3QV`u}9Y3+{gBu2Ha zz$Z(V;3xrc`Ujm|>$P%S1(c^9`7S0ulHmsAqhZyV~eEm z{>o{prG3%|q1uF>K}A8W8mS9(2emf#*;zV%D6uMQWpx+G2qSviyLJCGs!1k-%JF$> z)(#gXTBrJgX#xtib2F6!%o32p-=6s^5O;R1AvbH`Im%Q-o_uWh8GI%cnQOSVmve>N H?`MAi3t05J diff --git a/src/map.py b/src/map.py index 1e479a5..8e7afe8 100644 --- a/src/map.py +++ b/src/map.py @@ -4,6 +4,8 @@ from settings import screen_height, screen_width, SIZE, SPECIES, block_size, til from src.Plant import Plant import random from src.Field import Field +from src.Road import Road +import csv def get_type_by_position(fields, x, y): @@ -30,18 +32,26 @@ def get_cost_by_type(plant_type): fields = pygame.sprite.Group() + +world_matrix = [[0 for _ in range(fields_amount+1)] for _ in range(fields_amount+1)] + def drawRoads(screen): #drawing roads: road = pygame.image.load("assets/road.jpeg") road = pygame.transform.scale(road, tile) for x in road_coords: - for block in range(26): + for block in range(int(fields_amount)+1): screen.blit(road, (x*block_size, block * 36)) - fields.add(Field('road', x*block_size, block * 36, None, get_cost_by_type('road'), None, None, None, None, 'road', None, None)) + tmp_field=Field('road', x*block_size, block * 36, None, get_cost_by_type('road'), None, None, None, None, 'road', None, None) + fields.add(tmp_field) + world_matrix[x][block]=Road(x,block) for y in road_coords: - for block in range(26): - screen.blit(road, (block * 36, y*block_size)) - fields.add(Field('road', block * 36, y*block_size, None, get_cost_by_type('road'), None, None, None, None, 'road', None, None)) + for block in range(int(fields_amount)+1): + screen.blit(road, (block * block_size, y*block_size)) + tmp_field=Field('road', block * block_size, y*block_size, None, get_cost_by_type('road'), None, None, None, None, 'road', None, None) + fields.add(tmp_field) + world_matrix[block][y]=Road(block,y) + barn_img = pygame.image.load('assets/barn.png') barn = pygame.transform.scale(barn_img, tile) @@ -52,17 +62,34 @@ def drawRoads(screen): def seedForFirstTime(): plant_group = pygame.sprite.Group() for field in range(fields_amount): - plant = random.choice(SPECIES) + plant_name = random.choice(SPECIES) blocks_seeded_in_field = 0 while (blocks_seeded_in_field < field_size): + x = (((field%5)*((block_size*(field_width+1)))) + ((blocks_seeded_in_field % field_width)*block_size) + ((3/2)*block_size)) y = ((int(field/5)*((block_size*(field_width+1)))) + ((int(blocks_seeded_in_field/field_height))*block_size) + ((3/2)*block_size)) - new_plant = Plant(plant,0, x, y) + + new_plant = Plant(plant_name,0, x, y) blocks_seeded_in_field = blocks_seeded_in_field + 1 plant_group.add(new_plant) - fields.add(Field('field', x-18, y-18, None, get_cost_by_type(plant), None, None, None, None, plant, None, None)) + tmp_field_plant = Field('field', x-18, y-18, None, get_cost_by_type(plant_name), None, None, None, None, plant_name, None, None) + fields.add(tmp_field_plant) + + mx = int((x-18)/36) + my = int((y-18)/36) + world_matrix[mx][my]=tmp_field_plant + + # for i in range(1,4): + # world_matrix[mx][my+i]=tmp_field_plant + #debug + print(world_matrix) + #end of debug + return plant_group +def put_to_matrix(): + return 0 + def return_fields_list(): return fields