Auteur Sujet: Batiments sur plusieurs cases  (Lu 4910 fois)

Hors ligne SynthoX

  • Néophyte
  • *
  • Messages: 15
  • Karma: +0/-0
Batiments sur plusieurs cases
« le: 25 janvier 2013 à 20:18:55 »
Bonjour.

je pense avoir adopté le plugin, mais je me trouve avec un petit problème, je tente bien de le résoudre seul mais j'ai du mal.

J'ai donc une map qui se construit et j'attaque désormais les bâtiments sur plusieurs cases, en 4 tuiles pour avoir un carré par exemple :p

j'ai lu ici et là sur le forum que la définition de la Zone pouvait bloquer, mais oui ok, c'est possible, mais si on veut ajouter le bâtiment à coté d'un autre, bah ça l'écrabouille quand même du faite que la souris se trouve sur un case libre... et même si on bloque la zone.

une technique que j'aurais loupé pour détecter les cases qui sont prises ?

C'est con il me manque plus que ça pour finaliser l'utilisation du plugin comme je le désire !, je pense avoir compris tout le reste  ;D

Pour voir le bug et tester > http://demotest.activcities.fr
login: demo
pass: demotest2013

y 'a des warning qui s'affichent à la connexion, c'est normal.

Une fois la map affichée, cliquez ajouter bâtiment > ferme animalière (en jaune/marron)

Une idée ?
Merci d'avance :)

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Batiments sur plusieurs cases
« Réponse #1 le: 25 janvier 2013 à 20:31:00 »
J'ai pas tout pigé le problème.
Je te propose de m'en dire d'avantage par Skype de vive voix si tu veux histoire de résoudre ça plus rapidement.
Par contre, pas certain que je soit dispo ce WE. Au pire, à partir de lundi matin, 9h00
Mon Skype : prelude-rien-de-tel

Hors ligne SynthoX

  • Néophyte
  • *
  • Messages: 15
  • Karma: +0/-0
Re : Batiments sur plusieurs cases
« Réponse #2 le: 25 janvier 2013 à 20:36:51 »
Salut prélude.

je n'ai pas skype.

Ben c'est simple, si tu essai de rajouter le bâtiment qui fait 4 tuiles, a coté d'un autre, ça l'écrabouille... ça n'affiche pas le cursorOff.

Je vais traiter le problème coté php sans prob, mais coté map et curseur, je ne vois pas comment faire, c'est pour éviter que l'utilisateur se prenne un message d'erreur pour rien.

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Batiments sur plusieurs cases
« Réponse #3 le: 25 janvier 2013 à 20:41:12 »
Je crois comprendre  ;D
En fait, il faudrait pouvoir définir dynamiquement le paramètre "zone" qui permet de dire si une case est accessible ou non, mais, actuellement, seulement au chargement de la map.
C'est cela ?
Si c'est ça, je tente la modification dans les jours qui viennent.

En tout cas, le résultat est beau, bravo !

Hors ligne SynthoX

  • Néophyte
  • *
  • Messages: 15
  • Karma: +0/-0
Re : Batiments sur plusieurs cases
« Réponse #4 le: 25 janvier 2013 à 20:53:36 »
Oui voila c'est ça ^^

Je pense que pour cela il faut tripoter le plugin, voir peut-etre rajouter des index sur les bâtiments ?

genre x-n(cases) et y -n(cases)

Pour le résultat, et bien merci, je pense que ton plugin est adopté pour ma part :)

Les graphismes sont temporaire :), mais je m'amuse bien ^^

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Batiments sur plusieurs cases
« Réponse #5 le: 25 janvier 2013 à 20:55:27 »
Je m'en occupe rapidement et je te tiens z'o courant.

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Batiments sur plusieurs cases
« Réponse #6 le: 26 janvier 2013 à 12:37:16 »
La nouvelle version 1.2 est en ligne
Au menu :
 - ajout de la fonction changeState(x, y, state) qui permet donc de changer l'état d'une case
 - optimisation des id : shap_y_x devient s_y_x (idem pour obj_, bat_, et case_)

Voilà. Merci pour tes suggestions ;)
« Modifié: 29 janvier 2013 à 12:52:01 par Prélude »

Hors ligne SynthoX

  • Néophyte
  • *
  • Messages: 15
  • Karma: +0/-0
Re : Batiments sur plusieurs cases
« Réponse #7 le: 27 janvier 2013 à 08:30:18 »
Super, je regarde tout ça ^^ mici

