Auswählen von Fragen

A

Alex0407

Mitglied
Thread Starter
Dabei seit
25.04.2012
Beiträge
57
Reaktionspunkte
0
Hallo,

ich bin Alex und neu hier im Forum. Ich bin 18 Jahre alt und komme aus Österreich. In meiner Freizeit programmiere ich gerne bzw. designe gerne Spiele
oder Homepages.
Ich habe nun begonnen mit XCode zu arbeiten. Dinge wie das Erstellen mehrerer Views und das Anlegen von Buttons um zu wechseln oder eine "Email-me" Funktion zu
erstellen, klappen schon recht gut.

Ich würde gerne mal eine Art Quiz machen. Nicht nur 3 Fragen sondern mehrere. Was ich bis jetzt habe ist folgendes:


@interface SecondViewController : UIViewController {


NSInteger correctAnswer;

IBOutlet UIButton *answerOne;
IBOutlet UIButton *answerTwo;
IBOutlet UIButton *answerThree;
IBOutlet UIButton *answerFour;
}




-(IBAction)back:(id)sender;

-(IBAction)buttonOne;
-(IBAction)buttonTwo;
-(IBAction)buttonThree;
-(IBAction)buttonFour;





@property (retain, nonatomic) UIButton *answerOne;
@property (retain, nonatomic) UIButton *answerTwo;
@property (retain, nonatomic) UIButton *answerThree;
@property (retain, nonatomic) UIButton *answerFour;
@property (retain, nonatomic) NSString* theQuestion;


Ich schaffe es einfach nicht eine Liste von Fragen zu erstellen, die per Zufallsprinzip ausgewählt werden. Wenn die Frage richtig ist, soll die Nächste erscheinen, andernfalls GameOver.
Was ich mir gedacht habe: Es gibt 4 Buttons (Antwort 1-4)...Was wäre, wenn man jedem Button eine Zahl zuordnet (1,2,3,4). Dann müsste man jeder Frage auch eine Zahl als richtige Antwort geben. Wenn die
Frage aktiv ist und die beiden Werte gleich sind, Antwort richtig, sonst falsch. Wäre das korrekt?

Das Problem das ich habe ist, dass ich nicht wirklich weiß wo ich jetzt weitermachen soll....

Danke für eure Hilfe, ich versuche gerade intensiv zu lernen..das geht am Besten mit Praxis (bei mir zumindest :) )

Alex
 
Gar kein schlechter Anfang.

Ein Tip ist zum Beispiel, das "tag" Property zu verwenden. Damit kannst Du dann die Nummer des Buttons abfragen, unabhängig vom Titel.

Mit welchem Buch lernst Du?

Alex
 
Danke ....um ehrlich zu sein lerne ich ohne Buch.

Ah okay, das heißt ich kann dem Button einfach einen Wert zuweisen? Wie würde das ganze funktionieren?

Mir wäre nur das eingefallen:


- (IBAction)buttonOne
{
NSInteger theAnswerValue = 1;
[self checkAnswer:(int)theAnswerValue];
}

Danke für die Hilfe...Alex
 
Ohne Buch ist schwer.

So wie Du das vor hast, geht es auch. Aber eben auch so
Code:
answerOne.tag = 0;
answerTwo.tag = 1;
…
- (IBAction)answer:(UIButton*)sender {
[self checkAnswer:sender.tag];
}

Alex
 
Ich weiß das es ohne Buch schwer ist....Ich bin kurz vor dem Abitur, beziehungsweise mittendrin. Deshalb kaufe ich mir jetzt kein Buch,
will mich nicht zu sehr ablenken. Aber ich will in diese Richtung studieren.

Okey super danke. Was mir jedoch richtig den Kopf zerbricht ist, das Setup der Fragen mit Zufallsprinzip...

Ich habe es nun auf deine Art gelöst...nur irgendwo habe ich einen Fehler:

.m file :

- (IBAction)answer:(UIButton*)sender {
[self checkAnswer :sender.tag];
}

.h file :

- (IBAction)answer:(UIButton*)sender {
[self checkAnswer :sender.tag];
}


Fehler: Instand method - checkAnswer not found

Danke Alex






Alex
 
Zuletzt bearbeitet:
Was kannst Du denn schon? C?

Alex
 
