Ergebnis 1 bis 8 von 8

Thema: Brauche Hilfe bei Visual Basic Schulprojekt

  1. #1

    Brauche Hilfe bei Visual Basic Schulprojekt

    Hi @ all
    Komme normalerweise nie hier rein, da ich eh nichts vom programmieren verstehe, aber blöd wie ich war habe ich in der 9. Klasse Informatik gewählt und jetzt muss ich mich irgendwie mit den Noten über Wasser halten, was mir auch recht gut gelungen ist bis jetzt( auf meine erste sechs folgte eine eins, auf meine fünf wieder eine eins usw.^^)
    So, jetzt ist das Problem, dass wir ein Großprojekt machen, in dem jeder eine Aufgabe hat, die es zu bewerten gilt.
    Das Projekt: Wer wird Millionär!
    Keine Ahnung wozu wir das brauchen, aber wir programmieren jetzt ein eigenes Wer wird Millionär-Spiel.
    Meine Aufgabe ist der 50/50 Joker.
    So, jetzt weiß ich so gut wie überhaupt nicht, wie ich vorgehen soll, und darum bitte ich euch um Hilfe. Wäre echt nett, wenn mir jemand helfen würde, dann wäre meine Note zumindest jetzt noch nicht in Gefahr^^
    Einiges weiß ich auch selsbt und vielleicht ist es ja auch wichtig, also schreibe ich es ja mal auf:
    Ich soll es irgendwie mit Zufallsgenerator machen ( Randomize, oder?)
    Man soll die 2 falschen Antworten gesagt bekommen, die wegfallen.
    Jeder der 4 Antworten muss eine Zahl zugeordnet werden, so dass man später ermitteln kann, welche wegfallen.
    Stehenbleiben müssen: Die richtige Antwort und eine zufällige falsche Antwort.
    Das wars eigentlich schon, nur wie gesagt: Ich kann nichts, was ich nicht vorher auswendig gelernt habe^^
    Ich sollte vielleicht noch erwähnen, dass die Fragen aus einer Datenbank kommen, also muss ich auch daruf irgendwie zugreifen können, oder?`
    Noch etwas vielleicht: Die erste zeile muss so lauten( hab ich von meinem lehrer^^):
    Zufall_5050 ( Frage1 as integer, frage2 as integer)
    (Frage1 ist die Nummer der richtigen Antwort und Frage2 ist die Nummer der falschen Antowrt die stehen bleibt)
    Weiß allerdings nicht, ob es in eine Private Sub rein muss, oder in eine Public oder wie auch immer.
    Ich wäre also echt dankbar für jede Form der Hilfe!!!
    Mfg

  2. #2
    Okay, da die Zeit langsam knapp wird und ich bis jetzt noch nichts gehört habe, kann dieser Thread bitte ins Schüler-Forum verschoben werden?
    Vielleicht habe ich da mehr Glück.
    Mfg

  3. #3
    Es ist ziemlich schwer, auf die Frage zu antworten, weil zu viel unbekannt ist: Wie sind die vier Antwortmöglichkeiten im Speicher abgelegt? Wo ist die Information, ob eine Frage noch da ist oder nicht?

    An sich sieht es ja danach aus, daß du fest vorgegeben bekommst, welche Antworten stehenbleiben. Also mußt du nur die anderen beiden im Speicher als entfernt markieren.
    Wenn dem nicht so ist mußt du nachsehen, welche Antwort korrekt ist und dann eine der anderen drei per Zufallsgenerator auswählen; die beiden bleiben stehen und die anderen fallen weg.

    Mit etwas VB-Kenntnis sollte das machbar sein.

  4. #4
    Ok, das Schulprojekt läuft noch und ich habe meinen Thread wieder gefunden!
    Damals hatte ich kaum informationen, doch jetzt ist das Programm so gut wie fertig. Ihr müsst mir nur bei dem Schluss helfen.
    Wie gesagt, sollte ich für ein umfangreiches Wer wird Millionär Spiel den 50/50-Joker programmieren. Der jetzige Stand ist so:
    Eine andere Gruppe erstellt eine Datenbank, mit allen Fragen, Antworten etc. Da steht auch immer in einem Feld die ID dabei und welche der antworten die richtige ist. Ich brauche also Zugriff auf diese Datenbank und das ist ja schon mal gelungen. Auf der Form, habe ich 5 textfelder ( eines wo die Frage reinkommt und die 4 Antwortfelder) bei denen bei den Eigenschaften jeweils bei Datasource, das Datenfeld aus der datenbank ist, das gebraucht wird ( sprich, die Frage, die einzelnen Antworten etc.).
    Dann noch ein Textled (Name: IDfrage), bei dem als Datasource das Feld mit der ID der jeweiligen Frage angegeben ist.
    Außerdem ein Commanbutton mit folgendem Programmtext:

    Private Sub command1_Click ( )
    id$=IDfrage.text
    SQL$= " select*from frage where id= " + id$
    Data1.Recordsource = SQL$
    Data1.Refresh

    End Sub


    So, wenn ich das Programm laufen lasse kann ich folgendes machen:
    Ganz unten ist dieses Datateil (Data1), was mir überhaupt erst erlaubt mit der Datenbank arbeiten zu können. Wenn ich dort auf die Pfeile klicke, dann kommt halt in allen Textfelder die neue Frage+Antworten. Wenn ich dann noch auf command1 klicke, dann kann ich außerdem die IDs sehen. ( Keine Ahnung was mir das bringt, aber mein Lehrer meinte, dass das wichtig ist.)
    So, jetzt kommt ja eigentlich der einfache Teil, aber da ich eine Niete im Programmieren bin, ist mir selbst das zu schwer.
    ein neuer commandbutton, und wenn ich auf den klicke, dann muss immer die richtige Antwort stehenbleiben und eine zufällige falsche. Ich weiß, dass man das irgendwie mit einem Zufallsgenerator machen muss, ich weiß aber nicht wie.
    Bitte, bitte helft mir damit das zu machen. ICh weiß, dass ich mich vielleicht etwas unmständlich ausgedrückt habe, aber ich kann halt das alles mit dem Programmieren nicht. Die richtige Antwort die stehenbleiben soll und die zufällige falsche heißen übrigens frage 1 ( die richtige) und frage 2 ( die zufällige falsche) und beide sind oben als integer definiert ( dim frage1 as integer, frage2 as integer)
    Da ich den Rest nicht schaffe bitte ich also euch um Hilfe. Es ist nicht schwer, zumindest nicht für jemanden, der sich damit auskennt. Ich glaube dabei muss so vorgegangen werden, dass eine Prozedur für frage1 geschrieben wird und erst dann eine für frage2, also beide getrennt.
    Und ich will euch ja nicht hetzen, aber es wäre nett, wenn ihr mir die Lösung schon heute posten könnt, denn morgen muss alles fertig werden Ich hätte mich ja vorher an euch gewandt, aber ich habe erst sehr kürzlich erfahren, dass das so ist.
    Also, wenn heute nichts kommt, dann bekomme ich eine 6 oder eine 5 >_>".
    Danke schonmal im Vorraus.

  5. #5
    Ich habe jetzt nochmal daran gesessen und dabei folgendes zu Stande gebracht ( funktioniert natürlich nicht >_>):

    Private Sub command2_Click ( )
    frage1=richtig.text ( ------->richtig, ist ein textfeld mit dem datafield richtig, also wird dort immer die nummer der richtigen antwort angezeigt)
    for i= 1 to 4
    if i=frage1 then
    A=unvisible
    B=unvisible
    C=unvisible
    D=unvisible
    frage1=visible
    frage2=randomize 1to 4
    frage2=visible
    end if
    next i

    End Sub

    Ist natürlich totaler Müll, aber mehr habe ich nicht zu stande gebracht.
    Ich warte ja immer noch hoffend auf eure Hilfe, denn morgen wird es shcon zu spät sein.....

  6. #6
    Ich habe zwar die letzten 48 Stunden hauptsächlich damit verbracht, im Alleingang einen Übungszettel für Praktische Informatik zu lösen (ihr glaubt gar nicht, wie sehr einem das die Lust am Coden nimmt), aber whatever...

    Das hier ist Pseudocode. Ich habe seit Ewigkeiten nicht mehr mit VB gearbeitet.
    Code:
    randnum = random(1, 4) ' Zufallszahl von 1 bis 4
    while (randnum == richtig.text) ' Solange die Zufallszahl mit der richtigen Antwort identisch ist...
     randnum = random(1, 4) ' "würfeln" wir sie neu aus
    
    if ((richtig.text != 1) AND (randnum != 1)) A.visible = false
    if ((richtig.text != 2) AND (randnum != 2)) B.visible = false
    if ((richtig.text != 3) AND (randnum != 3)) C.visible = false
    if ((richtig.text != 4) AND (randnum != 4)) D.visible = false
    Das sollte es tun. Du mußt den Kram natürlich noch in richtiges VB umsetzen, aber der Algorithmus sollte so mehr oder weniger hinkommen.

    Du solltest dich aber wirklich mal mit deiner Programmiersprache befassen. Diese Aufgabe ist an sich trivial.

  7. #7
    Code:
    randnum = random(1, 4) ' Zufallszahl von 1 bis 4
    while randnum = richtig.text ' Solange die Zufallszahl mit der richtigen Antwort identisch ist...
     randnum = random(1, 4) ' "würfeln" wir sie neu aus
    Wend
    
    if richtig.text <> 1 AND randnum <> 1 Then A.visible = false
    if richtig.text <> 2 AND randnum <> 2 Then B.visible = false
    if richtig.text <> 3 AND randnum <> 3 Then C.visible = false
    if richtig.text <> 4 AND randnum <> 4 Then D.visible = false
    So in etwa sähe das in VB aus. Nur bei der Zufallszahl bin ich mir nicht sicher. Keine Ahnung, ob das tut, aber sieht gut aus.

    @Jeez:
    Wir warten immer noch auf den Zettel. Ich denk zwar nich, dass ich ne Chance hab, aber wer weiß...

  8. #8
    Zitat Zitat von DFYX
    @Jeez:
    Wir warten immer noch auf den Zettel. Ich denk zwar nich, dass ich ne Chance hab, aber wer weiß...
    Ich kriege die ganzen Zettel erst am Donnerstag wieder. Geduld, junger Padawan...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •