Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

creation de personnage AD&D (VBA Excel)

5 réponses
Avatar
.:: eric ::.
Bonjour,


passionné de ad&d (JdR) je cherche a mettre en place un petit fichier excel
qui me permettrait de simuler la creation d'un personnage.
le probleme est un peu complexe pour mes connaissance en vba trop sommaires
pour le mettre en forme.

alors si certains aiment relever des défis ...

Probleme:

Quand un crée un personnage on choisi en premier sa race (parmi les 5
proposées) puis on attribue les caractéristiques

les 6 caractéristiques dont les valeurs vont de 8 (min) à 18 (max)
- str
- dex
- con
- int
- wis
- cha

toutes ces carac sont de base à 8 (minimum hors ajustement racial),
cependant selon la race choisi on bénéficie d'un bonus/malus (5 races)
- humain : tout a 8 (rien ne change)
- elfe : ajustement +2 dex / -2 con
- halfling : ajustement +2 dex / -2 str
- dwarf : ajustement +2 con / -2 cha
- warforged : ajustement +2 con / -2 cha / -2 wis

ces ajustements se font sur la base (important pour la suite)

on dispose de 28 points a repartir dans ces 6 carac. (apres ajustement
racial donc)

et enfin le point "pénible", il existe un tableau de correpondance de la
valeur du point:
pour passer de 6 à 7 cela coute 1 point sur les 28
pour passer de 7 à 8 cela coute 1 point sur les 28
pour passer de 8 à 9 cela coute 1 point sur les 28
pour passer de 9 à 10 cela coute 1 point sur les 28
pour passer de 10 à 11 cela coute 1 point sur les 28
pour passer de 11 à 12 cela coute 1 point sur les 28
pour passer de 12 à 13 cela coute 1 point sur les 28
pour passer de 13 à 14 cela coute 1 point sur les 28
pour passer de 14 à 15 cela coute 2 points sur les 28
pour passer de 15 à 16 cela coute 2 points sur les 28
pour passer de 16 à 17 cela coute 3 points sur les 28
pour passer de 17 à 18 cela coute 3 points sur les 28 (en gros pour
passer de 8 à 18 coute 16 points sur 28)


exemple un nain :
- str : 8
- dex : 8
- con : 10 (ici pour passer à 18 cela ne coute que 14)
- int : 8
- wis : 8
- cha : 6 (ici pour passer à 18 cela coute18)

car pour passer à 18 en con il ne devra investir que 14 points, puisque les
2 sont "raciaux"

difficile de mettre un controle sur :
- ne pas dépasser les 28 pts à répartir
- ne pas descendre en dessous de 8 (sauf si c'est "racial" )
- incrementer de 1 en 1 , puis 2 en 2 et enfin 3 en 3

alors le but serait de faire une feuille excel de creation
cette feuille pourrait avoir cet aspect:

choix race : [x ] (x = 1,2,3,4 ou 5)

nb de point a repartir : [28] (qui change en fonction de la repartition)

- str : [-] 8 [+] (le chiffre change en fonction si on appuie sur le "-"
ou le "+")
- dex : [-] 8 [+]
- con : [-] 8 [+]
- int : [-] 8 [+]
- wis : [-] 8 [+]
- cha : [-] 8 [+]


donc merci au petit génie qui saura mettre ca en forme :)

cordialement
eric

--

-=-=-=-=-=-=-=-=-=-=-=-
.:: eric ::.
-=-=-=-=-=-=-=-=-=-=-=-

5 réponses

Avatar
Jean-Marc
".:: eric ::." <-an†i$ a écrit dans le message de
news:
Bonjour,


passionné de ad&d (JdR) je cherche a mettre en place un petit fichier


excel
qui me permettrait de simuler la creation d'un personnage.
le probleme est un peu complexe pour mes connaissance en vba trop


sommaires
pour le mettre en forme.

alors si certains aiment relever des défis ...

Probleme:

Quand un crée un personnage on choisi en premier sa race (parmi les 5
proposées) puis on attribue les caractéristiques

les 6 caractéristiques dont les valeurs vont de 8 (min) à 18 (max)
- str
- dex
- con
- int
- wis
- cha

toutes ces carac sont de base à 8 (minimum hors ajustement racial),
cependant selon la race choisi on bénéficie d'un bonus/malus (5 races)
- humain : tout a 8 (rien ne change)
- elfe : ajustement +2 dex / -2 con
- halfling : ajustement +2 dex / -2 str
- dwarf : ajustement +2 con / -2 cha
- warforged : ajustement +2 con / -2 cha / -2 wis

ces ajustements se font sur la base (important pour la suite)

on dispose de 28 points a repartir dans ces 6 carac. (apres ajustement
racial donc)

et enfin le point "pénible", il existe un tableau de correpondance de


