I'm not really sure if this is possible, but, lets say we have 2 ratios. One ration is for one person, the other ratio is for another person. The ratio shows the value of k/d for a player. lets say ratio1 is 1.15 and ratio2 is 1.08. Is there a way to write a program that basically will predict who will beat who? or will it always be the person with ratio1 in c++?
Purely based on probability, the person with the higher kill/death ratio will be the one who wins. That in itself will be easily programmed.
This is a simplistic view though, what if player one has 2 kills and 1 death? That's a 2/1 (2.0) k/d ratio. Now, what if player two has 2000 kills and 1500 deaths? Well than player two has a 2/1.5 (1.33) k/d ratio. By the above simplistic logic, player one would win. But we can predict (mentally) player two will probably win just based off of experience of playing whatever game. Now this can also be programmed but will be a bit more difficult to do. Not too much I would think.
yes, at the very bare bones of it. there would be other factors aswell. but this is just going to be a test. (also all k/d's would be like... 4,000+kills/3-4k deaths or so)
If you know for sure you are going to have kill death ratios that precise than the main thing I can think of is whoever has the higher k/d will have a better chance. Have you thought of using percentages of winning based on k/d instead of a definitive, "This person is gonna win."
So person 1 has 67% chance to win, person 2 has 33% chance to win.
You most definitely can, in essence what you will want to do is take all these values and condense them down into a single value that you can compare between any amount of people.
You will need to decide on how to weigh each of these values. So for example,
k/d = 45%
accuracy = 15%
win ratio = 15%
rounds played = 15%
kills/shot = 10%
Get all this data into a single number and compare between the two fighters.
Yes, but wouldn't this always return the winner being the one with the higher number? Thats what i was trying to avoid doing. Its as if you would have to program a shot kind of class that uses accuracy to determine who will hit who first. Understand what i'm saying?
I completely understand what you are saying. But I don't think you understand what I am.
To compute some value you need an algorithm. This algorithm will produce the same outcome for the same parameters every. single. time. Otherwise, this algorithm would not be an algorithm.
IF you want to use accuracy, then just divide one players accuracy against another's.