Waypoints geschickt verwenden ?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

TimBo

Betreff: Waypoints geschickt verwenden ?

BeitragFr, Nov 28, 2008 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Smile

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

BeitragFr, Nov 28, 2008 23:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Very Happy
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

BeitragSa, Nov 29, 2008 0:07
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Jan 19, 2009 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group