Hilfe bei Zahlenspiel

  • Word

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Sebastian.Pape.

    Hilfe bei Zahlenspiel

    Hallo

    da ich neu hier bin stell ich mich erst mal vor. Ich heiße Sebastian Pape und bin 25 Jahre alt und mache zur Zeit eine Weiterbildung über die Fernschule als Programmierer, angefangen vor ca. 6 Wochen.
    Nun häng ich aber schon seit ein paar Tagen an meiner ersten größeren Aufgabe fest. Ich soll ich Word 2013 ein Zahlenspiel erstellen. In diesem Zahlenspiel soll Person 1 eine Zahl zwischen 0 und 100 schreiben und Person 2 diese Zahl erraten. Beim drücken auf die Schaltfläche Fertig soll dann in einem Textfeld erscheinen ob die Zahl getroffen wurde oder ob man zu hoch bzw. zu niedrig ist und ob die Zahl gleichzeitig mehr/weniger als 10 verfehlt wurde.
    Hier mal mein bisheriger Code:

    C-Quellcode

    1. Option Explicit
    2. Private Sub cmdBerechnen_Click()
    3. 'Variablendeklaration
    4. Dim intPerson1 As Integer
    5. Dim intPerson2 As Integer
    6. Dim intSumme As Integer
    7. Dim strAuswahltext As String
    8. intPerson1 = Val(txtPerson1.Value)
    9. intPerson2 = Val(txtPerson2.Value)
    10. Me.txtAusgabe.Value = intSumme
    11. 'Mogelhinweis
    12. If intPerson1 > 100 Then 'Mogelhinweis Zahl ist größer als 100
    13. MsgBox "Sie mogeln! Die Zahl soll kleiner als 100 sein"
    14. Me.txtPerson1.Text = " "
    15. Me.txtPerson1.SetFocus
    16. End If
    17. If intPerson1 < 0 Then 'Mogelhinweis Zahl ist kleiner als 0
    18. MsgBox "Sie mogeln! Die Zahl soll größer als 0 sein"
    19. Me.txtPerson1.Text = " "
    20. Me.txtPerson1.SetFocus
    21. End If
    22. If intPerson2 > 100 Then 'Mogelhinweis Zahl ist größer als 100
    23. MsgBox "Sie mogeln! Die Zahl soll kleiner als 100 sein"
    24. Me.txtPerson2.Text = " "
    25. Me.txtPerson2.SetFocus
    26. End If
    27. If intPerson2 < 0 Then 'Mogelhinweis Zahl ist kleiner als 0
    28. MsgBox "Sie mogeln! Die Zahl soll größer als 0 sein"
    29. Me.txtPerson2.Text = " "
    30. Me.txtPerson2.SetFocus
    31. End If
    32. 'Auslesen
    33. intSumme = intPerson1 - intPerson2
    34. Select Case intSumme
    35. Case Is <= (intSumme + 10)
    36. strAuswahltext = "Das ist schon ziemlich gut." + vbNewLine + "Sie werden übermütig"
    37. Case Is <= (intSumme - 10)
    38. strAuswahltext = "Das ist schon ziemlich gut." + vbNewLine + "Sie müssen in größeren Dimensionen denken."
    39. Case Is = 0
    40. strAuswahltext = "Gratulation. Sie haben es geschafft."
    41. Case Is > 0
    42. strAuswahltext = "Strengen Sie sich etwas mehr an!" + vbNewLine + "Sie werden übermütig."
    43. Case Is < 0
    44. strAuswahltext = "Strengen Sie sich etwas mehr an!" + vbNewLine + "Sie müssen in größeren Dimensionen denken."
    45. End Select
    46. Me.txtAusgabe.Text = strAuswahltext
    47. End Sub


    Es wird leider nicht immer der richtige Text ausgegeben ebenso wie der Text wenn man richtig liegt nicht errscheint.
    Für jede Art von Hilfe wäre ich sehr dankbar auch für die erklärung was ich jetzt falsch gemacht habe.

    Gruß
    Sebastian
    Hallo Sebastian,
    du vergleichst intSumme mit intSumme. Die
    Variable enthält ja bereits die Differenz
    der beiden Zahlen. Bei Case mußt du sie
    dann nicht nochmal einsetzen. Also statt

    Visual Basic-Quellcode

    1. Case Is <= (intSumme + 10)
    2. Case Is <= (intSumme - 10)

    das schreiben:

    Visual Basic-Quellcode

    1. Case Is <= 10
    2. Case Is <= - 10


    Mir ist gerade eingefallen, das wird auch nicht funktionieren.
    Besser bei Case den Bereich angeben. Das sollte gehen:

    Visual Basic-Quellcode

    1. Case 1 to 10
    2. Case - 10 to -1
    Gruss,

    Neptun

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Neptun“ ()