diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.dbf b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.dbf deleted file mode 100644 index 552ea10..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.prj b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.shp b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.shp deleted file mode 100644 index 68857b2..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.shx b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.shx deleted file mode 100644 index adb26ec..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BHV.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.cpg b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.cpg deleted file mode 100644 index 3ad133c..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.cpg +++ /dev/null @@ -1 +0,0 @@ -UTF-8 \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.dbf b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.dbf deleted file mode 100644 index a2f339e..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.prj b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.qmd b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.qmd deleted file mode 100644 index 10116dd..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.qmd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - dataset - - - - - - - - PROJCRS["ETRS89 / UTM zone 32N",BASEGEOGCRS["ETRS89",ENSEMBLE["European Terrestrial Reference System 1989 ensemble",MEMBER["European Terrestrial Reference Frame 1989"],MEMBER["European Terrestrial Reference Frame 1990"],MEMBER["European Terrestrial Reference Frame 1991"],MEMBER["European Terrestrial Reference Frame 1992"],MEMBER["European Terrestrial Reference Frame 1993"],MEMBER["European Terrestrial Reference Frame 1994"],MEMBER["European Terrestrial Reference Frame 1996"],MEMBER["European Terrestrial Reference Frame 1997"],MEMBER["European Terrestrial Reference Frame 2000"],MEMBER["European Terrestrial Reference Frame 2005"],MEMBER["European Terrestrial Reference Frame 2014"],ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[0.1]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4258]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["Europe between 6°E and 12°E: Austria; Belgium; Denmark - onshore and offshore; Germany - onshore and offshore; Norway including - onshore and offshore; Spain - offshore."],BBOX[38.76,6,84.33,12]],ID["EPSG",25832]] - +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs - 2105 - 25832 - EPSG:25832 - ETRS89 / UTM zone 32N - utm - EPSG:7019 - false - - - - diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.shp b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.shp deleted file mode 100644 index 81e47a2..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.shx b/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.shx deleted file mode 100644 index 8ba8937..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_gemeindeteilgrenzen_BRE.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.dbf b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.dbf deleted file mode 100644 index 539e7c7..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.prj b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.shp b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.shp deleted file mode 100644 index 951e0be..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.shx b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.shx deleted file mode 100644 index 02576fc..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BHV.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.cpg b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.cpg deleted file mode 100644 index 3ad133c..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.cpg +++ /dev/null @@ -1 +0,0 @@ -UTF-8 \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.dbf b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.dbf deleted file mode 100644 index d315b86..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.prj b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.qmd b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.qmd deleted file mode 100644 index 10116dd..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.qmd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - dataset - - - - - - - - PROJCRS["ETRS89 / UTM zone 32N",BASEGEOGCRS["ETRS89",ENSEMBLE["European Terrestrial Reference System 1989 ensemble",MEMBER["European Terrestrial Reference Frame 1989"],MEMBER["European Terrestrial Reference Frame 1990"],MEMBER["European Terrestrial Reference Frame 1991"],MEMBER["European Terrestrial Reference Frame 1992"],MEMBER["European Terrestrial Reference Frame 1993"],MEMBER["European Terrestrial Reference Frame 1994"],MEMBER["European Terrestrial Reference Frame 1996"],MEMBER["European Terrestrial Reference Frame 1997"],MEMBER["European Terrestrial Reference Frame 2000"],MEMBER["European Terrestrial Reference Frame 2005"],MEMBER["European Terrestrial Reference Frame 2014"],ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[0.1]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4258]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["Europe between 6°E and 12°E: Austria; Belgium; Denmark - onshore and offshore; Germany - onshore and offshore; Norway including - onshore and offshore; Spain - offshore."],BBOX[38.76,6,84.33,12]],ID["EPSG",25832]] - +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs - 2105 - 25832 - EPSG:25832 - ETRS89 / UTM zone 32N - utm - EPSG:7019 - false - - - - diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.shp b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.shp deleted file mode 100644 index 0cd7af5..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.shx b/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.shx deleted file mode 100644 index 4b77dc7..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_landesflaeche_Teil_I_BRE.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.dbf b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.dbf deleted file mode 100644 index ff5f0c2..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.prj b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.shp b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.shp deleted file mode 100644 index 4a98d70..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.shx b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.shx deleted file mode 100644 index f4c8fb4..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BHV.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.cpg b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.cpg deleted file mode 100644 index 3ad133c..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.cpg +++ /dev/null @@ -1 +0,0 @@ -UTF-8 \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.dbf b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.dbf deleted file mode 100644 index 3f44c20..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.prj b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.qmd b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.qmd deleted file mode 100644 index 6a897a4..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.qmd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - dataset - - aktualisiert am 29.8.23; MEB - - - - - - PROJCRS["ETRS89 / UTM zone 32N",BASEGEOGCRS["ETRS89",ENSEMBLE["European Terrestrial Reference System 1989 ensemble",MEMBER["European Terrestrial Reference Frame 1989"],MEMBER["European Terrestrial Reference Frame 1990"],MEMBER["European Terrestrial Reference Frame 1991"],MEMBER["European Terrestrial Reference Frame 1992"],MEMBER["European Terrestrial Reference Frame 1993"],MEMBER["European Terrestrial Reference Frame 1994"],MEMBER["European Terrestrial Reference Frame 1996"],MEMBER["European Terrestrial Reference Frame 1997"],MEMBER["European Terrestrial Reference Frame 2000"],MEMBER["European Terrestrial Reference Frame 2005"],MEMBER["European Terrestrial Reference Frame 2014"],ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[0.1]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4258]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["Europe between 6°E and 12°E: Austria; Belgium; Denmark - onshore and offshore; Germany - onshore and offshore; Norway including - onshore and offshore; Spain - offshore."],BBOX[38.76,6,84.33,12]],ID["EPSG",25832]] - +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs - 2105 - 25832 - EPSG:25832 - ETRS89 / UTM zone 32N - utm - EPSG:7019 - false - - - - diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.shp b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.shp deleted file mode 100644 index 8878dc1..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.shx b/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.shx deleted file mode 100644 index 1cffa25..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_ortsteile_BRE.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.dbf b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.dbf deleted file mode 100644 index f7dbc93..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.prj b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.shp b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.shp deleted file mode 100644 index 93f9a83..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.shx b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.shx deleted file mode 100644 index 8ec338c..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BHV.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.cpg b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.cpg deleted file mode 100644 index 3ad133c..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.cpg +++ /dev/null @@ -1 +0,0 @@ -UTF-8 \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.dbf b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.dbf deleted file mode 100644 index aad3282..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.prj b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.qmd b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.qmd deleted file mode 100644 index 23205ea..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.qmd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - dataset - - aktualisiert am 29.8.23 - - - - - - PROJCRS["ETRS89 / UTM zone 32N",BASEGEOGCRS["ETRS89",ENSEMBLE["European Terrestrial Reference System 1989 ensemble",MEMBER["European Terrestrial Reference Frame 1989"],MEMBER["European Terrestrial Reference Frame 1990"],MEMBER["European Terrestrial Reference Frame 1991"],MEMBER["European Terrestrial Reference Frame 1992"],MEMBER["European Terrestrial Reference Frame 1993"],MEMBER["European Terrestrial Reference Frame 1994"],MEMBER["European Terrestrial Reference Frame 1996"],MEMBER["European Terrestrial Reference Frame 1997"],MEMBER["European Terrestrial Reference Frame 2000"],MEMBER["European Terrestrial Reference Frame 2005"],MEMBER["European Terrestrial Reference Frame 2014"],ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[0.1]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4258]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["Europe between 6°E and 12°E: Austria; Belgium; Denmark - onshore and offshore; Germany - onshore and offshore; Norway including - onshore and offshore; Spain - offshore."],BBOX[38.76,6,84.33,12]],ID["EPSG",25832]] - +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs - 2105 - 25832 - EPSG:25832 - ETRS89 / UTM zone 32N - utm - EPSG:7019 - false - - - - diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.shp b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.shp deleted file mode 100644 index cb852dc..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.shx b/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.shx deleted file mode 100644 index 12546ed..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtbezirke_BRE.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.dbf b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.dbf deleted file mode 100644 index 7e0a2d0..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.prj b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.shp b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.shp deleted file mode 100644 index 8759c54..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.shx b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.shx deleted file mode 100644 index 71926ea..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BHV.shx and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.cpg b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.cpg deleted file mode 100644 index 3ad133c..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.cpg +++ /dev/null @@ -1 +0,0 @@ -UTF-8 \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.dbf b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.dbf deleted file mode 100644 index 32f55c8..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.dbf and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.prj b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.prj deleted file mode 100644 index bd846ae..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.prj +++ /dev/null @@ -1 +0,0 @@ -PROJCS["ETRS_1989_UTM_Zone_32N",GEOGCS["GCS_ETRS_1989",DATUM["D_ETRS_1989",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",9.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]] \ No newline at end of file diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.qmd b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.qmd deleted file mode 100644 index 6a897a4..0000000 --- a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.qmd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - dataset - - aktualisiert am 29.8.23; MEB - - - - - - PROJCRS["ETRS89 / UTM zone 32N",BASEGEOGCRS["ETRS89",ENSEMBLE["European Terrestrial Reference System 1989 ensemble",MEMBER["European Terrestrial Reference Frame 1989"],MEMBER["European Terrestrial Reference Frame 1990"],MEMBER["European Terrestrial Reference Frame 1991"],MEMBER["European Terrestrial Reference Frame 1992"],MEMBER["European Terrestrial Reference Frame 1993"],MEMBER["European Terrestrial Reference Frame 1994"],MEMBER["European Terrestrial Reference Frame 1996"],MEMBER["European Terrestrial Reference Frame 1997"],MEMBER["European Terrestrial Reference Frame 2000"],MEMBER["European Terrestrial Reference Frame 2005"],MEMBER["European Terrestrial Reference Frame 2014"],ELLIPSOID["GRS 1980",6378137,298.257222101,LENGTHUNIT["metre",1]],ENSEMBLEACCURACY[0.1]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433]],ID["EPSG",4258]],CONVERSION["UTM zone 32N",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",9,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",0.9996,SCALEUNIT["unity",1],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1]],USAGE[SCOPE["Engineering survey, topographic mapping."],AREA["Europe between 6°E and 12°E: Austria; Belgium; Denmark - onshore and offshore; Germany - onshore and offshore; Norway including - onshore and offshore; Spain - offshore."],BBOX[38.76,6,84.33,12]],ID["EPSG",25832]] - +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs - 2105 - 25832 - EPSG:25832 - ETRS89 / UTM zone 32N - utm - EPSG:7019 - false - - - - diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.shp b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.shp deleted file mode 100644 index 80dbf9f..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.shp and /dev/null differ diff --git a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.shx b/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.shx deleted file mode 100644 index a457df3..0000000 Binary files a/Verwaltungsgrenzen_HB_BHV/hb_stadtteile_BRE.shx and /dev/null differ diff --git a/water-game.py b/water-game.py index 8c60e7a..7b1958f 100644 --- a/water-game.py +++ b/water-game.py @@ -1,201 +1,161 @@ -# Simple top-down game skeleton with WASD movement and water bottle shooting -import pygame -import sys -import numpy as np -import rasterio +# Simple top-down shooter with WASD player, arrow-key enemy, health bar, minimap, and raster background +import pygame, sys, numpy as np, rasterio pygame.init() - WIDTH, HEIGHT = 800, 600 WIN = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Water Bottle Shooter") -WHITE = (255, 255, 255) -BLUE = (0, 150, 255) -PLAYER_COLOR = (200, 200, 0) -WATER_COLOR = (0, 180, 255) - -PLAYER_SIZE = 40 -PLAYER_SPEED = 5 -WATER_SIZE = 10 -WATER_SPEED = 10 - -PLAYER_IMAGE_PATH = "images/player.png" # Path to your player image -try: - PLAYER_IMAGE = pygame.image.load(PLAYER_IMAGE_PATH).convert_alpha() - PLAYER_IMAGE = pygame.transform.scale(PLAYER_IMAGE, (PLAYER_SIZE, PLAYER_SIZE)) -except Exception as e: - print(f"Could not load player image: {e}") - PLAYER_IMAGE = None - - - -ENEMY_IMAGE_PATH = "images/enemy.png" # Path to your player image -try: - ENEMY_IMAGE = pygame.image.load(ENEMY_IMAGE_PATH).convert_alpha() - ENEMY_IMAGE = pygame.transform.scale(ENEMY_IMAGE, (PLAYER_SIZE, PLAYER_SIZE)) -except Exception as e: - print(f"Could not load player image: {e}") - ENEMY_IMAGE = None -clock = pygame.time.Clock() - -# Load raster map as background - -# Load full raster as a surface -def load_full_map_surface(path): - try: - src = rasterio.open(path) - arr = src.read(1) - arr = arr - 272.15 # Convert Kelvin to Celsius if needed - arr = np.nan_to_num(arr, nan=0) - arr = np.clip(arr, np.percentile(arr, 5), np.percentile(arr, 95)) - arr = (arr - arr.min()) / (arr.max() - arr.min()) * 255 - arr = arr.astype(np.uint8) - arr = np.stack([arr, arr, arr], axis=-1) # grayscale to RGB - arr = np.flipud(arr) # flip vertically for correct orientation - # Always scale map to at least fill the screen, preserving aspect ratio - h, w = arr.shape[:2] - scale_factor = max(WIDTH / w, HEIGHT / h) - new_w = int(w * scale_factor) - new_h = int(h * scale_factor) - surf = pygame.surfarray.make_surface(arr) - surf = pygame.transform.smoothscale(surf, (new_w, new_h)) - return surf, new_w, new_h - except Exception as e: - print(f"Could not load map background: {e}") - return None, WIDTH, HEIGHT - +PLAYER_SIZE, PLAYER_SPEED = 40, 5 +WATER_SIZE, WATER_SPEED = 10, 10 +KILL_RADIUS = 30 +MINIMAP_SIZE, MINIMAP_MARGIN = 200, 20 +PLAYER_IMG_PATH = "images/player.png" +ENEMY_IMG_PATH = "images/enemy.png" MAP_PATH = "results/s2_2025.tif" -map_surface, MAP_W, MAP_H = load_full_map_surface(MAP_PATH) +# Load images +def load_img(path, size): + try: + img = pygame.image.load(path).convert_alpha() + return pygame.transform.scale(img, size) + except: + return None +PLAYER_IMAGE = load_img(PLAYER_IMG_PATH, (PLAYER_SIZE, PLAYER_SIZE)) +ENEMY_IMAGE = load_img(ENEMY_IMG_PATH, (PLAYER_SIZE, PLAYER_SIZE)) + +# Load raster map +def load_map(path): + try: + arr = rasterio.open(path).read(1) + arr = np.nan_to_num(arr - 272.15, nan=0) + arr = np.clip(arr, np.percentile(arr, 5), np.percentile(arr, 95)) + arr = ((arr - arr.min()) / (arr.max() - arr.min()) * 255).astype(np.uint8) + arr = np.stack([arr, arr, arr], -1) + arr = np.rot90(arr, 3) + arr = np.fliplr(arr) + surf = pygame.surfarray.make_surface(arr) + return surf, arr.shape[1], arr.shape[0] + except Exception as e: + print(f"Map load error: {e}"); return None, WIDTH, HEIGHT +map_surface, MAP_W, MAP_H = load_map(MAP_PATH) class Player: def __init__(self, x, y): - self.x = x - self.y = y - self.rect = pygame.Rect(self.x, self.y, PLAYER_SIZE, PLAYER_SIZE) - self.direction = "up" # Default direction - + self.x, self.y, self.alive = x, y, True + self.rect = pygame.Rect(x, y, PLAYER_SIZE, PLAYER_SIZE) + self.dir = "up" def move(self, keys): - if keys[pygame.K_w]: - self.y -= PLAYER_SPEED - self.direction = "up" - if keys[pygame.K_s]: - self.y += PLAYER_SPEED - self.direction = "down" - if keys[pygame.K_a]: - self.x -= PLAYER_SPEED - self.direction = "left" - if keys[pygame.K_d]: - self.x += PLAYER_SPEED - self.direction = "right" - # Clamp to map boundaries - self.x = max(0, min(MAP_W - PLAYER_SIZE, self.x)) - self.y = max(0, min(MAP_H - PLAYER_SIZE, self.y)) + if not self.alive: return + dx = dy = 0 + if keys[pygame.K_w]: dy -= PLAYER_SPEED; self.dir = "up" + if keys[pygame.K_s]: dy += PLAYER_SPEED; self.dir = "down" + if keys[pygame.K_a]: dx -= PLAYER_SPEED; self.dir = "left" + if keys[pygame.K_d]: dx += PLAYER_SPEED; self.dir = "right" + self.x = max(0, min(MAP_W-PLAYER_SIZE, self.x+dx)) + self.y = max(0, min(MAP_H-PLAYER_SIZE, self.y+dy)) self.rect.topleft = (self.x, self.y) - - def draw(self, win, offset_x, offset_y): - if PLAYER_IMAGE: - win.blit(PLAYER_IMAGE, (self.x - offset_x, self.y - offset_y)) - else: - pygame.draw.rect(win, PLAYER_COLOR, (self.x - offset_x, self.y - offset_y, PLAYER_SIZE, PLAYER_SIZE)) + def draw(self, win, ox, oy): + if not self.alive: return + img = PLAYER_IMAGE or None + if img: win.blit(img, (self.x-ox, self.y-oy)) + else: pygame.draw.rect(win, (200,200,0), (self.x-ox, self.y-oy, PLAYER_SIZE, PLAYER_SIZE)) class Enemy: def __init__(self, x, y): - self.x = x - self.y = y - self.rect = pygame.Rect(self.x, self.y, PLAYER_SIZE /2, PLAYER_SIZE /2) - self.direction = "up" # Default direction - + self.x, self.y = x, y + self.rect = pygame.Rect(x, y, PLAYER_SIZE//2, PLAYER_SIZE//2) + self.dir = "up" + self.max_health, self.health = 100, 100 def move(self, keys): - if keys[pygame.K_UP]: - self.y -= PLAYER_SPEED - self.direction = "up" - if keys[pygame.K_DOWN]: - self.y += PLAYER_SPEED - self.direction = "down" - if keys[pygame.K_LEFT]: - self.x -= PLAYER_SPEED - self.direction = "left" - if keys[pygame.K_RIGHT]: - self.x += PLAYER_SPEED - self.direction = "right" - # Clamp to map boundaries - self.x = max(0, min(MAP_W - PLAYER_SIZE, self.x)) - self.y = max(0, min(MAP_H - PLAYER_SIZE, self.y)) + dx = dy = 0 + if keys[pygame.K_UP]: dy -= PLAYER_SPEED; self.dir = "up" + if keys[pygame.K_DOWN]: dy += PLAYER_SPEED; self.dir = "down" + if keys[pygame.K_LEFT]: dx -= PLAYER_SPEED; self.dir = "left" + if keys[pygame.K_RIGHT]: dx += PLAYER_SPEED; self.dir = "right" + self.x = max(0, min(MAP_W-PLAYER_SIZE//2, self.x+dx)) + self.y = max(0, min(MAP_H-PLAYER_SIZE//2, self.y+dy)) self.rect.topleft = (self.x, self.y) - - def draw(self, win, offset_x, offset_y): - if ENEMY_IMAGE: - win.blit(ENEMY_IMAGE, (self.x - offset_x, self.y - offset_y)) - else: - pygame.draw.rect(win, PLAYER_COLOR, (self.x - offset_x, self.y - offset_y, PLAYER_SIZE, PLAYER_SIZE)) - + def draw(self, win, ox, oy): + img = ENEMY_IMAGE or None + if img: win.blit(img, (self.x-ox, self.y-oy)) + else: pygame.draw.rect(win, (200,200,0), (self.x-ox, self.y-oy, PLAYER_SIZE//2, PLAYER_SIZE//2)) + # Health bar + bw, bh = PLAYER_SIZE//2, 6 + ratio = self.health/self.max_health + bx, by = self.x-ox, self.y-oy-bh-2 + pygame.draw.rect(win, (255,0,0), (bx,by,bw,bh)) + pygame.draw.rect(win, (0,255,0), (bx,by,int(bw*ratio),bh)) + def take_damage(self, amt): + self.health = max(0, self.health-amt) + def check_kill_player(self, player): + dx = (self.x+PLAYER_SIZE//4)-(player.x+PLAYER_SIZE//2) + dy = (self.y+PLAYER_SIZE//4)-(player.y+PLAYER_SIZE//2) + if (dx**2+dy**2)**0.5 < KILL_RADIUS: player.alive = False class WaterBottle: - def __init__(self, x, y, direction): - self.x = x + PLAYER_SIZE // 2 - WATER_SIZE // 2 - self.y = y + PLAYER_SIZE // 2 - WATER_SIZE // 2 - self.direction = direction + def __init__(self, x, y, dir): + self.x = x+PLAYER_SIZE//2-WATER_SIZE//2 + self.y = y+PLAYER_SIZE//2-WATER_SIZE//2 + self.dir = dir self.rect = pygame.Rect(self.x, self.y, WATER_SIZE, WATER_SIZE) - def move(self): - if self.direction == "up": - self.y -= WATER_SPEED - elif self.direction == "down": - self.y += WATER_SPEED - elif self.direction == "left": - self.x -= WATER_SPEED - elif self.direction == "right": - self.x += WATER_SPEED + if self.dir=="up": self.y -= WATER_SPEED + elif self.dir=="down": self.y += WATER_SPEED + elif self.dir=="left": self.x -= WATER_SPEED + elif self.dir=="right": self.x += WATER_SPEED self.rect.topleft = (self.x, self.y) + def draw(self, win, ox, oy): + pygame.draw.rect(win, (0,180,255), (self.x-ox, self.y-oy, WATER_SIZE, WATER_SIZE)) - def draw(self, win, offset_x, offset_y): - pygame.draw.rect(win, WATER_COLOR, (self.x - offset_x, self.y - offset_y, WATER_SIZE, WATER_SIZE)) - +def draw_minimap(win, map_surface, player, enemy, bottles): + mini = pygame.transform.smoothscale(map_surface, (MINIMAP_SIZE, MINIMAP_SIZE)) + win.blit(mini, (WIDTH-MINIMAP_SIZE-MINIMAP_MARGIN, MINIMAP_MARGIN)) + def map2mini(x,y): + mx = int(x/MAP_W*MINIMAP_SIZE) + my = int(y/MAP_H*MINIMAP_SIZE) + return WIDTH-MINIMAP_SIZE-MINIMAP_MARGIN+mx, MINIMAP_MARGIN+my + pygame.draw.circle(win, (0,255,0), map2mini(player.x+PLAYER_SIZE//2, player.y+PLAYER_SIZE//2), 5) + pygame.draw.circle(win, (255,0,0), map2mini(enemy.x+PLAYER_SIZE//4, enemy.y+PLAYER_SIZE//4), 5) + for b in bottles: + pygame.draw.circle(win, (0,180,255), map2mini(b.x, b.y), 3) def main(): - # Start player in center of map - player = Player(MAP_W // 2, MAP_H // 2) - enemy = Enemy(MAP_W // 3, MAP_H // 3) - water_bottles = [] - + player = Player(MAP_W//2, MAP_H//2) + enemy = Enemy(MAP_W//3, MAP_H//3) + bottles = [] + minimap_visible = True + clock = pygame.time.Clock() running = True while running: clock.tick(60) for event in pygame.event.get(): - if event.type == pygame.QUIT: - running = False - if event.type == pygame.KEYDOWN: - if event.key == pygame.K_SPACE: - # Shoot water bottle - water_bottles.append(WaterBottle(player.x, player.y, player.direction)) - + if event.type==pygame.QUIT: running=False + if event.type==pygame.KEYDOWN: + if event.key==pygame.K_SPACE: bottles.append(WaterBottle(player.x, player.y, player.dir)) + if event.key==pygame.K_m: minimap_visible = not minimap_visible keys = pygame.key.get_pressed() player.move(keys) enemy.move(keys) - for bottle in water_bottles: - bottle.move() - - # Remove bottles that go off map - water_bottles = [b for b in water_bottles if 0 <= b.x <= MAP_W and 0 <= b.y <= MAP_H] - - # Camera offset: keep player centered unless near edge - offset_x = max(0, min(player.x + PLAYER_SIZE // 2 - WIDTH // 2, MAP_W - WIDTH)) - offset_y = max(0, min(player.y + PLAYER_SIZE // 2 - HEIGHT // 2, MAP_H - HEIGHT)) - - # Draw map portion - if map_surface: - WIN.blit(map_surface, (0, 0), area=pygame.Rect(offset_x, offset_y, WIDTH, HEIGHT)) - else: - WIN.fill(WHITE) - player.draw(WIN, offset_x, offset_y) - for bottle in water_bottles: - bottle.draw(WIN, offset_x, offset_y) + enemy.check_kill_player(player) + for b in bottles[:]: + b.move() + if enemy.rect.colliderect(b.rect): enemy.take_damage(20); bottles.remove(b) + bottles = [b for b in bottles if 0<=b.x<=MAP_W and 0<=b.y<=MAP_H] + ox = max(0, min(player.x+PLAYER_SIZE//2-WIDTH//2, MAP_W-WIDTH)) + oy = max(0, min(player.y+PLAYER_SIZE//2-HEIGHT//2, MAP_H-HEIGHT)) + if map_surface: WIN.blit(map_surface, (0,0), area=pygame.Rect(ox,oy,WIDTH,HEIGHT)) + else: WIN.fill((255,255,255)) + player.draw(WIN, ox, oy) + for b in bottles: b.draw(WIN, ox, oy) + enemy.draw(WIN, ox, oy) + if minimap_visible: draw_minimap(WIN, map_surface, player, enemy, bottles) pygame.display.update() + if not player.alive: + font = pygame.font.SysFont(None, 48) + text = font.render("Game Over!", True, (255,0,0)) + WIN.blit(text, (WIDTH//2-text.get_width()//2, HEIGHT//2-text.get_height()//2)) + pygame.display.update(); pygame.time.wait(2000); running=False + pygame.quit(); sys.exit() - pygame.quit() - sys.exit() - -if __name__ == "__main__": - main() +if __name__=="__main__": main()