Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

03.09.2013, 18:57

Energie durch mehrere Blöcke senden.

Hallo,

Hallo,
ich bin schon nun die ganze Zeit am tüfteln, wie ich dieses doch eigentlich simple problem lösen soll.
Und zwar:
In meinem Spiel ist das Setzen von Blöcken (wie in Minecraft) der Hauptteil.
Ich habe bis jetzt 3 Blöcke. Einen Block der "Strom" erzeugen soll, einen Block der diesen an andere Blöcke weiterleitet (wie kein Kabel) und einen der diesen Auswertet (Sprich: ist strom auf diesen Block, ändert er seine Textur, ansonsten nicht).

Jeder Block der in die Welt platziert wird, wird in ein 3 demensionalen Array abgespeichert (Die Dimensionen stehen jeweils für die Einzelnen Koordinaten x, y und z).
So kann ich einfach einen Block an einer Bestimmten Position abfragen.

Das ganze soll ähnlich wie in Minecraft funktionieren (Redstone). Mein Problem ist einfach die Weiterleitung von Block zu block. Das Problem ist das ich keinen Logischen Weg finde. wie ich die Energie weiterleite. Das ist gar nicht so einfach wie es klingt.
Hier mal ein kleines bild:



(Link)


Ich hoffe ihr versteht mein Problem. Wie sende ich am besten die Informationen von Block zu block weiter? ohne dass irgendwelche Komplikationen stattfinden?
Wie gesagt das ganze soll GENAU SO wie das Redstone system in Minecraft funktionieren.

Hier habe ich auch noch ein kurzes Video gemacht, damit mein problem etwas anschalicher wird:



Vielen dank für jede hilfreiche Antwort! :)
Mfg

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

03.09.2013, 21:03

Ich denk das Zauberwort lautet hier: Potential. Strom fließt von einem Ort höheren Potentials zu einem Ort niedrigeren Potentials. Dein roter Block hätte ein gewisses positives Potential, der blaue ein geringeres Potential (z.B. 0). Sobald eine Verbindung zwischen zwei Orten unterschiedlichen Potentials besteht, fließt ein Strom. Du kannst es dir vorstellen wie Wasser. Wasser fließt von höher gelegenen Punkten zu niedrigeren gelegenen Punkten, die Höhe entspricht dabei dem Potential...

3

04.09.2013, 11:25

Ich glaube Notch hat das Problem gelöst indem er einfach ein Boolean isPowered gesetzt hat, und Blöcke, die keine speziellen Leiter waren den Strom zwar bekamen, und dann ihr Flag setzten aber keinen Strom weitergegeben haben....

equinox

Frischling

Beiträge: 56

Beruf: Student

  • Private Nachricht senden

4

04.09.2013, 15:37

Wenn es bei dir wie bei Minecraft ist, und die Energie nur in bestimmten Blockarten weitergereicht werden kann, kannst du ja alle Blöcke um den Ausgangspunkt die den(ich nenn das jetzt mal Kabel) Kabeltyp haben bekommen Energie. Um jetzt eine Stärke zu Simulieren brauchst du nur 3 Regeln: 1. Die Energie des Blocks ist gleich die Energie des vorgänger Blocks -1
und 2tens der vorgänger Block ist der mit der höheren Energie.
3: Wähle alle Blöcke die noch keine Energie oder keine höhere Energie haben aus und wieder hole die beiden Regeln.

Um jetzt die "Richtung" heraus zu finden erstellst du für jeden Ausgangsblock eine Liste, die alle für ihn erreichten Blöcke enthält und wendest einfach die oberen 2 Regeln an.

Wenn ein Block entfernt wird, musst du halt die nächsten Energiequellen finden und eventuell neu berechnen.

Natürlich kann man da noch viel optimieren, aber ich denke du schaffst das schon.

Ich hoffe ich konnte helfen :)

Werbeanzeige