Seite 1 von 1
Python als Script aus einer anderen Datei aufrufen??
Verfasst: Donnerstag 23. Juni 2005, 13:44
von donCarlos
Hallo,
ich suche zur Zeit eine Lösung um die KI der NPCs in meinem nächsten Spiel zu realisieren. Es wäre ideal, wenn die Scripte dafür unkompiliert in externen Dateien gelagert werden und von dem Spiel dann ausgeführt werden. Die Befehle muss ich natürlich selber definieren.
Ein kleines Beispiel:
Code: Alles auswählen
if ( gegner.y < ich.y ) {
Moveplayer.y = -1;
} else {
Moveplayer.y = 1;
}
Der Benutzer soll also die KIs verändern können.
Ist das in Python machber???
Re: Python als Script aus einer anderen Datei aufrufen??
Verfasst: Donnerstag 23. Juni 2005, 14:00
von Leonidas
donCarlos hat geschrieben:Es wäre ideal, wenn die Scripte dafür unkompiliert in externen Dateien gelagert werden und von dem Spiel dann ausgeführt werden. Die Befehle muss ich natürlich selber definieren.
Python Scripte sind praktisch immer unkompiliert.
Was willst du eigentlich genau? Den Python-Interpreter später in dein Spiel einbauen?
Verfasst: Donnerstag 23. Juni 2005, 14:15
von donCarlos
Ich kann das nicht besser erklären was ich will.
Beim fertigen Spiel sollen die Gegner von einem Script gesteuert werden, so das die KI also auch von jedermann verändert werden kann. Das Spiel liest das Script ein und führt es aus. und zwar nicht nur einmal sondern jeden Loop.
Die meisten Funktionen muss ich natürlich selbst definieren.
Also ich definiere mit C zB eine Funktion int GetItem(x,y,id); Wenn jetzt im Script GetItem (10,34,05); steht sollen die Agumente an die C-Funktion weitergegeben werden. Das ist im Prinzip ganz einfach und das ja alles in C programmieren. aber spätesten bie if-Schleifen und dem ganzen anderen Kram kann ich das nicht mehr selber machen. Daher such ich ne andere Lösung
Verfasst: Donnerstag 23. Juni 2005, 14:20
von Leonidas
Das geht mit Python schon, nur ist Python eigentlich für sowas nicht ausgelegt, für Embedding ist eher
Lua gedacht. Allerdings habe ich mit sowas keine Erfahrung, vielleicht weiß hier noch jemand etwas mehr.
Verfasst: Mittwoch 3. Mai 2006, 18:02
von PGrizzly
Hallo.
Ich würde dieses Thema in ähnlicher Form gerne noch einmal aufgreifen, möchte aber keinen neuen Thread aufmachen da meine Frage denke ich ganz gut hierher passt.
Ich suche nach einer Möglichkeit Python in Java einzubinden. Ich würde gerne Java Objekte während der Laufzeit durch externe Python-Skripte manipulieren.
Ein kleines Beispiel an dem mein Problem hoffentlich etwas deutlicher wird:
Java:
Code: Alles auswählen
class MyPoint
{
public int x,y;
}
//...
class Main
{
public static void main(String[] args)
{
MyPoint testPoint = new MyPoint();
// Jython?
Pythoninterpreter pi = new PythonInterpreter();
pi.exec("script.py");
// ...
}
}
script.py
Code: Alles auswählen
def moveRight():
for i in range(100):
testPoint.x += 1 # Zugriff auf Variable des Java Programms
moveRight()
Ist sowas über Jython möglich bzw. weiss jemand vielleicht inzwischen eine andere Möglichkeit wie ich das realisieren könnte?