Swift Fragen zu meinem Spiel. Bitte Lesen.

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

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2020 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • Swift Fragen zu meinem Spiel. Bitte Lesen.

    Hallo,

    ich eröffne mal diesen Thread in dem ich meine Fragen stelle damit ich nicht immer einen neuen Aufmachen muss.
    Etwas zu mir. Ich habe keine Ahnung von Swift aber ich kann mir vieles zusammen reimen und logisch verknüpfen und auch bei Google Suchen und für meine App anpassen. Manchmal aber stehe ich auf dem Schlauch wenn ich nicht genau weis wonach ich suchen soll oder die Antworten nicht auf das passen.

    Fangen wir also mal mit der ersten Frage an.

    1.Ich habe ein Array erstellt in dem Fragen für mein Spiel sind.

    Quellcode

    1. let Fragen = ["Wie viele Bundeskanzler hiessen Helmut mit Vornamen?", "Bis wann war es in Deutschland verboten Homosexuell zu sein?", "Wer wurde 1971 Parteichef in der ehemaligen DDR?", "Wie nennt man ein Selfie, das nur die Schuhe zeigt", "An welcher Gameshow nahm Angela Merkel einst Teil?", "Wann kam das erste Smartphone auf dem Markt?", "Wann wurde Apple gegründet?", "Als was wurde Coca Cola® ursprünglich angeboten?", "Womit ist Alfred Nobel bekannt geworden?"]


    mit einem solchen Array bin ich in der Lage per Zufall eine Frage auszuwählen.


    Quellcode

    1. let randomNumber = Int.random(in: 0 ... 8)
    2. FrageFeld.text = Fragen[randomNumber]

    Der Vorteil bei dieser Variante für mich ist a: ich verstehe sie und b: es wird mir eine Nummer [tag] ausgegeben.

    Ich möchte nicht das sich eine Frage wiederholt. Der Zufallsgenerator soll also erst zählen wie viele Einträge da sind, das Ergebnis mischen (z.B: 3,0,5,1,2,6,4) und diese dann der Reiche nach anzeigen und am Ende einen speziellen Tag ausgeben (z.B: 999 = Keine Fragen mehr)
  • Es wäre schöner, wenn Du pro Fragestellung einen Thread aufmachen würdest: Andere Leute sind - auch später bei einer Forensuche - mehr an konkreten Problemen interessiert als an einem "Mein Spiel"-Monster-Thread...

    Zu Deinem Problem (eine Frage hast Du nicht gestellt): Ich kenne mich zwar auch nicht in Swift aus, aber Google liefert Hinweise auf eine Methode shuffle von NSArray, die dessen Elemente verwürfelt.

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Da ich in Deiner Mitteilung ebenfalls keine Fragestellung erkennen kann, antworte ich Dir mal wie folgt:

    - ein Array kannst Du mit .enumrated() indizieren
    - hier findest Du einen Kurs für das Generieren von Zufallszahlen mit Swift

    Diese Informationen sollten Dir in jedem Fall weiterhelfen.


    Nachtrag:
    iPad-App zum spielerischen Erlernen der Programmiersprache Swift

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von OSXDev () aus folgendem Grund: Nachtrag

  • Nun das mit den Threats verstehe ich.

    Was ich nicht verstehe ist das ich dacht mich eigentlich klar ausgedrückt habe

    Der Zufallsgenerator soll also erst zählen wie viele Einträge da sind, das Ergebnis mischen (z.B: 3,0,5,1,2,6,4) und diese dann der Reiche nach anzeigen und am Ende einen speziellen Tag ausgeben (z.B: 999 = Keine Fragen mehr)

    Zudem habe ich erwähnt das es mit leider sehr schwer fällt diese sogenannten Tutorials auf mein Projekt anzuwenden. Das wäre so als wenn man anfängt ein Schuppen im Garten zu bauen und hat schon ein Fundament gesetzt 4 Wände ne Tür und ein Dach. Nun möchte man ein Fenster eingebaut bekommen und Fragt wie man das am besten macht. Die Antwort ist dann "Hier reiss das mal alles wieder ab und lerne erstmal bitte wie man einen Hammer benutzt!"

    Ich hatte mal eine Funktion gefunden die aus dem (let Fragen = "xxx, "xxxx," u.s.w) die Anzahl ermittelt diese dann zufällig aneinander reiht. Diese Funktion finde ich nicht wieder. Diese Nummern müsste man doch als TAG auch einzeln anwenden können.

    @'MyMattes

    Ja dein Link entspricht dem was ich gerne wollte, die Frage jetzt wie kann ich die Tags eines nach dem anderen Abfragen

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

  • Du wirst meine Antwort nicht mögen, aber Du wirst um das Erarbeiten von Grundlagen nicht herum kommen, nur Googlen und "zusammenreimen" reicht da nicht aus. Ansonsten scheitern Hilfestellungen schnell an mangelnder Basis oder schon an den Begrifflichkeiten. So ist mir vollkommen unklar, was Du mit tags meinst ... ich interpretiere sie einmal als Indizes der einzelnen Elemente Deiner Fragenliste. Dazu gleich mehr.

    tjost1975 schrieb:

    Nun möchte man ein Fenster eingebaut bekommen und Fragt wie man das am besten macht. Die Antwort ist dann "Hier reiss das mal alles wieder ab und lerne erstmal bitte wie man einen Hammer benutzt!"
    Dein Vergleich hinkt gewaltig, entscheidend ist, ob Du das Fenster selber einbauen willst oder es machen lässt. Im ersten Fall solltest Du Dich sehr wohl mit Deinem Handwerkszeug auskennen. Ohne ein solides Fundament baust Du eben nur auf Sand ... um bei Deinen Analogien zu bleiben.

    tjost1975 schrieb:

    Was ich nicht verstehe ist das ich dacht mich eigentlich klar ausgedrückt habe

    Der Zufallsgenerator soll also erst zählen wie viele Einträge da sind, das Ergebnis mischen (z.B: 3,0,5,1,2,6,4) und diese dann der Reiche nach anzeigen und am Ende einen speziellen Tag ausgeben (z.B: 999 = Keine Fragen mehr)
    Hier beginnt das Problem mit den richtigen Begrifflichkeiten:
    • Deine Fragen sind Elemente einer geordneten Sammlung, eines (eindimensionalen) Arrays oder Vektors
    • Jedes Element hat einen Index, der seine Position in diesem Array beschreibt und über den man es referenzieren kann
    • Um alle Elemente eines Array "abzuarbeiten", iteriert man über diesen Index. Hierzu kann man klassisch eine for...next-Schleife benutzen, Swift hat aber elegantere Methoden (die Dir jemand anders nennen muss)
    • Die Anzahl an Elementen erhältst Du mittels count
    • Ein Verwürfeln kann man natürlich selber mittels Zufallsgenerator programmieren, ich nannte Dir oben aber die shuffle-Methode, die Swift dafür bietet.
    Die Bemerkung bzgl. fehlender Frage bezog sich genau darauf: Du hast nirgendwo klar gefragt, sondern nur implizit um Hilfe gebeten. Wobei genau, müssen wir interpretieren ... damit tun sich Software-Entwickler naturgemäß schwer bzw. haben dabei schlechte Erfahrungen gesammelt :)

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.

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