Ecrire une fonction Javascript...

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, j'ai quelques problèmes avec un petit jeu, peut-être quelqu'un pourra-t-il m'aidé.


Les cases marrons représentent places occupés par des tonneaux pleins (donc des cases non disponibles)

Les cases blanches sont les places libres.

Les cases marqués d’un d sont des cases déjà occupés par des nains.


Le but étant de répartir les nains à l’équilibre entre l’avant (rangs 1 & 2) et l’arrière de la barge (rangs 3 & 4). On assume que les tonneau ne pèsent rien.

Ecrire une fonction qui, prenant en paramètres d’entrée la liste des cases occupés par des tonneau, et la liste des cases déjà occupés par des nains, retourne le nombre de nains supplémentaires que l’on peut rajouter dans la barge.
Si on ne peut rajouter aucun nains, la fonction renvoie 0.

En prenant l’exemple plus haut, voici le résultat attendue :


La fonction doit donc retourner 3 :

il y a déjà un nain à l’arrière

il n’y a que 2 places disponibles à l’avant

nous ne pouvons donc rajouter que 3 nains supplémentaires dans la barge (arbitrairement placés en vert dans la barge), car bien qu’il y ait 3 places disponibles à l’arrière, il n’y a que 2 places disponible à l’avant (et il doit y avoir autant de nains à l’avant qu’à l’arrière).


Pour la définition des places occupés par les tonneaux, ou les nains, nous utiliserons un tableau d’objets, correspondant au coordonnées de la case dans la barge.
{x:0,y:0} étant la première case de la première ligne, {x:0,y:1} étant la deuxième case de la première ligne.
Voici pour aide une structure initiale en javascript :

// déclaration des variables
var barrels = [
{x:0,y:1}, {x:1,y:0}, {x:3,y:1}
];
var dwarfs = [
{x:2,y:1}
];

// fonction qui retourne le nombre de nains que l’on peut ajouter
var test = function( barrels, dwarfs ) {
var results = 0;
// ton code ici
return results;
};

// on exécute la fonction
test( barrels, dwarfs );

Merci d'avance
A voir également:

2 réponses

jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Bonjour,

Pour l'instant je ne vois qu'un énoncé ( d'exercice ?? ).... mais pas vraiment de question ...
(pour rappel : https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/ )

Donc.. qu'as tu déjà essayé de coder ?
Sur quoi bloques tu exactement ?

NB : Pour poster du code sur le forum ... il faut utiliser les balises de code



1
Utilisateur anonyme
 
Bonjour jordane45,

Désolé pour les balises code j'avais oublié.
J'aurai juste besoin d’éclaircissement sur un ou deux points.

// déclaration des variables
var barrels = [
{x:0,y:1}, {x:1,y:0}, {x:3,y:1}
];
var dwarfs = [
{x:2,y:1}
];

// fonction qui retourne le nombre de nains que l’on peut ajouter
var test = function( barrels, dwarfs ) {
var results = 0;
// ton code ici
return results;
};

// on exécute la fonction
test( barrels, dwarfs );


Pourquoi le résultat retourné doit être 3 et pas 4 vu qu'il y a 4 espaces blancs ? (3 marrons remplis par des tonneaux et 1 case d remplis par un nain soit 4 cases remplies sur 8)
0
jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Ce n'est pas une question de code .... c'une question relative à la compréhension de l'énoncé...

Le but étant de répartir les nains à l’équilibre entre l’avant (rangs 1 & 2) et l’arrière de la barge (rangs 3 & 4). On assume que les tonneau ne pèsent rien.

[...]

il doit y avoir autant de nains à l’avant qu’à l’arrière).


Donc :





.
Cordialement, 
Jordane                                                                 
0
Utilisateur anonyme
 
Lol désolé j'avais pas compris

Merci
0