Hors ligne SynthoX

  • Néophyte
  • *
  • Messages: 15
  • Karma: +0/-0
Re : Batiments sur plusieurs cases
« Réponse #8 le: 28 janvier 2013 à 10:35:34 »
Salut prélude ^^

Bon, je viens de regarder tout ça, mais en faite ce n'est pas ça qu'il faut. Je m'explique.

Donc pour le cas de ma ferme à 4 cases, comme on le test sur la map, il suffit que la case soit "vide" pour que ça valide l'emplacement 'ok', ce qui a pour effet "d'écrabouiller" ce qui est autour si il y a des cases occupées.

En faite ta fonction je la trouve super utile sans souci, dans le cas que l'on veuille poser le bâtiment (comme j'ai fait en ajoutant le curseur "achat") afin de ne pas écraser les cases en cours de "validation", donc impec !.

Mais ce qui manque, c'est une fonction de test pour checker justement les case alentours, un genre de getState à l'inverse de changeState.

Nous pourrions après, par exemple procéder comme suit (en gros hein):

function build(type=0)
{
var test_zone = true;
// bâtiment qui prendrait 4 cases
swith (type){
// pour un batiment a 4 cases simples
case 1: if ( getState(x-1,y) = 0 && getState(x-1,y-1) = 0 && getState(x,y-1) = 0 {
test_zone = false; } else {test_zone = true);
break;
// pour un batiment a 3 cases en L
case 2: if ( getState(x-1,y) = 0 && getState(x,y-1) = 0 {
test_zone = false; } else {test_zone = true);
break;
}
// en faite c'est comme on veut le truc, c'est dynamique !, on peut tester du carré du L, du H ou la forme qu'on veut !
reste function....

}

Comme ça du coup on peut tester le truc comme on a envie :) bien sur apres a nous de changer le curseur comme il se doit.

Tu vois mieux ? possible ça ? (désolé de torturer :p)
++

EDIT: et pourquoi pas à y être, de pouvoir tester la map et le type de tuile (par son ID), par exemple, je veux construire une centrale hydroélectrique que sur de l'eau, ça serait super génial ça !!
« Modifié: 28 janvier 2013 à 11:02:45 par SynthoX »

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Batiments sur plusieurs cases
« Réponse #9 le: 28 janvier 2013 à 14:08:04 »
Donc, tu souhaites 2 nouvelles fonctions :
 - getState(x, y) qui renvoie l'état d'une case
 - getMap(x, y) qui renvoie le contenu de la map

C'est bien cela ?

Hors ligne SynthoX

  • Néophyte
  • *
  • Messages: 15
  • Karma: +0/-0
Re : Batiments sur plusieurs cases
« Réponse #10 le: 28 janvier 2013 à 16:47:06 »
Ah ouais si c'est possible c'est le pied ça ^^

Merci ^^ c'est cool !

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Batiments sur plusieurs cases
« Réponse #11 le: 28 janvier 2013 à 18:15:04 »
Ok, je rajoute ça très rapidement (pas trop non plus...)
Par contre, il faut garder à l'esprit que toutes les vérifications doivent se faire côté serveur en Php !
Sinon, le joueur peut faire n'importe quoi et le jeu devient piratable.
Mais bon, je suppose que tu le sais, je le fais savoir pour mes très cher tête blondes qui démarreraient sans se poser trop de question ;)

Hors ligne SynthoX

  • Néophyte
  • *
  • Messages: 15
  • Karma: +0/-0
Re : Batiments sur plusieurs cases
« Réponse #12 le: 28 janvier 2013 à 19:43:33 »
Super !!!

Bien sur pour la vérif PHP :)

Merci Prélude :) excellent travail !


Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Batiments sur plusieurs cases
« Réponse #13 le: 29 janvier 2013 à 15:50:09 »
Et bin voilà, c'est en ligne.

Hors ligne SynthoX

  • Néophyte
  • *
  • Messages: 15
  • Karma: +0/-0
Re : Batiments sur plusieurs cases
« Réponse #14 le: 29 janvier 2013 à 20:15:53 »
Geniallll !! Merci prédule pour les fonctions, et merci pour la dédicace  ;)

Je test et je met au point mon truc et je te dis !  ;D

Et aussi merci pour ta réactivité :)
« Modifié: 29 janvier 2013 à 20:21:26 par SynthoX »