Le fil d'actu GC
Accéder au site
Accéder au site
Le Deal du moment : -16%
Friteuse sans huile NINJA Foodi Dual Zone 7,6 L 2400W ...
Voir le deal
135.01 €

Voir le sujet précédentAller en basVoir le sujet suivant
Exalight
Exalight
Heroes never die
4 4 Skyline Generator - Layer & Sun update - Page 2 StatutForum2 Skyline Generator - Layer & Sun update - Page 2 Bar_150_3
Messages : 11441

Bon boulot !

J'ai un peu regardé ton code :aie:

Quelques retours pour t'améliorer

Code:
if (seedBox.value.length >10){
 seedBox.value=seedBox.value.substr(0,15);
 }
 seed=seedBox.value;
Tu simplifies :
variable = condition ? true : false;
==>
seed = seedBox.value.length > 10 ? seedBox.value.substr(0,15) : seedBox.value;

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

Code:
function drawBuilding(height,width,initX,color,ctx,top){

 drawRectangle(ctx,initX,450,width,-height,color);

 //Dessin des toitures
 if (top=="ronde"){
 drawRoundRoof(ctx,initX,height,width);
 }
 else if (top=="triangle"){
 x=[initX,initX+width/2,initX+width];
 y=[451-height,451-height-(1/width*450),451-height];
 drawPolygone(ctx,x,y,color)
 }
 else if (top=="mix"){
 if (height%5<2){ //Toiture plate
 if (height>150){ //Ajout d'une antenne
 drawRectangle(ctx,initX+(width/2)-1,451-height,2,-1/width*450,color);
 }
 }
 else if (height%5<4){
 x=[initX,initX+width/2,initX+width];
 y=[451-height,451-height-(1/width*450),451-height];
 drawPolygone(ctx,x,y,color)
 }
 else if (height<200 && height%2<1){
 drawRoundRoof(ctx,initX,height,width);
 }
 else if (height<200 && height%2<2){
 x=[initX,initX+width/6,initX+width/2,initX+width/6*5,initX+width];
 y=[451-height,451-height-(1/width*300),451-height-(1/width*450),451-height-(1/width*300),451-height];
 drawPolygone(ctx,x,y,color);
 }
 }
 else if (top=="plate"){
 if (height%5<2){ //Toiture plate
 if (height>150){ //Ajout d'une antenne
 drawRectangle(ctx,initX+(width/2)-1,451-height,2,-1/width*450,color);
 }
 }
 }
 else if (top=="paris"){
 x=[initX,initX+width/6,initX+width/2,initX+width/6*5,initX+width];
 y=[451-height,451-height-(1/width*300),451-height-(1/width*450),451-height-(1/width*300),451-height];
 drawPolygone(ctx,x,y,color);
 }
 
 }

Fais un switch(type) au lieu de if..else..if.else....
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/switch

Code:
seed.length==1
seed.length === 1 (il vaut mieux)

Code:
if(sky=="none")
Pourquoi tu compares sky à un string 'none' ?
Si tu veux savoir si sky existe, tu fais
Code:
if (sky)..
et l'inverse, si tu veux vérifier que sky n'existe pas:
Code:
if(!sky)...

Code:
if (height%5<2){ //Toiture plate
 if (height>150){ //Ajout d'une antenne

if (height%5<2 && height> 150)....



Toi là ! Oui, toi Invité ! Tu as posté 107 messages sur ce forum, mais arrête de flooder, viens sur la Chatbox !

●2006 - 2018●
vallamir
vallamir
Président OCGC
Skyline Generator - Layer & Sun update - Page 2 7 Skyline Generator - Layer & Sun update - Page 2 8 Skyline Generator - Layer & Sun update - Page 2 6 Skyline Generator - Layer & Sun update - Page 2 Trophee_bronze_ico Skyline Generator - Layer & Sun update - Page 2 Bar_150_3
Messages : 14318

https://www.vallamir-co.fr
Salut Exa ! Merci beaucoup pour ces suggestions d'amélioration !!
J'avoue que je n'avais pas pensé au switch case ... je sais que ça existe mais ça m'est pas revenu sur le coup (j'ai plus l'habitude de développé sur python ou ça n'existe pas et où il faut enchainer les if, elif, ..., else.

Pareil pour les raccourcis sur les if ^^

Merci beaucoup en tous, je pense que je vais pouvoir gagner un peu en clarté Wink
vallamir
vallamir
Président OCGC
Skyline Generator - Layer & Sun update - Page 2 7 Skyline Generator - Layer & Sun update - Page 2 8 Skyline Generator - Layer & Sun update - Page 2 6 Skyline Generator - Layer & Sun update - Page 2 Trophee_bronze_ico Skyline Generator - Layer & Sun update - Page 2 Bar_150_3
Messages : 14318

https://www.vallamir-co.fr
Une petite vidéo sur Skyline Generator !

galyie
galyie
Membre Émérite
Membre de l Académie de l Education Skyline Generator - Layer & Sun update - Page 2 1 Skyline Generator - Layer & Sun update - Page 2 4 Skyline Generator - Layer & Sun update - Page 2 Bar_150_3
Messages : 3167

Mine de rien je trouve cela inspirant quand on crée une ville de pouvoir imiter ces skylines.


Elysa Swan Margaret Ière, Impératrice de l'Empire Carnackien
Contenu sponsorisé
Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum