1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

"Wer wird Millionär"

Discussion in 'Programmieren' started by dave-brombacher, Dec 15, 2008.

Thread Status:
Not open for further replies.
  1. Hallo zusammen

    ich benötige eure Hilfe:

    Ich möchte gerne ein "Wer wird Millionär" - Spiel selber machen. Es geht dabei um ein Schulprojekt, bei dem wir am Schluss ein Quiz einbauen wollen, d.h. das Spiel muss meine Fragen "abfragen"

    Nun die Frage.. hat jemand von euch vlt. schon mal sowas gemacht.. oder kennt vlt. ein Programm bei welchem ich nur die Fragen&Antworten ändern müsste ?

    ->das wär natürlich ideal ;)


    Wenn nicht.. muss ich das selber machen.. habe einmal ein Wer wird Millionär Quiz in PowePoint gemacht.. jede Möglichkeit eine Folie.. macht um die 150 Folien^^.. nicht empfehlenswert

    Ich könnte mir vorstellen so etwas in Visual Basic zu machen. Das Design bekomme ich da hin.. ich müsste nur die Befehle wissen für bestimme Aktionen:

    -Das Problem: Wenn ich auf den 50:50 klicke müssen 2 Antwort kästchen weg. Welcher Befehl wäre das ?


    Ich würde das von der Strucktur her so machen:

    1 Form für jede Frage
    1 Form für Publikum-Joker (nur Anzeige eines Bildes, danach zurück zur Frage)
    1 Form für Telefon-Joker (nur Anzeige eines Bildes, danach zurück zur Frage)

    d.h. wenn ich den bei Form 5 (Frage 5) anwende.. darf er bei 6 nicht mehr erscheinen. ich möchte aber ungern dafür nochmal ne extra Form pro Frage machen wo dann der Joker nicht drauf ist... denn dann kann ich gleich PPP machen.


    => Das mit dem Visual Basic muss nicht sein.. es wäre nur meine Idee gewesen. Wenn dies jedoch nicht umsetzbar ist so könnte ich mich auch mit Flash anfreunden, habe Adobe Flash CS3 Pro allerdings noch nie verwendet..


    Bin für eure Hilfe sehr dankbar


    Gruß
    Dave
     
    Last edited: Dec 15, 2008
  2. Hi

    ich konnte das Problem mit dem verschwinden lösen. Nun hab ich aber ein anderes:

    Wenn ich auf die richtige Antwort klicke, soll das Antwortkästchen grün werden. (AnswerA.BackColor = Color.Green)

    derselbe Klick soll jedoch gleichzeitig auch den wechsel zu einer anderen Form bewirken.

    Code:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Button1.BackColor = Color.Green
            Form2.Show()
            Me.Hide()
        End Sub
    Dies führt jedoch dazu das ich das grüne Feld nicht mehr sehe. Ist es Möglich dies zeitlich festzulegen ?

    d.h. Form2.Show erst nach 5sekunden ?


    Eine andere möglichkeit wäre einen Weiter-Button zu erstellen. Doch ich möchte diesen nur sehen wenn ich auf AnswerA geklickt hab. d.h. er muss davor unsichtbar sein. wie mache ich das ?

    Gruß
    Dave
     
  3. Fettbemme

    Fettbemme Halbes Megabyte

    Verstehe ich das Richtig, wenn du 150 Fragen in Dein Programm aufnimmst benötigst Du 150 Forms???

    Ich denke Du hast da mehrere Probleme auf einmal, ich vermute mal Du hast vom programmieren nicht wirklich Ahnung (ist jetzt egal ob VB oder was anderes). Da Du nicht weisst wie man evtl. sowas umsetzen könnte weil die Erfahrung fehlt fehlt es am Konzeptl

    Ich erzähle mal wie ich es grob machen würde:

    1. Alle Fragen sind mit den möglichen Antworten (A-D) und der korrekten Antwort in einer Datei abgelegt. Da ist es für das Programm egal ob ich 20, 50 oder 500 Fragen in meinem System habe.
    2. Ich würde ähnlich wie beim original 1 Fenster haben mit den Fragen, und möglichen Antworten, und an der Seite die "Leiter" mit den Gewinnstufen und der noch verfügbaren Joker. Wie ich den "Publikumsjoker" und "Anrufjoker" verwikliche wüsste ich jetzt in dieser Sekunde nicht. Da könnte man sich was "pfiffiges" überlegen.

    Nun es ist ja auch quatsch, für jede Frage ein eigenes Form zu machen, ein form für alle Fragen ist die Devise...

    Nun Du solltest eine Sprache verwenden, die Du zumindest einwenig kennst. Die aufgabe ist definitiv in VB zu lösen, und ich dehe auch davon aus, dass es in Flash ebenso möglich ist (obwohl ich Flash jetzt nicht kenne)
     
  4. Hi

    danke für die Antwort ich meinte es jedoch so:

    15 Fragen gibt es, sprich nur 1. Durchgang. Es soll nur zum Vorführen dienen..

    Bei PowerPoint bei der jede Antwortmöglichkeit eine eigene Folie ist wären das 150 Folien ;)


    Das mit 1 Form ist mir momentan zu zetaufwändig.. es sei denn du erklärst mir wie ich das schnell bewerkstelligen kann..


    Habe mir das Momentan so überlegt:

    Für jede Frage 1 Form
    -> Joker werde ich an die Tafel malen, eine 50:50 Funktion werde ich durch ein unsichtbares Symbol in einer Ecke bewerkstelligen


    Falsche Antwort=Roter Button
    Richtige Antwort=Grüner button + in 5sec wechsel zu nächster Form. Mein Code dafür sieht so aus:

    Code:
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            timeleft = 5 '
            Timer1.Interval = 1000
    
            Button3.BackColor = Color.GreenYellow
            Timer1.Start() '
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            timeleft = timeleft - 1
            If timeleft = 0 Then
                Form3.Show()
                Me.Hide()
                Timer1.Stop
            End If
        End Sub

    Desweiteren würd ich gerne während dieser 5sec einen Sound abspielen lassen (Applaus, Klatschen) wie kann ich das einbauen ? Auch so, dass der Sound dann in die Datei eingebettet wird?


    Danke für eure Hilfe :-)

    Greez
    Dave
     
    Last edited: Dec 16, 2008
  5. VB-Coder

    VB-Coder Megabyte

    Du solltest dir keine Gedanken um Sounds oder dergleichen machen. Das sind alles Nebensächlichkeiten. Damit kannst du dich befassen, wenn das Spiel lauffähig ist. Und bis dahin dürfte es nachdem was ich bisher gelesen habe noch ein weiter Weg sein. Du kannst uns ja mal zeigen was du bis jetzt schon hast...

    Hier im Anhang mal mein grafischer Aufbau des Spieles.
    Quellcodes die das Spiel lauffähig machen wurden entfernt.
    Das ganze dient nur als Denkanstoß. Du darfst falls es dir gefällt aber gerne meinen grafischen Aufbau für dein Projekt benutzen. Bei mir läuft das Spiel in zwei verschiedenen Versionen. Einmal habe ich für die Fragen und Antworten eine einfache INI Datei verwendet und in der anderen Version habe ich das ganze über eine Datenbank realisiert.

    Das ganze was ich an Formen benötige sind 3 Stück. Eine Hauptform, für Fragen Antworten, Gewinnstufen, Jokerauswahl usw. Die zweite Form für den Publikumsjoker. Um das ganze grafisch darzustellen. Und die dritte Form für die Statistikanzeige (Top10 Spieler).

    Zur Programmierung habe ich Visual Basic 6 verwendet.
     

    Attached Files:

    Last edited: Dec 19, 2008
  6. Proggiiii

    Proggiiii Byte

    Hallo,
    da ich noch noch kein Profi in vb08 bin. Aber auch weis wie soebtwas "leicht" durchzusetzten ist. Kann ich dir gerne dabei helfen. Diies wäre eine gute Übung für mich und du hättest dein Programm/Spiel.
     
  7. Hi

    ich hoffe ihr hattet schöne Feiertage :-)


    Habe mich im Ski-Urlaub aus Spaß nochmal mit dem Programm beschäftigt und meine vorgestellte version verbessert..

    http://www.siteupload.de/p895339-WerWirdMillionrV18zip.html


    Um das Programm noch weiter zu verbessern habe ich 2 Fragen:


    1. Gibt es eine Möglichkeit den Text eines Buttons an die Größe des Buttons anzupassen ?

    Während das Programm läuft ändern sich ja die Antwort-Möglichkeiten, teilweise sind sie zu lang und passen in Größe 18pt nicht in den Button.

    Kann ich eine If.Bedingung machen.. etwa so: If Textlänge größer als 10 Zeichen dann Schriftgröße kleiner

    Geht das irgendwie so ?


    2. Ich würde gerne die Falschen Antworten zählen und am Schluss so einstellen das nur bei 0 Fehlern die 1 Million-Seite sichtbar wird.

    Wie kann ich zählen wie oft Buttons "Rot" wurden ?



    Vielen Dank für eure Hilfe :-)


    @VB-Coder:
    Ich habe nur die vb2008-Express Edition.. kann ich mit der dein Projekt auch laden ?


    Greez
    Dave
     
  8. da_Ferdi

    da_Ferdi Halbes Megabyte

    Schau' dir mal die MeasureString- Klasse an. Die Logik zur Anpasung der Schriftgröße musst du selbst implementieren

    Der einfachste Weg wäre es, eine Boolean- Variable zu deklarieren, und ihr sobald eine falsche Antwort ausgewählt wurde, ihr den Wert false zuzuweisen.

    Eine Int- Variable bei jedem Klick auf eine falsche Antwort inkrementieren.

    Ja. Beim Öffnen des Projektes wird der Visual Basic 6- Code aktualisiert.
     
    Last edited: Dec 27, 2008
  9. Hi

    danke für deine schnelle Antwort :-)


    Also das Projekt konnte ich laden, wie ich nachher das mit dem Anzeigen der Sieges-Seite mache ist mir auch klar..


    Wie genau ich das nun mit der Schriftgröße mache.. habe ich noch nicht verstanden.. kannst du eventuell mal ein Beispiel machen ?


    ..und das mit der Variabel hab ich auch nicht ganz geblickt..

    Ich stelle mir das so vor:

    Bei jeden Klick auf eine Falsche Antwort macht es +1 bei einem Zähler, und der wert de Zählers wird dann am Ende in ein Text-Feld ausgegeben


    Danke für deine Hilfe


    Greez
    Dave
     
  10. VB-Coder

    VB-Coder Megabyte

    Buttonschriftgröße

    nehmen wir an dein button heißt command1
    und der text für command1 wird aus der variablen antwort1 geholt
    dann kannst du das ganze so machen

    Code:
    if len(antwort1) > "10" then command1.FontSize = "10"
    
    Jetzt würde wenn die Anzahl der Zeichen von Variable antwort1 größer wie 10 Zeichen ist, die Schriftgröße von command1 auf 10 gesetzt werden
     
  11. Hi

    danke hat wunderbar funktioniert :-)

    Ich musste zwar den Befehl so ändern, da VB08 deine Schreibweise nicht kannte:

    Code:
    If len (AW_A.Text) > "10" Then AW_A.Font = New Font ("Calibri", 16, FontStyle.Regular)

    Habe nun noch ein paar kleine Änderungen eingebaut, z.B. das die Antwort-Buttons deaktiviert sind während sie geladen werden, meine andere Variante mit dem Abkürzen und so war nicht besonders gut

    http://www.siteupload.de/p895603-WerWirdMillionrV20zip.html


    Kann mir jetzt noch jemand bei dem 2. Problem helfen ?

    Wie schon zuvor erwähnt möchte ich einen Zähler einbauen, welcher die Falschen Antworten zählt.. wie kann ich das bewerkstelligen ?

    Ich würde bei den Falschen Antworten einen Befehl einfügen der den Zähler um +1 erhöht.. nur hab ich keine Ahnung wie so etwas gehen soll..


    Greez
    Dave
     
  12. VB-Coder

    VB-Coder Megabyte

    Ok . Mein Programmierstiel bezieht sich auf VB6, da ich damit auch wenns veraltet ist heute noch code wenn ich was in vb mache.

    zu deiner Frage 2:

    du setzt eine Variable

    DIM Fehler as integer (global setzen)

    beim laden der hauptform
    Fehler = 0

    sobald eine falsche antwort gegeben wurde
    Fehler = Fehler + 1
     
  13. hi

    perfekt hat geklappt :-) vielen Dank


    werde mich morgen wieder melden wenn ich das ganze ausgeschmückt habe..


    Greez
    Dave
     
  14. Hallo zusammen

    habe die letzten 2 Tage fleißig am Programm weiter gearbeitet.. hier die neuste Version:

    http://www.siteupload.de/p896572-WerWirdMillionrV26zip.html



    Ich weiß nicht ob ich es schon erwähnt habe.. Das ganze soll nachher einen Baukasten geben, d.h. ich gebe alle parameter ein also Frage+Antwort, Welche Joker, Welche Antworten die Joker bringen, etc. und dann speichert dieser irgendwie diese Angaben sodass ich nachher eine fertige Version habe, eine wie eben diese mit den Aladin Fragen.


    Jetzt die Frage wie kann ich das realisieren ?


    einen Aufbau für das Baukasten-Programm habe ich bereits im kopf, also mit Radio-Buttons und Menüs etc.
    Zu den genauen Problemen da komme ich dann wenn ich soweit bin.

    Ich müsste jetzt also alle Parameter die ich haben will, im jetzigen Programm durch Variablen ersetzten, bzw. verweise machen:

    Anwort A = TextBox_Antwort A im Baukasten

    Die Frage die ich nun habe, wie mache ich das mit dem Speichern am besten ?
    Ich möchte ja nachher eine Version haben, mit den Fragen aus dem Baukasten, allerdings soll dort ja der Baukasten nicht mehr sichtbar sein, und die eingestellten Parameter müssen gespeichert werden sodass sie auch nach beenden des baukastens immer noch gehen.

    Ich weiß nicht ob das mit einer Datenbank geht.. habe damit noch nie gearbeitet..

    Habt ihr Ideen ?





    Eine weitere kleine Frage:

    Ist es möglich mehrere Befehle einen Namen zu geben, etwa so:

    Übergang =
    Button1.Hide
    Me.Hide
    Form2.Show

    damit ich dann bei z.B, Button2 nur noch: Übergang schreiben muss, und er führt die Befehle aus ?


    Greez
    Dave
     
  15. VB-Coder

    VB-Coder Megabyte

    zu der Frage mehrere Befehle 1 Name

    Deklariere eine neue Funktion dafür

    Public Function Meinefunktion ()

    die Befehle

    End Function





     
  16. VB-Coder

    VB-Coder Megabyte


    EDIT:

    Warum machst du dir das ganze eigentlich unnötig schwer ?
    Arbeite doch einfach mit INI Dateien und lies die benötigten Werte dann dort aus.

    Eine solche INI erstellst du für jede Sprungmarke. Also 50 Euro, 100 Euro usw.

    Die INI könnte vom Aufbau wie folgt aussehen:

    Der Abschnitt [Fragen] enthält die Fragen für die jeweilige Stufe

    Der Abschnitt [Antwort2] enthält die 4 möglichen Antworten für Frage 2. Der Abschnitt [Antwort3] enthält demzufolge natürlich die 4 Antwortmöglichkeiten für Frage 3 usw.

    Der Abschnitt [Richtig3] enthält die richtige Antwort für Frage 3 (hier A) usw.

    Damit kannst du ohne großen Aufwand das ganze Projekt realisieren. Du musst dann nurnoch die Entsprechenden Abschnitte auslesen lassen und an eine Variable übergeben. Diese Variable kannst du dann wiederrum nutzen um Buttonbeschriftungen , Vergleiche usw zu erstellen.

    Falls was unklar sein sollte frag einfach.
     
  17. Hi

    danke für deine Antworten :-)


    also wenn das mit einer INI-Datei geht dann nehme ich natürlich das.. Damit ich anfangen kann 2 Fragen:


    1. Wie lese ich aus einer solchen Datei ?

    ich hab keine Ahnung wie so ein Befehl lautet.. oder muss ich damit eine Variable definieren ?
    wär nett wenn du mir ein beispiel geben könntest

    2. Wie schreibe ich in diese Datei ?

    Um das grafisch schön zu machen, würde ich die Baukasten-Struktur in vb trotzdem gerne machen, also müsste ich in die INI auch schreiben können, das ist jedoch nicht so wichtig..



    Brauche ich jetzt für jede Gewinnstufe eine eigene Datei, oder reicht wie in deinem Aufbau eine einzige ?


    Greez
    Dave
     
  18. VB-Coder

    VB-Coder Megabyte

  19. Hi

    danke für deine Antwort

    das hat jedoch nicht ganz so geklappt bei mir.. ich habe es so gemacht:

    Neue Klasse erstellt
    Name: INIDatei.vb (Oder man ändert den folgenden Code)

    http://dotnet-snippets.de/dns/klasse-fuer-verwendung-von-ini-dateien-SID938.aspx

    Code reinkopieren.

    In der Form dann global folgendes deklarieren:

    Dim INI As New INIDatei


    ..so fertig :-)



    Habe heute angefangen überall die Variablen einzubauen.. ziemlich viel Arbeit^^


    Habe noch eine Frage:

    Ein Parameter des Baukastens ist die KO-Funktion. 1 Fehler und man fliegt raus. Jedoch möchte ich auch einbauen das eine Message kommt mit der Frage nach erneutem probieren..

    Wenn ich nun das bejahe dann kommt wieder der allererste Bildschirm mit dem Start Button.

    Jedoch lädt er dann die nächste Form, nach einem Klick auf Start nicht mehr erneut. D.h. die Antworten stehen schon alle da und die falsche Antwort ist immernoch rot gekennzeichnet.. auch die Joker sind weg, falls zuvor verwendet.

    Wie bringe ich mein Programm dazu die Question-Form wieder zu laden ?


    Die befehle unload gibt es in vb08 nicht. Habe .close und .hide probiert.. gehen beide nicht.

    Kann jemand helfen ?

    Greez
    Dave
     
  20. VB-Coder

    VB-Coder Megabyte

    Wieso gibt es den Befehl Unload nicht ?

    Schonmal folgendes probiert ? :

    FormName.Unload.ENABLE(D) = TRUE

    Bin mir gerade nicht sicher ob Enable oder Enabled
     
Thread Status:
Not open for further replies.

Share This Page