-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: wieder programmierfrage

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    56

    wieder programmierfrage

    Anzeige

    hi jungs,

    sorry es ist jetzt 2 uhr und ich habs aufgegen,da stimmt was im code nicht


    also

    ich gebe über eine tastatur meinem fahrzeug eine beliebige strecke ein
    alles im array habs ja jetzt gelernt
    zum beispiel

    1)erstmal geradeaus

    geradeaus(merker)=2 '2 steht für entfernung

    2)dann treff ich eine entscheidung
    wenn taste 4 gedrückt wird linksdrehung
    wenn taste 6 gedrückt wird rechtsdrehung

    if taste=4 then
    linksrechts(merker2)=0 ' 0 für entscheidung im hauptprogramm

    if taste=6 then
    linksrechts(merker2)=1 '1für entscheidung im hauptprogramm

    3)dann wieder geradeaus

    nach beenden der abfrageschleife ist mein merker index 2 und mein merker2 index 1 ,verständlich oder??

    jetzt kommt mein hauptprogramm


    for merker = 1 to 2
    call geradeaus

    for merker2 =1 to 1
    if linksrechts(merker2) =0 then
    call linksdrehung
    end if
    if linksrechts(merker2)=1 then
    call rechtsdrehung
    end if
    next merker
    next merker2

    das fahrzeug sollte ja geradeaus,links oder rechts,dann wieder geradeaus fahren

    aber nein, es fährt geradeaus, dann 2 mal links oder rechts, dann wieder geradeaus und dann wieder 2 mal links oder rechts

    kann man überhaupt zwei for schleifen ineinander schachteln??
    wenn nicht wie löse ich das?

    ziel ist es eine beliebig lange strecke einzugeben, die werte sollen gespeichert und dann abgefahren werden.müsste doch eigentlich klappen

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    kann man überhaupt zwei for schleifen ineinander schachteln??
    wenn nicht wie löse ich das?
    Doch das geht wunderbar und du hast das auch in deinem Beispiel richtig gemacht.

    Die Schachtelung geht immer so

    Code:
    For Schleife1 = 1 to 5
       For Schleife2 = 1 to 10 Step 2
          For Schleife 3 = 7 to 1 Step -1
          Next
       Next
    Next
    Dazwischen klemmst du dann deine Anweisungen.
    Bei "Next" kannst du die Schleifenvariablen nennen (zb. Next Schleife2) oder auch weglassen.
    Bascom kommt auch ohne klar.
    Gruß
    Ratber

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    56
    klappt nicht!!!

    das problem ist doch wenn ich 2 mal geradeaus fahre will aber nur einmal links abbiege. dann bekommt er doch im 2. schleifendurchlauf den call befehl zum links abbiegen wieder mit. deshalb biegt er wahrscheilich zweimal auch nach links ab.wie kann ich das verhindern?

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Du hast da eine Durcheinander:
    Man kann zwar Schleifen in andere Schleifen EINBETTEN, aber ÜBERLAPPEN geht nicht,
    ALSO
    Code:
    FOr merker = 1 to 2                 ' Äussere Schleife 
        for merker2 = 1 to 1            ' innere Schleife 
              ... 
        next merker2                       'ende innere Schleife 
    Next merker                            ' Ende äussere Schleife
    Bei dir heißt das aber

    Code:
              ... 
        next merker                       '?§$%$
    Next merker2                         ' ?§$%$
    Das bringst du den Bascom in die Bredouille
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Oha,jetzt wo du es sagst fällt es mir auch auf.
    Gruß
    Ratber

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ein Touri zum anderern:
    "Was sagen sie zu diesem Ambiente ?"
    "Ja, jetzt. wo sie es sagen, riech' ich es auch"
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Geeenau

    "Hört mal..........ich rieche was"
    Raymond Stantz
    Gruß
    Ratber

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    56
    was riecht ihr denn??

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Laß' nur, alper. Das hat nix mit dir zu tun, is auch nix böses.
    Da tun nur ein paar ältere Herren rumflachsen, laß sie doch.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    56
    jungs helft mir er will einfach nicht!!!!!
    habe die schleife jetzt geändert.
    wenn ich sage geradeaus,links,geradeaus,rechts
    macht er daraus 2*links,geradeaus,2*rechts
    ich blick da nicht mehr durch,bitte sagt was


    For merker = 1 To Merker4

    call geradeaus

    For variable = 1 To variablemax
    If Linksrechts(merker) = 1 Then
    Call Rechts90
    end if
    if Linksrechts(merker) = 0 Then
    Call Links90
    End If

    Next variable
    Next merker

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •