matthieu637 / cpp-2a-info

CPP - Prépa des INP - Nancy | Projet Informatique 2ème année
https://matthieu637.github.io/cpp-2a-info/client.Reseau-class.html
MIT License
1 stars 4 forks source link

le solde est un int alors qu'il devrait être un float #29

Open TerenceMarchal opened 7 years ago

TerenceMarchal commented 7 years ago

Dans la classe Joueur, la variable solde est de type int alors qu'elle devrait être de type float. Là la problème c'est que toutes les opérations ne tiennent compte que de la valeur entière du prixquantite des transactions, et quand les bots jouent sur une partie à 1000€ ca pose problème, beaucoup de gens se sont plains de voir leurs actions disparaitrent sans recevoir d'argent, c'est parce que le prixquantite était strictement inférieur à 1. Du coup faudrait modifier ca, et je connais pas trop le code du coup je préfère pas trop toucher, va sans doute falloir faire des casts un peu partout, si quelqu'un veut bien s'en occuper ce serait cool.

matthieu637 commented 7 years ago

La quantité d'argent est tronquée exprès comme dans la réalité. Le prix devrait l'être également mais bon c'était plus simple comme ça.

Je ne pense pas modifier le type du solde, mais interdir les ask/bid trop faibles.

matthieu637 commented 7 years ago

Ça devrait être réglé.

david540 commented 7 years ago

Si j'ai bien compris le problème, ne serait-il pas mieux de faire acheter/vendre le nombre d'actions correspondant au prix d'achat/vente tronqué ? Par exemple, si on s'arrête au centime: Je vend 250 actions à 0.01, var=250 x 0.01 =2.50 On fait a=int(var*100) = 250 a-a%100= 200 var=int(a/100) = 2 nbActionsVendu= var/prix = 2/0.01 (arrondi au supérieur ?) = 200 nbArgentGagne= int(nbActionsVendu x prix) = 2

Car si j'ai bien compris le problème, dans ce cas présent, le joueur aurait perdu 250 actions et seulement gagné 2 euros c'est ça ? Cette solution gère également le cas ou le produit nbActions x prix <1, car dans ce cas int(a/100)=0 et donc le joueur ne perds pas d'action et ne gagne pas d'argent.

david540 commented 7 years ago

Pardon il y a beaucoup plus simple, j'ai fais un pull request, à voir si cette solution ne cause pas d'autres problèmes mais je ne pense pas