I have been programming for about 3 years now and feel confident in my skills. But recently I began working alongside embedded systems and working on other peoples code and have begun to question how good my code is.
I see all these complex answers on SO and think I would have done that with a vector and if statements and wonder if I am any more than a beginner as I was self taught and don’t really know my level.
So I was wondering if more experienced programmers could show me ho to do things better.
This is code I wrote to for an rpg game to pick a target to attack. using it as an example could you show me better/more advanced/professional ways of doing it.
int FindTarget(Player &player);
{
int aimPoint[5] = 0;
for(int i = 0; i <= 5; i++)
{
if(player.team[i].exist == true)
{
// set random starting point between 1 - 3
aimPoint[i] = random /3;
// add a point if you hve an elemental advantage minus if not
if(player.team[i].type == weak)
{
aimPoint += 1;
}
else if(player.team[i].type == strong)
{
aimPoint -= 1;
}
//add for front row minus for back
if(i == 1 || i== 3)
{
aimPoint += 1;
}
else
{
aimPoint -= 1;
}
}
}
return 0;
}
EDIT: If you don’t have the time or effort to show me examples I would appreciate a good book that a beginner/intermediate could understand.
ahem since nobody mentioned it, let me point this one out:
to roughly
Also, since there is no knowing what the code should do (and how ‘aimPoint’ is related to teams; guessing doesn’t help because none of it is used, aimPoint is discarded?), I don’t have anything else than fixing the obvious breakage that was above
—- Edit from a comment
The handling of
randomseems misguided. Someone suggested that you might have meantrandom %3 + 1;I noted that too but decided there is nothing to base the assumption on. Perhaps random is already an int in the range
[3, 12).Also,
random % 3won’t yield a uniform distribution, so you’d need to do something else