Waypoints geschickt verwenden ?
Übersicht

![]() |
TimBoBetreff: Waypoints geschickt verwenden ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich hoffe, das ist im Allgemein richtig und nicht Smalltalk oder so. Ich stehe vor Folgender Aufgabe. Mein Dad meinte, dass wenn man schon programmieren kann, auch die Märklin Eisenbahn H0 steuern müsste können. Die Märklin Software habe ich mir vor dutzenden von Jahren für teures Geld geholt und jetz versuche ich mir meine eigene zu schrieben. Ich kann die Eisembahn schon ansteurern, über das Digital Interface, einfach 2 Ascii Zeichen über Com 1 gesendet, schon decodieren das die Decoder und alles geht. Da mir das zu schnell ging, versuche ich jetzt eine KI zu schrieben, die in der Lage sein soll die Loks selbstständig nach dem Zufallsprinzip zu steuern. Ich habe mir folgende Taktik ausgedacht: PC wählt Lok PC schaut welches Gleis man ansteuern könnte. PC stellt weichen / Signale PC lässt Loc fahren. Jetz möchte ich euch fragen, wie ich diese KI am besten aufbaue ? Da mein Vater strickt gegen Rückmeldekontake an der Bahn ist, müsste die Strecke eine bestimmte Zeit lang als "befahren" makiert werden. Also wie realisiere ich es am besten, die Weichen / Signale / Zeitabstände einzugeben und dem PC entscheiden zu lassen, was er befahren will und was nicht. Hoffe, ihr könnt mir folgen ![]() Ich möchte keine Code, einfach nur Ideen, wie man so ein Schienensystem in ein BB Program includieren kann. Bin im moment echt unkreativ. Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
Valnar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das wird glaub ich sehr viel Arbeit fpr dich...
Und ohne Rückmeldekontakte muss immer jemand dabei sein, der alle Züge im Auge behält, da, falls etwas passier wie zb. eine Entglesiung oder ein Defekt, der Zug auf der Gleise stehen bleibt und zu weiteren Schaden führen kann. Ich kenn mich nicht genau mit der Märklinsteuerung aus, jedoch würd ich die KI ungefähr wie unten beschrieben aufbauen. Dies würde per Zufall alles Regeln. Also die Bahn fährt Ziellos umher ![]() Ich hoffe du verstehst es, ch hab es einfach mal so hingeklatscht. Code: [AUSKLAPPEN] .start trainid = rnd(0,3) ; In diesem Beispiel gibt es 4 Züge. Hier wird einer dieser züge zufallstechnisch ausgewählt select_train(trainid) ;Wählt die Betreffende Lok aus while train(trainid) = "moving" ;Schaut ob der Zug bewegt wird if next_part\typ = "weiche" then ;Schaut ob der nächste Gleisentyp ne weiche ist weg = Rnd(0,1) ; 0= Weiche geradeaus; 1= Weiche auf Kurfe stellen stelle_weiche(weg) ;Stellt die weiche move_train(10) ; Bewegt den Zug mit Geschwindigkeit 10 elseif next_part\typ = "gerade" ;Ist nächster gleisenstück ne gerade? move_train(10) ; Bewegt den Zug mit Geschwindigkeit 10 elseif next_part\typ = "ende" ;Ist die Strecke hier zuende? move_train(0) ;Bremst den zug zum Stillstand goto .start endif wend |
||
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
danke für deine Antwort Valnar. Ich wollte es eigentlich so machen , dass die KI eine stehende Loc und einen Endpunkt selectiert. Dann schat die Ki ob es eine nichbefahrene Strecke als route gibt, schaltet die wichen und makiert die Strecke als befahren. Dann sucht er sich weitere Locs und macht das oben genannte Prinzip. Mein Problem ist, wie kann ich erkennen, ob es eine Route gibt ? Dein Ansatz Valnar, die Locs in einem Arry unterzubringen finde ich schonmal gut, somit muss ich nur noch den Arry 2 dimensional machen und kann den modus fahre oder fahre nicht einstellen. Noch was. Wenn die Lok an einem Signal Ankommt, wird sie von einem Decoder Automatisch bis sie zum Stillstand kommt gebremst. Ist das Signal grün , fährt sie weiter. Viele Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
tedy |
![]() Antworten mit Zitat ![]() |
---|---|---|
darf ich fragen wie du das genau machst mit dem ansteuern ? Hast du da irgendwelche indormationenseiten zu welche pinne was gesendet bekommen müssen ? | ||
01010100 01100101 01000100 01111001 00100000 00111010 01000100 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group