Hey leute.
Da ich gerade keinen pc habe, mach ich pause mit opengl und brauche ein projekt, welches sich im laufe der info-stunden entwickeln kann ^^
Vielleicht kennt ihr das spiel, akinator. Es ist quasi ein “wer ist das”. Der computer stellt einem fragen, und man muss antworten mit ja oder nein, ob das gefragre auf due person zutrifft, die man sich vorher ausgedacht hat.
Mein ansatz war jetzt folgender. Ein enum attributes, enthaelt halt punkte wie gender, name und so weiter.
Dann die klasse anobject welche eine map<attribute, value> hat.
Das spiel hat nun zugriff auf alle diese daten, Beispielsweise in einer array list. (Kommen die daten nun von ner datenbank oder einfach als ordner mit file pro objekt, ist ja egal).
Eine methode nextCondition wuerde nun alle objekte von diesem datenhaufen entfernen, die diese condition nicht erfüllen. Das heisst jedesmal iteration durch alle daten. Das so lange bis daten laenge = 1 oder halt 0. (Nix gefunden).
Ein Algorithmus waehlt passende fragen und somit conditions aus, der user beantwortet und legt den inhalt der condition aller fragen fest. Sprich sowas wie nextQuestion gibt mir die naechste frage.
Erst einmal: ist der ansatz so sinnvoll? Ich meine, angenommen man hat 100000 objekte, alle gleichzeitig im speicher, bei jeder neuen condition iteration durch alles, ergibt das sinn?
Wuerd mich ueber rueckmeldungen freuen.
Ah und, wie wuerdet ihr die fragen auswaehlen, damit es nicht "zu einfach " fuer den computer wird? ZB kann man mit “ist der anfangsbuchstabe …” schon ganz viel ausschließen, aber das ist ja nicht sinn der sache…