Software & Apps

Software und Apps sind aus unserem Alltag nicht mehr wegzudenken; von Musik- und Videobearbeitung, Antiviren-Tools, VPN-Clients bis hin zu Office und gewissen Alternativen - hier dreht sich alles um Software & Apps für Deinen PC.
67.757 Beiträge

Ask Me Anything: Blickwechsel

Du stellst die Fragen, ein außergewöhnlicher Nutzer antwortet! Begegne mit Deinen Fragen anderen Menschen hautnah und persönlich.
Pygame probleme beim Welt erstellen mithilfe einer CSV Datei?

Anbei stelle ich meinen Code zur verfügung (gekürzt)

Für ein Schulprojekt erstelle ich ein spiel mit Pygame.

um eine Welt zu erstellen nutze ich eine CSV Datei.

Diese Datei wird dann ausgewertet aber dabei tritt immer wieder ein Fehler auf:

"line 292, in <module>

  world_data[x][y] = int(tile)

IndexError: list assignment index out of range"

Leider habe ich keine Möglichkeit gefunden dieses Problem zu lösen, weshalb ich hier Hilfesuchen möchte. Ich freue mich über jede Antwort.

Vielen Dank fürs Helfen :)

img_list = []

for x in range(Tile_types):

    img = pygame.image.load(f"C:/Users/paull/OneDrive/Dokumente/Informatik/img/Tile/{x}.png")

    img = pygame.transform.scale(img, (Tile_size *1, Tile_size *1))

    img_list.append(img)

class World():

    def __init__(self):

        self.obstacle_list = []

    def process_data(self, data):

        self.level_length = len(data[0])

        for y, row in enumerate(data):

            for x, tile in enumerate(row):

                if tile >= 0:

                    img = img_list[tile]

                    img_rect = img.get_rect()

                    img_rect.x = x * Tile_size

                    img_rect.y = y * Tile_size

                    tile_data = (img, img_rect)

                    if tile >= 0 and tile <= 7:

                        self.obstacle_list.append(tile_data)

                    elif tile >=8 and tile <= 10:

                        decoration = Decoration(img, x * Tile_size, y * Tile_size)

                        decoration_group.add(decoration)

                    elif tile == 11:

                        player = Soldier("player", x * Tile_size, y * Tile_size, 1, 3)

                        health_bar = Health(10, 10, player.health, player.health)

                    elif tile == 12:

                        boost = Boost(img, x * Tile_size, y * Tile_size)

                        boost_group.add(boost)

                    elif tile == 13:

                        boost_2 = Boost_2(img, x*Tile_size, y * Tile_size)

                        boost_2_group.add(boost_2)

                    elif tile >=14 and tile <= 15:

                        spike = Spike(img, x*Tile_size, y * Tile_size)

                        spike_group.add(spike)

        return player, health_bar

   

    def draw(self):

        for tile in self.obstacle_list:

            tile[1][0] += screen_scroll

            screen.blit(tile[0], tile[1])

world_data = []

for Row in range(Rows):

    r = [-1]* Cols

    world_data.append(r)

with open(f"C:/Users/paull/OneDrive/Dokumente/Informatik/img/Level/level{level}_data.csv", newline="") as csvfile:

    reader = csv.reader(csvfile, delimiter=";")

    for x, row in enumerate(reader):

        for y, tile in enumerate(row):

            world_data[x][y] = int(tile)

   

world = World()

player = world.process_data(world_data)

Ask Me Anything: Themenspecials

Im gutefrage Themenspecial beantworten Verbände, Organisationen und Personen des öffentlichen Lebens Deine Fragen zu aktuellen Themen.
revolutionäres Minecraft Server Business?

Hey Leute. Ich bin ein absoluter Minecraft Fan und bin auch seit einigen Jahren an dem Spiel hängen geblieben, auch wenn es Phasen gibt, in denen ich mich weniger mit dem Spiel beschäftige.

Mein größter Traum dahingehend ist es, schon seit Jahren, meinen eigenen Minecraft Server zu erstellen und groß zu veröffentlichen.

Es soll kein 0815 Server werden, den man schon kennt und ich habe auch schon sehr starke Ideen und Konzepte worum es sich dabei dreht, wie es funktionieren soll, grundlegend Marketing usw. Dabei sind denke ich viele revolutionäre Ideen, die wenn sie richtig vermarktet werden, auch meiner Meinung nach krass einschlagen können.

Dass ich mich sehr für Programmierung interessiere passt dabei dann noch perfekt.

Allerdings machen mir dabei einige Dinge immer wieder einen Strich durch die Rechnung.

Zum einen bin ich noch Schüler, was mich relativ viel Zeit kostet (Schule, lernen usw). Nebenbei führe ich auch bereits ein Business, was derzeit anläuft.

Dementsprechend bleibt mir keine Zeit mehr, mich selbst um den gesamten Aufbau des Servers zu kümmern, programmierung usw.
und selbst in der Zeit, wo ich mich selbst an der Programmierung versucht habe, bin ich irgendwann an meine Grenzen gestoßen, weil mir auch da die Zeit und motivation gefehlt hat, mich eingehend mit dem Thema weiterhin auseinanderzusetzen. Oft haben auch einfach Quellen im Internet gefehlt und ich bin einfach nicht weitergekommen und konnte mich nicht weiterentwickeln in dem Gebiet.

Trotzdem habe ich aber immer wieder Lust an dieser Vision irgendwie weiterzuarbeiten und halte mich nun schon mindestens 3 Jahre an diesem Traum fest.

Ich will ihn unbedingt verwirklichen, aber wie gesagt, fehlt es mir an allem.

Zeit, Wissen über Minecraft und Programmierung und auch an finanziellen Mitteln, um diese Arbeit abzugeben.

Mir würde wahrscheinlich noch gerade genug Zeit bleiben, um das Projekt zu koordinieren aber ohne finanzielle Mittel oder irgendwas, wird das wahrscheinlich nichts werden.

Selbst wenn ich es selbst versuchen würde, müsste ich mich wahrscheinlich erstmal wieder 1 Jahr lang täglich 8 Stunden mit dem Lernen von der Programmierung dafür beschäftigen, bevor ich überhaupt mit der Entwicklung des Projektes anfangen kann.

Ich weiß einfach nicht weiter. Hat irgendjemand Ahnung und kann mir irgendwie helfen?