Bonjour
J'ai un test un peu compliqué et je ne m'en sors pas sur cette composition d'équipe.
$age1 = 15 ; Age joueur 1
$age2 = 15
$age3 = 14
$age4 = 50
$ind1 = 2 ; Indice série Joueur 1
$ind2 = 4
$ind3 = 4
$ind4 = 1
$indValeur1 = 5 ; indice valeur Joueur 1
$indValeur2 = 5
$indValeur3 = 5
$indvaleur4 = 96
$indvaleurTotal = indValeur1 +indValeur2+indValeur3+indValeur4
If $indValeurTotal > 45 then
TEST a écrire
then
$Equipe ="ok"
else
$Equipe""nok"
endif
Exposé du test à faire :
L'équipe sera OK (si son $indValeurTotal > 45) et si elle est composée d'un joueur qui a un indice série = 1 ($ind4=1) et s’il est accompagné de 3 joueurs dont leur indice série est > 2 et qui n'ont pas 16 ans.
Dans cet exemple, l'équipe proposée est NON OK puisque un des 3 joueurs est série 2. ($Ind2=2)
PS : Le joueur 1ère série peut être l'un des 4 joueurs (pas forcément le 4ème)....
[..] Expression régulière ?
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Expression régulière ?
Je vois pas ce que les regex viennent faire là-dedans
C'est du traitement d'array. A vue de nez (et sans traitement d'erreur) :
C'est du traitement d'array. A vue de nez (et sans traitement d'erreur) :
#include <Array.au3>
Local $a[4][3] = [[15, 2, 5], [15, 4, 5], [14, 4, 5], [50, 1, 96]]
;_ArrayDisplay($a)
$ok = 1
$v = 0
For $i = 0 to UBound($a)-1
$v += $a[$i][2]
Next
If $v < 45 Then $ok = 0
For $i = 0 to UBound($a)-1
If $a[$i][1] = 1 Then
_ArrayDelete($a, $i)
Exitloop
EndIf
Next
If UBound($a) = 4 Then $ok = 0
;_ArrayDisplay($a)
For $i = 0 to UBound($a)-1
If $a[$i][1] < 3 OR $a[$i][0] > 16 Then
$ok = 0
Exitloop
EndIf
Next
Msgbox(0,"", $ok)
Local $a[4][3] = [[15, 2, 5], [15, 4, 5], [14, 4, 5], [50, 1, 96]]
;_ArrayDisplay($a)
$ok = 1
$v = 0
For $i = 0 to UBound($a)-1
$v += $a[$i][2]
Next
If $v < 45 Then $ok = 0
For $i = 0 to UBound($a)-1
If $a[$i][1] = 1 Then
_ArrayDelete($a, $i)
Exitloop
EndIf
Next
If UBound($a) = 4 Then $ok = 0
;_ArrayDisplay($a)
For $i = 0 to UBound($a)-1
If $a[$i][1] < 3 OR $a[$i][0] > 16 Then
$ok = 0
Exitloop
EndIf
Next
Msgbox(0,"", $ok)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- Yle
- Niveau 5
- Messages : 171
- Enregistré le : mar. 21 avr. 2009 17:22
- Localisation : La NORMANDIE -76
- Status : Hors ligne
Re: [..] Expression régulière ?
Merci , je prends.
Bonne soirée
Bonne soirée