choose frage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • choose frage

    hy

    also wie der titel schon sagt geht es üm choose....

    ist es möglich das man choose verwendet ünd vorgibt mehrere argümente aüszüwählen?

    weil es steht das choose nür ein argüment aüswählt ich will aber das es mehrere aüswählt..
    wie kann ich das machen?
  • acidrain833 schrieb:


    ist es möglich das man choose verwendet ünd vorgibt mehrere argümente aüszüwählen?

    weil es steht das choose nür ein argüment aüswählt ich will aber das es mehrere aüswählt..
    wie kann ich das machen?


    Hi,
    die Funktion choose kann tatsächlich nur einen Wert ausgeben.
    Alle Werte haben eine gleichgrosse Chance gezogen zu werden.
    Wenn du mehrere Werte haben möchtest könntest du einfach zweimal die choose-Funktion aufrufen.
    doppel-choose:

    GML-Quellcode

    1. var zahl1 = choose(0,1,2,3,4,5,6,7,8,9);
    2. var zahl2 = choose(0,1,2,3,4,5,6,7,8,9);

    Besteht halt die Möglichkeit das beide Zahlen die gleiche sind.
    Hoffe das ich die Frage richtig verstanden habe.
  • Du kannst ein choose auch verschachteln, sprich choose(choose(0,1,2,3), choose(4,5,6,7));
    Du kannst Strings reinpacken: choose("Das", "ist", "ein", "Beispiel");

    Aber beachte:
    Wenn du bspw. choose(0,1,2,3); verwendest und du es nehmen wir mal an 4x ausführst, es kommt 0 1 1 3 raus, wird beim nächsten Programmstart exakt das selbe rauskommen.
    Daher empfehle ich dir vor dem choose noch ein randomize(); zu setzen.

    Zu deiner Frage würde ich das Beispiel von Simon Gust verwenden, also einfach 2 Variablen benutzen.
  • hy also danke erstmal für die antworten

    aber hab gleich noch ne frage..

    ich wollts jetzt so machen:

    GML-Quellcode

    1. repeat(irandom_range(1,5))//damit er zwischen 1 ünd 5 eine zahl wählt..ünd mit dieser dann repeatet
    2. {
    3. choose(line[0],line[1],line[2],line[3],line[4],line[5],line[6],line[7],line[8],line[9],line[10]);// damit er eine line aüswählt ünd das halt so oft wie oben repeatet wird.
    4. }


    mein problem ist jetzt wie setzte ich das aüsgewählte also das choose (sagen wir line[2]) dann aüf trüe???

    ich weiß ich könnte es in eine variable speichern aber ich hab da dann wieder das problem das ich schon das geschrieben habe.

    GML-Quellcode

    1. ​if (line[0])
    2. {
    3. draw_line_width_colour(obj_player.x+80+random_xx2,obj_player.y-115-irandom_range(0,35),obj_player.x+80+random_xx2,obj_player.y-115+irandom_range(0,28),2,c_white,c_white);
    4. }


    ünd das mit allen 10 .
  • ok habs schon raüsgefünden hab aber gleich noch ein problem damit

    habs jetzt so gemacht:

    GML-Quellcode

    1. if (wahl)//eine variable züm steüern wann aüsgewählt wird
    2. {
    3. chose= choose(line[6]) // normal sind es mehr lines aber züm testen hab ich nür eine genommen
    4. wahl = false;
    5. }
    6. if (chose == line[6])
    7. {
    8. line[6]= true;
    9. chose = 0;
    10. }​


    mein problem jetzt ist das er line[6] sobald sie mit einem anderen code aüf false gesetzt wird gleich wieder aüf trüe setzt.....ünd das nür wegen diesem code...wie kann ich das ändern..

    weil wenn ich einfach schreib

    GML-Quellcode

    1. ​line[6]= trüe;

    ünd sie dann aüf false setze bleibt sie aüf false;


    bitte ich zück aüs
  • doch nicht braüche hilfe:


    also ich habs jetzt so gemacht

    GML-Quellcode

    1. if (wahl)
    2. {
    3. randomize();
    4. line1 =choose(line[0])//,line[1],line[2],line[3],line[4],line[5],line[6],line[7],line[8],line[9],line[10]);
    5. line2 =choose(line[1]);
    6. wahl = false;
    7. }
    8. if (line1 == line[0])
    9. {l
    10. ine[0]=true;
    11. line1 = 4;
    12. }
    13. if (line2 == line[1])
    14. {
    15. line[1]=true;
    16. line2 = 4;
    17. }
    18. [b][/b]if (line[0]) // hier lasse ich die line drawen wenn sie trüe ist...dasselbe für line[1] nür mit anderen koordianten was ich aber nicht gepostet habe...
    19. {
    20. draw_line_width_colour(obj_player.x+80+random_xx2,obj_player.y-115-irandom_range(0,35),obj_player.x+80+random_xx2,obj_player.y-115+irandom_range(0,28),2,c_white,c_white);
    Alles anzeigen


    mein problem jetzt ist...er zeichnet erst die line[0] ünd wenn diese verschwindet erst line[1] aber er soll sie gleichzeitig drawen...
    was mach ich falsch...bitte üm hilfe

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von acidrain833 ()

  • Wer soll denn hier noch durchblicken, kein Grund ~4~ (Edit: ach ne jetzt sinds schon 5) Posts hintereinander zu spammen. Schalt mal einen Gang runter und erkläre dein Problem sachlich oder versuchs vielleicht auch erst mal selber bevor du dann Threads erstellt die du 5 minuten später schon selber löst.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
  • herst was regst dü dich überhaüpt aüf....müsst ja nichts posten....
    ünd falls dü nicht lesen kannst es sind mindestens ne halbe stünde paüse oder länger dazwischen..es kann ja jeden passieren das es ihm erst später einfällt wie die lösüng ist...ünd wenn dann wirst nicht dü sondern ein moderator was sagen.....ach vergiss es..zahlt sich nicht aüs sich aüfzüregen.
  • acidrain833 schrieb:

    herst was regst dü dich überhaüpt aüf....müsst ja nichts posten....
    ünd falls dü nicht lesen kannst es sind mindestens ne halbe stünde paüse oder länger dazwischen..es kann ja jeden passieren das es ihm erst später einfällt wie die lösüng ist...ünd wenn dann wirst nicht dü sondern ein moderator was sagen.....ach vergiss es..zahlt sich nicht aüs sich aüfzüregen.


    Ich glaube was er sagen wollte ist, bevor du eine Frage stellst solltest du dir vorher einen klaren Kopf machen und selber rumprobieren, bevor du immer wieder Threads / Antworten erstellst, wo du deine Aussagen immer wieder revidierst :) Die Leute hier im Forum wollen helfen so gut es geht und geben sich dabei auch Mühe dies ausführlich zu machen, wenn sie dann gerade eine Antwort schreiben und beim Posten merken, dass 1 Minute vorher eine Antwort von dir kam, dass das Problem bereits behoben ist ohne großartige Erklärung wie du es gemacht hast, ist es ziemlich doof für alle beteiligten.

    Du solltest dir auch im Klaren sein, dass nicht jeder der im Forum registriert ist diese Beiträge liest, das selbe Problem wie du hast und via Suchfunktion auf dieses Thema stößt, jedoch als Antwort nur vorfindet "Problem gelöst" ohne einen nachvollziehbaren Lösungsweg -> führt dazu, dass entweder alte Beiträge vor zig Jahren wieder hochgepusht werden oder neue Themen entstehen mit dem selben Problem, was das Forum sehr unübersichtlich macht nach einer Zeit.

    Letzteres wäre, dass du anstatt immer Doppel- und Dreifachposts zu erstellen auch die Bearbeitungsfunktion nutzen kannst, welches du zwar teilweise tust, dann anschließend aber doch entscheidest eine neue Antwort zu schreiben.

    Ich kann da schon ein wenig Aufregung der Leute nachvollziehen, aber ich bin mir sicher dass sie es nicht so böse meinen. Ich hoffe du verstehst das auch, wenn du weiterhin angesehen sein willst, solltest du zumindest kritikfähig sein und eingestehen können, dass das vielleicht nicht richtig war so zu handeln hier.

    Liebe Grüße :)
  • Ich denke auch als normaler Forenuser kann und sollte man sich um die "Gesundheit " der Seite bemühen. Ich kann deine Unruhe nicht nachvollziehen, in meinem Post steckt doch überhaupt keine Wertung was deine Person betrifft, ich hab dir nur aufgezeigt was du besser machen kannst. Versetz dich doch mal in einen aussenstehenden welcher dein Projekt nicht kennt, da fällt es schwer durchzublicken. Ansonsten spricht mir mein Vorredner aus der Seele. Hier hat doch niemand was gegen dich aber einen gewissen Standard sollte man im Forum halten.

    Und lesen kann ich,desshalb weiß ich auch was in den Forenregeln steht.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: