Teams random erstellen

  • Allgemein

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Teams random erstellen

    Hallo zusammen

    Ich habe mit folgendem Programm begonnen:
    Ein Formular zum Eintragen von Personen in eine Liste. Alle Personen werden dann in der Liste hinzugefügt und natürlich in der Listbox angezeigt.
    Ich habe nun zwei Buttons, welche folgende Funktionen haben sollen:
    Button1: Soll aus allen Mitglieder, welche in der Liste vorhanden sind , 2er Teams erstellen und das per Zufall (Random).
    Button2: Soll aus allen Mitglieder, welche in der Liste vorhanden sind,3er Teams erstellen und das per Zufall (Random).

    z.B.
    In der Liste sind Peter, Balu, Kurt und Ralf
    Ausgabe in einer Multiline textbox:

    Button1:
    Ralf und Balu sind ein Team!
    Peter und Kurt sind ein Team!


    Button2:
    Ralf, Balu, Kurt und Peter sind ein Team!


    Ich hoffe ihr könnt mir weiterhelfen.

    Grüsse aus der verschneiten Schweiz :)
    Willkommen im Forum. :thumbup:
    Falls Du glaubst, wir machen Deine Hausaufgaben, Du bekommst dafür einen Einser und hast immer noch keine Ahnung, dann hast Du was falsch verstanden.
    Schildere Dein Problem, poste Deinen Code und sag, was nicht so läuft, wie geplant.
    Dann finden wir eine Lösung.
    Die Arbeit machen musst Du, und verstehen musst Du das auch. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich will auch nicht, dass ihr meine HA macht!! Sondern möchte wissen wie so eine Funktion aussieht. (Habe in Google nichts dazu gefunden!)Mein Problem ist dass ich die Funktionen der 2 Buttons nicht hinkriege. Das Problem ist wenn man ja eine Random Zahl zwischen 0 und der Anzahl Items der Liste erstellt, können Mitglieder in mehreren Teams vorkommen! Das möchte ich nicht.


    Mein bisheriger Code:

    Quellcode

    1. Public Class Form1
    2. Dim random As New Random
    3. Private Sub btn_hinzufügen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_hinzufügen.Click
    4. lb_mitglieder.Items.Add(txb_name.Text)
    5. End Sub
    6. Private Sub btn_löschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_löschen.Click
    7. lb_mitglieder.Items.Remove(lb_mitglieder.SelectedItem)
    8. End Sub
    9. Private Sub btn_team2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_team2.Click
    10. End Sub
    11. Private Sub btn_team4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_team4.Click
    12. End SubEnd Class



    Gruss
    Priavte rnd As New Random.
    Und dann schau dir die Random-Klasse an.
    Muster:

    Liste erstellen.
    2 Typis wählen.
    Diese entfernen.
    Weitere 2 Typis wählen.

    Fertig.
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!

    BlackOps_3 schrieb:

    Kannst du da vielleicht ein Code Beispiel geben!!
    Genau das hab ich gemeint.
    Wo bleibt Deine Eigeninitiative?
    Das Forum ist voll mit Random Beispielen. Anpassen musst Du die natürlich, und dabei helfen wir Dir auch.
    C&P-Künstler sind hier nicht gern gesehen. X(
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Da glaubst du richtig.
    Wir sind hier kein Codeforum, wir geben Hilfe
    bei Problemen. Und da dein Problem offensichtlich
    darin besteht Eigeninitiative zu zeigen, helfen wir dir auch nicht.
    Ein Forum ist die 5. von 6 (!!) Anlaufstellen bei Problemen.
    Man!
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Schreib doch mal mit Deinen Worten einen möglichen Algorithmus auf.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    schön das du das Prinzip verstanden hast :thumbsup:
    Hier ein paar Tipps :
    Random class
    eine list of string mit deinen namen
    und eine function die das ganze rauslöscht wenn der spieler einen team (list of string) zugewiesen wird.

    MFG BlackNetworkBit
    MFG 0x426c61636b4e6574776f726b426974
    InOffical VB-Paradise IRC-Server
    webchat.freenode.net/
    Channel : ##vbparadise
    Hallo zusammen

    Mein Code welcher gut funktioniert. Die Teams werden in eine Multiline Textbox untereinander geschrieben.

    VB.NET-Quellcode

    1. Private Sub btn_team2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_team2.Click
    2. ' 2er Teams erstellen
    3. For i = 0 To lb_mitglieder.Items.Count - 1
    4. Dim mitglieder(lb_mitglieder.Items.Count) As String
    5. Dim random As Integer = New Random().Next(0, lb_mitglieder.Items.Count)
    6. tm1 = lb_mitglieder.Items.Item(random)
    7. lb_mitglieder.Items.RemoveAt(random)
    8. Randomize()
    9. If counter Mod 2 = 1 Then
    10. txb_ausgabe1.Text = txb_ausgabe1.Text + " " + tm1
    11. Else
    12. txb_ausgabe1.Text = txb_ausgabe1.Text & vbCrLf + tm1
    13. End If
    14. counter += 1
    15. Next
    16. End Sub

    Gruss


    Edit by Manschula: VB-Tag eingefügt

    Noch eine Frage. Weiss jemand wie ich die Mod Funktion anwenden muss, damit ich 4er oder 5er Teams erstellen kann?


    Besten Dank
    Edit by der_Kurt: Bitte keine Doppelposts. Für nachträgliche Kommentare die Bearbeiten-Funktion benutzen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „der_Kurt“ ()

    Was macht diese Funktion?

    BlackOps_3 schrieb:

    VB.NET-Quellcode

    1. Randomize()
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    BlackOps_3 schrieb:

    Weisst du etwa eine Antwort auf meine obrige Frage?
    Inzwischen solltest Du so fit sein, dass Du es selbst herausbekommst.
    Überrasch uns mit Deiner Lösung. :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nein leider noch nicht rausbekommen. Noch eine weitere Frage. Ich möchte alle angewählten Elemente über einen Button löschen. Listbox ist multiselected extended.

    Code:

    Quellcode

    1. lb_mitglieder.Items.Remove(lb_mitglieder.SelectedItems)



    Geht leider nicht!?