Ich habe mit Programmen wie GameSalad angefangen. Jedoch sind die Möglichkeiten nur begrenzt bei GameSalad. Deshalb bin ich jetzt bei XCode. Außerdem
habe ich gerne Herausforderungen und die habe ich hier zu 100%.

Meine Kenntnisse sind eher mager...aber ich hab ein paar Tutorials angesehen und versteh das Prinzip von XCode etwas mittlerweile...Beim Fragenkatalog jedoch habe
ich noch keinen Plan. Ich weiß zwar wie es gehen könnte, aber die Umsetzung weiß ich noch nicht.

Hast Du eine Idee wie man das lösen könnte?

Danke,

Alex
 
vielleicht gibt das einen hinweis wie man (mehr oder weniger) zufällig zahlen generiert:
http://cocoa-coding.de/lotto/6aus49.html

der rest wäre halt die fragen in einem array zu speichern und dann über den zufallsgenerator den index für die auswahl zu bestimmen.
dann solltest du dir natürlich noch merken, welcher index schon dran war...
 
@oneOeight:

Danke für den Link, das wäre eine richtig gute Idee :) Wie du schon erwähnt hast müssten verwendete Fragen halt dann erkannt werden...

Könnt ihr mir damit helfen? Arrays sagt mir zwar was aber wie genau geh ich da jetzt voran?

Großes Lob an die Personen hier, danke für eure Hilfe.... scheint ein klasse Forum zu sein!

Alex
 
äh, wenn dir der begriff array nichts sagt, solltest du vielleicht doch noch mal etwas grundlagen lernen. ;)
das ist eine häufig verwendete und grundlegende datenstruktur...
 
  • Gefällt mir
Reaktionen: below
Wäre das ein richtiger Weg? Ich weiß schon was Arrays sind.


NSArray *quizArray = [[NSArray alloc] initWithObjects:

[NSArray arrayWithObjects: @"Question number one? (correct A) ",@"A",@"B",@"C",@"D",@"1", nil],

[NSArray arrayWithObjects: @"Question number two? (correct B) ",@"A",@"B",@"C",@"D",@"2", nil],

[NSArray arrayWithObjects: @"Question number three? (correct C) ",@"A",@"B",@"C",@"D",@"3", nil],

[NSArray arrayWithObjects: @"Question number four? (correct D) ",@"A",@"B",@"C",@"D",@"4", nil],

[NSArray arrayWithObjects: @"Question number five? (correct A) ",@"A",@"B",@"C",@"D",@"1", nil],

nil];
 
Das ist ja ziemlich doof, weil Du wissen musst, an welcher Position Frage, Antwortmöglichkeiten, und die richtige Antwort steht. Ausserdem kannst Du auch Zahlen in den Array packen (Hint, hint: NSNumber)

Du solltest besser ein NSDictionary verwenden (mach das mal, zum lernen), oder besser ein eigenes Objekt (mach das danach, auch zum lernen)

Gruss

Alex
 
Danke...weißt du wo ich ein Tutorial dazu finde?
 
Danke...weißt du wo ich ein Tutorial dazu finde?

In einem guten Buch ;) Ich empfehle da welche von Aaron Hillegass oder Max Seelemann. Amin Negm-Awad ist auch sehr gut, geht aber auch sehr ins Detail (Transparenzerklärung: Das sind alles Freunde von mir)

Alex
 
Hey,

ich werde mir eines zulegen..keine Frage.

Okay folgendes, NSDictionary:

Setz ich die Frage als Value und die Antwort als Key oder?

Danke
 
DAS kommt darauf an. Ich würde das ganz anders machen: Es gibt drei Keys: "Frage", "Antwortmöglichkeiten", "Richtige Antwort". Die Values dazu sind ein NSString, ein NSArray und eine NSNumber

Alex
 
Okay, ich werde das ganze mal versuchen.

Darf ich meinen Code später posten und du schaust ihn dir an? :)

Danke
Alex
 
Zip ihn und lad ihn hoch

Alex
 
Super danke :)

Alex
 
Hey,

okay, ich habe nun versucht das ganze in der .h Datei zu erstellen.

NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:
@"value1", @"key1", @"value2", @"key2", @"value3", @"key3", nil];

Jedoch bekomme ich immer einen Fehler..passt das nicht?
Jetzt müsste ich doch nur mehr die Values definieren? Also NSString,NSNumber und NSArray ??

Danke...

Alex
 
Zurück
Oben Unten