la
valeur du point:
pour passer de 6 à 7 cela coute 1 point sur les 28
pour passer de 7 à 8 cela coute 1 point sur les 28
pour passer de 8 à 9 cela coute 1 point sur les 28
pour passer de 9 à 10 cela coute 1 point sur les 28
pour passer de 10 à 11 cela coute 1 point sur les 28
pour passer de 11 à 12 cela coute 1 point sur les 28
pour passer de 12 à 13 cela coute 1 point sur les 28
pour passer de 13 à 14 cela coute 1 point sur les 28
pour passer de 14 à 15 cela coute 2 points sur les 28
pour passer de 15 à 16 cela coute 2 points sur les 28
pour passer de 16 à 17 cela coute 3 points sur les 28
pour passer de 17 à 18 cela coute 3 points sur les 28 (en gros


pour
passer de 8 à 18 coute 16 points sur 28)


exemple un nain :
- str : 8
- dex : 8
- con : 10 (ici pour passer à 18 cela ne coute que 14)
- int : 8
- wis : 8
- cha : 6 (ici pour passer à 18 cela coute18)

car pour passer à 18 en con il ne devra investir que 14 points,


puisque les
2 sont "raciaux"

difficile de mettre un controle sur :
- ne pas dépasser les 28 pts à répartir
- ne pas descendre en dessous de 8 (sauf si c'est "racial" )
- incrementer de 1 en 1 , puis 2 en 2 et enfin 3 en 3

alors le but serait de faire une feuille excel de creation
cette feuille pourrait avoir cet aspect:

choix race : [x ] (x = 1,2,3,4 ou 5)

nb de point a repartir : [28] (qui change en fonction de la


repartition)

- str : [-] 8 [+] (le chiffre change en fonction si on appuie sur


le "-"
ou le "+")
- dex : [-] 8 [+]
- con : [-] 8 [+]
- int : [-] 8 [+]
- wis : [-] 8 [+]
- cha : [-] 8 [+]


donc merci au petit génie qui saura mettre ca en forme :)



Hello,

ce n'est pas un problème compliqué, c'est juste une question
de structure de données. Ici, c'est assez simple.

Je t'ai fait un petit programme en VB, surement pas difficile
à transformer en VBA. J'ai aussi fait un exécutable autonome,
et un petit screenshot:
http://users.skynet.be/candide/jmn/simuadd/scrshot.JPG


Bref, les sources et l'exécutables sont téléchargeables
ici, au début de la section téléchargements:
http://myjmnhome.dyndns.org/download.htm


Si ca rame trop ou si le serveur est indisponible, on
peut aussi le télécharger ici:
http://users.skynet.be/candide/jmn/simuadd/

Bon amusement :-)

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Jean-Marc
Comme le listing est un peu long pour être publié ici,
voici un lien direct sur le source:
http://users.skynet.be/candide/jmn/simuadd/princ.htm

Quelques remarques:
- Une fois la structure des données bien choisie, le
code est étonnament simple
- l'utilsation de valeurs constantes en tête de listing
permet d'étendre ce programme très très facilement avec
par exemple plus de races, un nombre de points différent,
plus de catégories, etc.
- Le codage peut se faire en n'importe quel langage, on voit
que les 3 fonctions (choix d'une race, action plus ou moins)
sont très courtes (toujours grâce à la structure des données)
- A part les labels pour les affichages, le code est indépendant
de la partie graphique.

Enfin, et je trouve que c'est intéressant comme remarque générale:
je ne connais absolument rien aux jdR ni au concept de AD&D,
pourtant j'ai programmé ce petit outil en 15 minutes. Pourquoi?
Parce que les specs de Eric était suffisamment claires et précises
pour que la compréhension du problème soit immédiate. Le codage et
le choix des structures de données est ensuite le boulot normal
du développeur! Conclusion: un programmeur peut réaliser n'importe
quel programme, même dans un domaine qui lui est tout à fait étranger,
pour autant que les spécifications soient exprimées avec clarté,
concision et exhaustivité, comme le fit Eric.

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
.:: eric ::.
merci beaucoup du temps que tu as accordé à mon message et au problème.

je vais télécharger tout ca et regarde comment l'adapter (ca me fera p-e
progresser :) )

Je te tiens informé :)

encore merci

--

-=-=-=-=-=-=-=-=-=-=-=-
.:: eric ::.
-=-=-=-=-=-=-=-=-=-=-=-
"Jean-Marc" a écrit dans le message de news:
43d7e4ba$0$14131$
".:: eric ::." <-an†i$ a écrit dans le message de
news:
Bonjour,


passionné de ad&d (JdR) je cherche a mettre en place un petit fichier


