473,503 Members | 1,681 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Keeping Score

1 New Member
O.k. guys trying to teach myself in VB6 to start i am writing a math program for my daughter but i am having trouble with my code to keep score. the program is two random numbers that pop up in 2 txtboxes and a 3 txtbox for the answer on a 3 min timer what i want to do is keep track of how many she got right and display it at the end of the 3 min. here is the code any info you code give will be helpful and if you see any other mistakes in the code let me know.

Expand|Select|Wrap|Line Numbers
  1. Private Sub cmdcheck_Click()
  2. Dim score As Integer
  3. score = score + 1
  4. txtscore.Text = score
  5. Dim sum As String
  6. x = Answer.Text
  7. sum = val(text1.Text) + val(Text2.Text)
  8.  
  9. If x = sum Then
  10. score = score + 1
  11. MsgBox "Good Job!"
  12. 'put random number in textbox 1
  13. text1.Text = Int((10 - 0 + 1) * Rnd + 0)
  14. 'put random number in textbox 2
  15. Text2.Text = Int((10 - 0 + 1) * Rnd + 0)
  16. 'clear textbox 3 for the answer
  17. Answer.Text = ""
  18.  
  19. Else
  20.  
  21. MsgBox "wrong"
  22. ' put random number in textbox 1
  23. text1.Text = Int((10 - 0 + 1) * Rnd + 0)
  24. ' put random number in textbox 2
  25. Text2.Text = Int((10 - 0 + 1) * Rnd + 0)
  26. ' clear textbox 3 for the answer
  27. Answer.Text = ""
  28. End If
  29. End Sub
as the code is it will add one to txt.score on the first right answer but then nothing after that. Thanks in advance for any help
Mar 22 '08 #1
6 9084
jg007
283 Contributor
O.k. guys trying to teach myself in VB6 to start i am writing a math program for my daughter but i am having trouble with my code to keep score. the program is two random numbers that pop up in 2 txtboxes and a 3 txtbox for the answer on a 3 min timer what i want to do is keep track of how many she got right and display it at the end of the 3 min. here is the code any info you code give will be helpful and if you see any other mistakes in the code let me know.

Expand|Select|Wrap|Line Numbers
  1. Private Sub cmdcheck_Click()
  2. Dim score As Integer
  3. score = score + 1
  4.  
as the code is it will add one to txt.score on the first right answer but then nothing after that. Thanks in advance for any help
you are using the score as an interer for this sub only and it is redimming it each time and setting it as 1

sorry probably not described well but hopefully you understand what I mean, I would ( possibly incorrectly! ) be declaring score as an integer in the class section and then using the form load to set it to 0
Mar 23 '08 #2
Killer42
8,435 Recognized Expert Expert
Ignore this message. I'm just "subscribing" to the discussion thread so I can find it again later.
Mar 25 '08 #3
jamesd0142
469 Contributor
Try this

Expand|Select|Wrap|Line Numbers
  1.   Dim score As Integer = 0
  2.     Dim x As String = Nothing
  3.  
  4.  
  5.     Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.         'put random number in textbox 1
  7.         Text1.Text = Int((10 - 0 + 1) * Rnd() + 0)
  8.         'put random number in textbox 2
  9.         Text2.Text = Int((10 - 0 + 1) * Rnd() + 0)
  10.         'clear textbox 3 for the answer
  11.         Answer.Text = ""
  12.     End Sub
  13.  
  14.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  15.         Dim sum As String
  16.         x = Answer.Text
  17.         sum = Val(Text1.Text) + Val(Text2.Text)
  18.  
  19.         If x = sum Then
  20.             score = score + 1
  21.             MsgBox("Good Job!")
  22.             'put random number in textbox 1
  23.             Text1.Text = Int((10 - 0 + 1) * Rnd() + 0)
  24.             'put random number in textbox 2
  25.             Text2.Text = Int((10 - 0 + 1) * Rnd() + 0)
  26.             'clear textbox 3 for the answer
  27.             Answer.Text = ""
  28.  
  29.         Else
  30.             MsgBox("wrong")
  31.             ' put random number in textbox 1
  32.             Text1.Text = Int((10 - 0 + 1) * Rnd() + 0)
  33.             ' put random number in textbox 2
  34.             Text2.Text = Int((10 - 0 + 1) * Rnd() + 0)
  35.             ' clear textbox 3 for the answer
  36.             Answer.Text = ""
  37.         End If
  38.  
  39.         txtscore.Text = score
  40.     End Sub
  41.  
NOTE: your 'random' numbers will repeat everytime u restart the program, to get better randoom numbers

use something like this, to reduce the chance of repeating values.

Expand|Select|Wrap|Line Numbers
  1. Dim a As String
  2. a =  System.DateTime.Now.Millisecond
  3.  

MABY THIS WILL WORK UNLESS SOMEONE CAN SUGGEST ANY BETTER:

