Re: système Sid Meyer like (Civilization)

Posté par Redstar le 8/4/2020 16:57:48
Citation :

Quand tu génères ta carte, j'imagine que tu as un tableau...


Je n'en suis pas sûr. Pour générer mes tuiles, j'ai construit mon script comme ça:

from bge import logic as gl
from random import choice

scene = gl.getCurrentScene()
obj = gl.getCurrentController().owner

case_added = 0
terrain_size = 73

cases_random = ['tuile_eau', 'tuile_terre', 'tuile_montagne']
list_sp_jou = [] # un empty s'apelle "sp_jou", c'est là ou sont généré les tuiles

def fonct1(val_max, val_depart_interval):
    if obj.worldPosition[0] > val_max:
        obj.worldPosition[0] = val_depart_interval
        obj.worldPosition[1] -= 0.600001
        obj['intervalle'] = not obj['intervalle']
    else:
        obj.worldPosition[0] += 0.692820

while case_added != terrain_size:
    case_to_add = choice(cases_random)
    case = scene.addObject(case_to_add, obj, 0)
    case['id'] = case_added
    case_added += 1
    
    if case['type'] == 'eau':
        list_sp_jou.append(case['id']) # toute les cases d'eau sont ajoutées dans une liste pour placer aléatoirement le bateau sur l'une de ses cases de cette liste
    
    if obj['intervalle']:
        fonct1(3.4585, -3.1232) # rangee 2, 4, 6
        case['decale'] = True
    else:
        fonct1(3, -3.4696) # rangee 1, 3, 5
        case['decale'] = False


Je reviens au script pour le pathfinding, devrais-je ajouter les tuiles dans une liste, qui ferai office de "maze" et quelles informations ?

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=3&topic_id=49623&post_id=582039