excel
qui me permettrait de simuler la creation d'un personnage.
le probleme est un peu complexe pour mes connaissance en vba trop


sommaires
pour le mettre en forme.

alors si certains aiment relever des défis ...

Probleme:

Quand un crée un personnage on choisi en premier sa race (parmi les 5
proposées) puis on attribue les caractéristiques

les 6 caractéristiques dont les valeurs vont de 8 (min) à 18 (max)
- str
- dex
- con
- int
- wis
- cha

toutes ces carac sont de base à 8 (minimum hors ajustement racial),
cependant selon la race choisi on bénéficie d'un bonus/malus (5 races)
- humain : tout a 8 (rien ne change)
- elfe : ajustement +2 dex / -2 con
- halfling : ajustement +2 dex / -2 str
- dwarf : ajustement +2 con / -2 cha
- warforged : ajustement +2 con / -2 cha / -2 wis

ces ajustements se font sur la base (important pour la suite)

on dispose de 28 points a repartir dans ces 6 carac. (apres ajustement
racial donc)

et enfin le point "pénible", il existe un tableau de correpondance de


la
valeur du point:
pour passer de 6 à 7 cela coute 1 point sur les 28
pour passer de 7 à 8 cela coute 1 point sur les 28
pour passer de 8 à 9 cela coute 1 point sur les 28
pour passer de 9 à 10 cela coute 1 point sur les 28
pour passer de 10 à 11 cela coute 1 point sur les 28
pour passer de 11 à 12 cela coute 1 point sur les 28
pour passer de 12 à 13 cela coute 1 point sur les 28
pour passer de 13 à 14 cela coute 1 point sur les 28
pour passer de 14 à 15 cela coute 2 points sur les 28
pour passer de 15 à 16 cela coute 2 points sur les 28
pour passer de 16 à 17 cela coute 3 points sur les 28
pour passer de 17 à 18 cela coute 3 points sur les 28 (en gros


pour
passer de 8 à 18 coute 16 points sur 28)


exemple un nain :
- str : 8
- dex : 8
- con : 10 (ici pour passer à 18 cela ne coute que 14)
- int : 8
- wis : 8
- cha : 6 (ici pour passer à 18 cela coute18)

car pour passer à 18 en con il ne devra investir que 14 points,


puisque les
2 sont "raciaux"

difficile de mettre un controle sur :
- ne pas dépasser les 28 pts à répartir
- ne pas descendre en dessous de 8 (sauf si c'est "racial" )
- incrementer de 1 en 1 , puis 2 en 2 et enfin 3 en 3

alors le but serait de faire une feuille excel de creation
cette feuille pourrait avoir cet aspect:

choix race : [x ] (x = 1,2,3,4 ou 5)

nb de point a repartir : [28] (qui change en fonction de la


repartition)

- str : [-] 8 [+] (le chiffre change en fonction si on appuie sur


le "-"
ou le "+")
- dex : [-] 8 [+]
- con : [-] 8 [+]
- int : [-] 8 [+]
- wis : [-] 8 [+]
- cha : [-] 8 [+]


donc merci au petit génie qui saura mettre ca en forme :)



Hello,

ce n'est pas un problème compliqué, c'est juste une question
de structure de données. Ici, c'est assez simple.

Je t'ai fait un petit programme en VB, surement pas difficile
à transformer en VBA. J'ai aussi fait un exécutable autonome,
et un petit screenshot:
http://users.skynet.be/candide/jmn/simuadd/scrshot.JPG


Bref, les sources et l'exécutables sont téléchargeables
ici, au début de la section téléchargements:
http://myjmnhome.dyndns.org/download.htm


Si ca rame trop ou si le serveur est indisponible, on
peut aussi le télécharger ici:
http://users.skynet.be/candide/jmn/simuadd/

Bon amusement :-)

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;



Avatar
.:: eric ::.
ha j'ai trouvé un léger bug :p

quand tu selectionnes une race et que tu reparti les stats tout va bien,
par contre si jamais je change de race "à la volée" le compteur (28) ne
réinitialise pas et les stats non plus du coup

enfin je ne sais pas si c'est réellement un bug ou un cas non prévu.

en tout cas un grand merci, je suis arrivé à comprendre quelques
raisonnements de ton programme. :)

--

-=-=-=-=-=-=-=-=-=-=-=-
.:: eric ::.
-=-=-=-=-=-=-=-=-=-=-=-
".:: eric ::." a écrit dans le message de news:
%
merci beaucoup du temps que tu as accordé à mon message et au problème.

je vais télécharger tout ca et regarde comment l'adapter (ca me fera p-e
progresser :) )

Je te tiens informé :)

encore merci

--