Expand|Select|Wrap|Line Numbers
  1.     Dim score As Integer = 0
  2.     Dim x As String = Nothing
  3.     Dim a As String
  4.     Dim b As String
  5.  
  6.     Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.         a = Mid(System.DateTime.Now.Millisecond, 1, 1)
  8.         System.Threading.Thread.Sleep(CInt(a) + 284)
  9.         b = Mid(System.DateTime.Now.Millisecond, 1, 1)
  10.         'put random number in textbox 1
  11.         Text1.Text = a 'Int((10 - 0 + 1) * Rnd() + 0)
  12.         'put random number in textbox 2
  13.         Text2.Text = b 'Int((10 - 0 + 1) * Rnd() + 0)
  14.         'clear textbox 3 for the answer
  15.         Answer.Text = ""
  16.     End Sub
  17.  
  18.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  19.         a = Mid(System.DateTime.Now.Millisecond, 1, 1)
  20.         System.Threading.Thread.Sleep(CInt(a) + 284)
  21.         b = Mid(System.DateTime.Now.Millisecond, 1, 1)
  22.  
  23.         Dim sum As String
  24.         x = Answer.Text
  25.         sum = Val(Text1.Text) + Val(Text2.Text)
  26.  
  27.         If x = sum Then
  28.             score = score + 1
  29.             MsgBox("Good Job!")
  30.             'put random number in textbox 1
  31.             Text1.Text = a 'Int((10 - 0 + 1) * Rnd() + 0)
  32.             'put random number in textbox 2
  33.             Text2.Text = b 'Int((10 - 0 + 1) * Rnd() + 0)
  34.             'clear textbox 3 for the answer
  35.             Answer.Text = ""
  36.  
  37.         Else
  38.             MsgBox("wrong")
  39.             ' put random number in textbox 1
  40.             Text1.Text = Int((10 - 0 + 1) * Rnd() + 0)
  41.             ' put random number in textbox 2
  42.             Text2.Text = Int((10 - 0 + 1) * Rnd() + 0)
  43.             ' clear textbox 3 for the answer
  44.             Answer.Text = ""
  45.         End If
  46.  
  47.         txtscore.Text = score
  48.     End Sub
  49.  
NOTE: i did this in vb2005 but should work in vb6
Mar 25 '08 #4
jg007
283 Contributor
as far as I am aware RND() generates a random value based on system time/data so should not be the same although I did used to use randomise at the start of programs but I am not sure if that was necessary
Mar 25 '08 #5
Killer42
8,435 Recognized Expert Expert
as far as I am aware RND() generates a random value based on system time/data so should not be the same although I did used to use randomise at the start of programs but I am not sure if that was necessary
In VB6, you need to use the Randomize statement to seed the pseudo-random number generator. If you don't, it will produce the same series of numbers each time. I think Randomize uses the system time, unless you provide a seed.
Mar 26 '08 #6
Killer42
8,435 Recognized Expert Expert
...Int((10 - 0 + 1) * Rnd() + 0)
Is this being done to illustrate what is normally added/subtracted in these circumstances, or what? Because it seems as though you could get the same result with Int(11 * Rnd()).
Mar 26 '08 #7

Sign in to post your reply or Sign up for a free account.

Similar topics

3
1396
by: hazz | last post by:
if i have a table record called Rule 1 with 1. table name 2. table column name 3. operator (>,< =) 4. value (0 to n) 5. score how could I create code to create a rule automatically so...
0
2166
by: kristian | last post by:
Hi. I read somewhere that there is a limit to the way the score is calculated. As far as I remember the problem was that if the keyword in the search string was present more than N times the score...
2
3384
by: windsorben | last post by:
How would I pass the student's final score to a hidden form field? <script language="javascript" type="text/javascript"> <!-- var score = 0;
54
6565
namcintosh
by: namcintosh | last post by:
First of all, here is my program: #include <iostream> #include <conio> using namespace std; //Function prototype void getscore(int&, int&, int&, int&, int&); void findLowest (int, int,...
1
1672
by: cutzz | last post by:
Hi u all, i've made a 10 paged asp quiz. at the end of the quiz u will recieve a score. the script is shown below. my answer = how can i save this score into a database? <!-- #include...
5
2966
by: eliana82 | last post by:
I have problems calculating score percentages within groups. I have created a boat program in access where the information provided is name, team, boat and score. The first query I've done is...
1
3392
by: Flanders | last post by:
I have developed a small arcade game with the help of a few VB books. A scoring system was implemented in the design of the game but I as hoping that some one would be able to instruct me on how...
4
5403
by: kyle christian | last post by:
I am trying to save the high scores of a game I made. Now Im stumped on trying to search through the file. Should I use a string, array, or one of the STL containers to manipulate the information...
3
8859
by: hamishmcgee | last post by:
Ok, so for a project at university I have to create a High Score table in C++ with Visual Studio. Just to let you know this is my first year at university and also my first time ever learning C++....
0
7202
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7084
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7328
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
7458
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5578
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5013
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3154
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1512
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
380
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.