Une question importante avant c'est de se poser la question c'est de savoir comment tu vas représenter des territoires de formes non géométriques.
Pour une forme géométrique, tu peux utiliser des équations. Par exemple, X>38 c'est la Corée du Nord, X<= 38 c'est la Corée du Sud. Les deux pays sont séparés par le parrallèe de 38° Nord. Dans ce cas là ça tombe bien .
Mais si tu as des formes complexes, une solution c'est d'utiliser un masque de territoire, C'est à dire que chaque "case" ou "lieux" à une propriété qui identifie son territoire.
Exemple graphique :
000000022222211111111111
000002222222222111111111
000000022222221111111111
000000022222222211111111
000000022220004440000000
003333333000000444400000
003333330000000004444000
003333300000000000440440
000000000000000000000000
C'est très laid, j'ai essayé de faire grossièrement:
0 = Mer / Ocean
1 = Allemagne/ Autriche / Suisse
2 = France
3 = Péninsule Ibérique
4 = Italie
A partir du moment ou tu as une représentation comme celle ci dans ta base.
tu peux définir un tableau ou une table frontière:
frontiere[3][2] = "ouverte";
frontiere[2][1] = "fermée";
Lors d'un déplacement/ changement de territoire, tu vérifies si la case de départ et d'arrivée sont dans le meme territoire : si c'est le cas pas de test, sinon vérifier l'état de frontière.
Pour une forme géométrique, tu peux utiliser des équations. Par exemple, X>38 c'est la Corée du Nord, X<= 38 c'est la Corée du Sud. Les deux pays sont séparés par le parrallèe de 38° Nord. Dans ce cas là ça tombe bien .
Mais si tu as des formes complexes, une solution c'est d'utiliser un masque de territoire, C'est à dire que chaque "case" ou "lieux" à une propriété qui identifie son territoire.
Exemple graphique :
000000022222211111111111
000002222222222111111111
000000022222221111111111
000000022222222211111111
000000022220004440000000
003333333000000444400000
003333330000000004444000
003333300000000000440440
000000000000000000000000
C'est très laid, j'ai essayé de faire grossièrement:
0 = Mer / Ocean
1 = Allemagne/ Autriche / Suisse
2 = France
3 = Péninsule Ibérique
4 = Italie
A partir du moment ou tu as une représentation comme celle ci dans ta base.
tu peux définir un tableau ou une table frontière:
frontiere[3][2] = "ouverte";
frontiere[2][1] = "fermée";
Lors d'un déplacement/ changement de territoire, tu vérifies si la case de départ et d'arrivée sont dans le meme territoire : si c'est le cas pas de test, sinon vérifier l'état de frontière.