-=-=-=-=-=-=-=-=-=-=-=-
.:: eric ::.
-=-=-=-=-=-=-=-=-=-=-=-
"Jean-Marc" a écrit dans le message de
news: 43d7e4ba$0$14131$
".:: eric ::." <-an?i$ a écrit dans le message de
news:
Bonjour,


passionné de ad&d (JdR) je cherche a mettre en place un petit fichier


excel
qui me permettrait de simuler la creation d'un personnage.
le probleme est un peu complexe pour mes connaissance en vba trop


sommaires
pour le mettre en forme.

alors si certains aiment relever des défis ...

Probleme:

Quand un crée un personnage on choisi en premier sa race (parmi les 5
proposées) puis on attribue les caractéristiques

les 6 caractéristiques dont les valeurs vont de 8 (min) à 18 (max)
- str
- dex
- con
- int
- wis
- cha

toutes ces carac sont de base à 8 (minimum hors ajustement racial),
cependant selon la race choisi on bénéficie d'un bonus/malus (5 races)
- humain : tout a 8 (rien ne change)
- elfe : ajustement +2 dex / -2 con
- halfling : ajustement +2 dex / -2 str
- dwarf : ajustement +2 con / -2 cha
- warforged : ajustement +2 con / -2 cha / -2 wis

ces ajustements se font sur la base (important pour la suite)

on dispose de 28 points a repartir dans ces 6 carac. (apres ajustement
racial donc)

et enfin le point "pénible", il existe un tableau de correpondance de


la
valeur du point:
pour passer de 6 à 7 cela coute 1 point sur les 28
pour passer de 7 à 8 cela coute 1 point sur les 28
pour passer de 8 à 9 cela coute 1 point sur les 28
pour passer de 9 à 10 cela coute 1 point sur les 28
pour passer de 10 à 11 cela coute 1 point sur les 28
pour passer de 11 à 12 cela coute 1 point sur les 28
pour passer de 12 à 13 cela coute 1 point sur les 28
pour passer de 13 à 14 cela coute 1 point sur les 28
pour passer de 14 à 15 cela coute 2 points sur les 28
pour passer de 15 à 16 cela coute 2 points sur les 28
pour passer de 16 à 17 cela coute 3 points sur les 28
pour passer de 17 à 18 cela coute 3 points sur les 28 (en gros


pour
passer de 8 à 18 coute 16 points sur 28)


exemple un nain :
- str : 8
- dex : 8
- con : 10 (ici pour passer à 18 cela ne coute que 14)
- int : 8
- wis : 8
- cha : 6 (ici pour passer à 18 cela coute18)

car pour passer à 18 en con il ne devra investir que 14 points,


puisque les
2 sont "raciaux"

difficile de mettre un controle sur :
- ne pas dépasser les 28 pts à répartir
- ne pas descendre en dessous de 8 (sauf si c'est "racial" )
- incrementer de 1 en 1 , puis 2 en 2 et enfin 3 en 3

alors le but serait de faire une feuille excel de creation
cette feuille pourrait avoir cet aspect:

choix race : [x ] (x = 1,2,3,4 ou 5)

nb de point a repartir : [28] (qui change en fonction de la


repartition)

- str : [-] 8 [+] (le chiffre change en fonction si on appuie sur


le "-"
ou le "+")
- dex : [-] 8 [+]
- con : [-] 8 [+]
- int : [-] 8 [+]
- wis : [-] 8 [+]
- cha : [-] 8 [+]


donc merci au petit génie qui saura mettre ca en forme :)



Hello,

ce n'est pas un problème compliqué, c'est juste une question
de structure de données. Ici, c'est assez simple.

Je t'ai fait un petit programme en VB, surement pas difficile
à transformer en VBA. J'ai aussi fait un exécutable autonome,
et un petit screenshot:
http://users.skynet.be/candide/jmn/simuadd/scrshot.JPG


Bref, les sources et l'exécutables sont téléchargeables
ici, au début de la section téléchargements:
http://myjmnhome.dyndns.org/download.htm


Si ca rame trop ou si le serveur est indisponible, on
peut aussi le télécharger ici:
http://users.skynet.be/candide/jmn/simuadd/

Bon amusement :-)

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;







Avatar
Jean-Marc
.:: eric ::. wrote:
ha j'ai trouvé un léger bug :p

quand tu selectionnes une race et que tu reparti les stats tout va bien,
par contre si jamais je change de race "à la volée" le compteur (28) ne
réinitialise pas et les stats non plus du coup

enfin je ne sais pas si c'est réellement un bug ou un cas non prévu.

en tout cas un grand merci, je suis arrivé à comprendre quelques
raisonnements de ton programme. :)



Hello,

merci du feedback. Je n'ai effectivement pas codé le changement de
race à la volée.
Il suffit d'ajouter un call à Init() dans le combo1_change, par
exemple.

--
Jean-marc