Bonjour à tous,
Je suis actuellement un train de développer un petit jeux par navigateur basé sur des fouilles sur une carte et le développement d'une ville en communauté mais un "problème" se pose à moi.
J'ai développer ma page de gestion des objets en fonction du résultat d'une variable créer avec rand() de 0 à 100 (pour les pourcentages), mais je me suis aperçus que le résultat n'était pas vraiment top...
Je m'explique, j'ai une liste objets que j'ai divisé en plusieurs catégorie, actuellement j'ai ce système mais pour plus de rapidité et plus de facilité de développement je souhaiterais changer ma méthode et utiliser des pourcentages qui seront inscrit dans une base de donnée.
Et j'en passe, j'ai au total, pour le moment, 80 objets
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 $percent = rand(0,100); if($percent >= 0 && $percent <= 50){ $find = rand(0,6); switch($find){ case 0: $item = 6; //Barre de métal break; case 1: $item = 7; //Planche de bois break; case 2: $item = 10; //Cage break; case 3: $item = 13; //Steck cru break; case 4: $item = 17; //Bouteille d'eau impure break; case 5: $item = 22; //Adhésif break; case 6: $item = 27; //Briques break; } }elseif($percent > 50 && $percent <= 60){ $find = rand(0,7); switch($find){ case 0: $item = 8; //Poutre en métal break; case 1: $item = 9; //Poutre en bois break; case 2: $item = 18; //Vodka break; case 3: $item = 19; //Whisky break; case 4: $item = 20; //Vis break; case 5: $item = 21; //Boulon break; case 6: $item = 23; //Poigné de clous break; case 7: $item = 24; //Poigné de clous rouillés break; } }
Ma table pour les objets à pour structures
Imaginons que j'ai mis dans ma catégorie 1 les objets suivant avec des pourcentages associés :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE IF NOT EXISTS `itemlist` ( `ItemNum` int(11) NOT NULL AUTO_INCREMENT, `ItemName` varchar(50) NOT NULL, `ItemDesc` text NOT NULL, `Category` int(11) NOT NULL, `Percent` int(11) NOT NULL, PRIMARY KEY (`ItemNum`), UNIQUE KEY `ItemNum` (`ItemNum`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=81 ;
- Barre de métal => 70%
- Planche de bois => 70%
- Cage => 20%
- Steck cru => 30%
etc, etc...
Comment dois-je procéder afin d'utiliser ces pourcentages pour dire que tel ou tel objet à tant de pourcentage de chance de sortir en sachant que pour une fouille, il n'y as qu'un seul objet qui sors à chaque fois, le système que j'ai actuellement fonctionne bien mais n'est pas des plus performant et serra plus difficile à modifier lors de mise à jours potentielle.
Dois-je comparer ma colonne de pourcentage par rapport à une variable rand()?
Je suis un peu perdu et donc je me tourne vers cette communauté afin de trouver une solution plus fiable.
Merci par avance de vos réponse.
Cordialement







Répondre avec citation
Partager