tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
1354
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    real-insanity real-insanity ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Viersen, Germany
    Beiträge
    102
    Nabend liebe Community,

    ich hab wieder ein Problem
    Also fürn Freund programmiere ich gerade einen Zahlen und Formengenerator. Jedoch funktioniert dieser nicht ganz so wie ich will. Die Vorraussetzung ist: es darf sich keine gegenüber liegende Form nach einander wuederholen. Sprich kommt diese Form => darf direkt danach nicht <= kommen oder auch mit oben und unten.

    Hier die Logik des Programms:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    If (LetzteRichtung = 1) And (zahlForm = 3) Then
                Do Until zahlForm <> 3
                    zahlForm = R.Next(1, 4)
                Loop
            ElseIf (LetzteRichtung = 3) And (zahlForm = 1) Then
                Do Until zahlForm <> 1
                    zahlForm = R.Next(1, 4)
                Loop
            ElseIf (LetzteRichtung = 2) And (zahlForm = 4) Then
                Do Until zahlForm <> 4
                    zahlForm = R.Next(1, 4)
                Loop
            ElseIf (LetzteRichtung = 4) And (zahlForm = 2) Then
                Do Until zahlForm <> 2
                    zahlForm = R.Next(1, 4)
                Loop
            End If

    Die Zahlen in den IF entsprechen den Bildern. Die ich als Anlage beigefügt habe.
    Angehängte Dateien Angehängte Dateien
     

  2. #2
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Mach es eher so Geradezahlen (2 und 4) sind für oben und unten
    Ungerade Zahlen (1 und 3) für Links und rechts dann prüfst du einfach in einer Schleife über Modulo

    Code :
    1
    2
    3
    
    Do Until (letzteZahl Mod 0) <> (zahlForm Mod 0)
                    zahlForm = R.Next(1, 4)
                Loop

    habs versucht oben in VB nachzubilden, leider ist mein VB nicht so jut aber vielleicht hilft dir der C# ausschnitt
    Code :
    1
    2
    3
    4
    5
    6
    7
    
     double letzteZahl = 2;
    double neueZahl;
    Random rnd = new Random();
    do
    {
         neueZahl = rnd.Next(1, 5);
    } while ((neueZahl % 2) == (letzteZahl % 2));
    die Schleife soll solange laufen wie der Rest der Divisionen durch 2 von neueZahl und letzteZahl gleich ist.

    So wie es jetzt ist darf aber öfter hintereinander das gleiche Objekt, falls dies nicht sein soll einfach die bedingung erweitern mit
    ((neueZahl % 2) == (letzteZahl % 2) || neueZahl==letzteZahl)
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

Ähnliche Themen

  1. Zufallsgenerator
    Von Zuckerpuppe im Forum PHP
    Antworten: 2
    Letzter Beitrag: 22.03.10, 10:18
  2. Zufallsgenerator
    Von simpon im Forum Javascript & Ajax
    Antworten: 10
    Letzter Beitrag: 01.08.08, 16:18
  3. Zufallsgenerator
    Von Arster-Boy im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 13.04.08, 16:15
  4. Zufallsgenerator
    Von FingerSkill im Forum PHP
    Antworten: 3
    Letzter Beitrag: 24.05.07, 12:25
  5. Zufallsgenerator ?
    Von Trash im Forum PHP
    Antworten: 2
    Letzter Beitrag: 08.01.02, 10:57