Comment se réalise le serpent gourmand, la magie du tableau circulaire

insérer la description de l'image ici

Comment est réalisé le serpent gourmand ? Par exemple, un serpent à 5 nœuds, 1, 2, 3, 4, 5, 1 est la tête, 5 est la queue, les coordonnées des nœuds sont représentées par (x, y), et le serpent doit bouger. Comment x et y changent-ils ? Il est facile de comprendre quand il n'y a pas de virage : si vous marchez tout droit dans le sens horizontal, l'abscisse x+1 de tous les nœuds, si vous allez tout droit dans le sens vertical, l'ordonnée y+1 de tous les nœuds. Un serpent ne peut pas marcher de côté comme un crabe. S'il veut se retourner, les autres nœuds du serpent suivront de près la tête du serpent.

Comment les coordonnées des nœuds du corps du serpent changent-elles lorsque la tête du serpent tourne ? Par exemple, les coordonnées de la position actuelle du serpent à partir de la tête du serpent sont (0,4), (0,3), (0,2), (0,1), (0,0), on utilise un tableau pour stocker ces coordonnées. Le serpent veut tourner à droite et entrer dans le premier quadrant. Comment le nœud se déplace-t-il ? Tout d'abord, les coordonnées du nœud de tête deviennent (1,4), la position d'origine de (0,0) est utilisée par la tête de serpent et les autres positions d'origine sont remplacées par la position suivante à leur tour. Merveilleux!

Je n'ai pas appris à parcourir des tableaux il y a de nombreuses années lorsque je pensais à ce problème. À cette époque, mon idée était que la tête du serpent changeait de direction et enregistrait les coordonnées et la direction du changement de position. Lorsque d'autres nœuds atteignaient cette position, ils changeaient également de direction. Mais cette méthode ne peut que faire plier le serpent. une fois, et tout au plus donner au serpent une forme de L. , le serpent ne peut pas être transformé en forme de S, car lorsque le serpent est en forme de L et que le serpent est tourné vers la rencontre, deux points de retournement sont générés, mais un seul est enregistré, ce qui entraîne un bug.


Nom :
tête, queue, x, y = 0,0,50,60
tête, queue, x, y = 1,1,50,70
tête, queue, x, y = 2,2,50,80
tête ,queue,x,y=3,3,50,90
tête,queue,x,y=4,4,50,100
tête,queue,x,y=5,5,50,110
tête,queue,x,y=6, 6,50,120
tête,queue,x,y=7,7,50,130
tête,queue,x,y=8,8,50,140
tête,queue,x,y=9,9,50,150
tête,queue,x,y= 10,10,50,160
tête,queue,x,y=11,11,50,170
tête,queue,x,y=12,12,50,180
tête,queue,x,y=13,13,50,190
tête,queue,x, y=14,14,50,200
tête, queue,x,y=15,15,50,210
tête,queue,x,y=16,16,50,220
tête,queue,x,y=17,17,50,230
tête,queue, x,y=18,18,50,240
tête,queue,x,y=19,19,50,250
tête,queue,x,y=0,0,50,260

tête, queue, x, y=4,19,150,300
tête,queue,x,y=5,0,160,300
tête,queue,x,y=6,1,170,300
tête,queue,x,y=7,2,180,300
la clé est en bas0
tête,queue ,x,y=8,3,180,-10
tête,queue,x,y=9,4,180,0
tête,queue,x,y=10,5,180,10
tête,queue,x,y=11,6,180,20
tête, queue, x, y = 12,7, 180,30
tête, queue, x, y = 13,8, 180,40
tête, queue, x, y = 14,9, 180,50
tête, queue, x, y = 15,10, 180 ,60
tête, queue, x, y = 16,11, 180,70
tête, queue, x, y = 17,12, 180,80
la clé est à droite2
tête, queue, x, y = 18,13, 190,80
tête, queue, x, y=19,14,200,80
tête,queue,x,y=0,15,210,80
la clé est en bas0
tête,queue,x,y=1,16,210,90
tête,queue,x,y=2,17,210,100
tête, queue, x, y=3,18,210,110
tête, queue,x,y=4,19,210,120
tête, queue,x,y=5,0,210,130
tête, queue,x,y=6,1,210,140
tête, queue,x, y=7,2,210,150
tête,queue,x,y=8,3,210,160
tête,queue,x,y=9,4,210,170
tête,queue,x,y=10,5,210,180
tête,queue,x,y=11,6,210,190
clé est gauche3
tête, queue, x, y = 12,6 200, 190
tête, queue, x, y = 13,7, 190, 190 tête, queue,
x, y = 14,8, 180, 190
tête, queue, x, y = 15,9 170, 190
tête, queue, x,y=16,10,160,190
tête,queue,x,y=17,11,150,190
tête,queue,x,y=18,12,140,190 tête,queue,
x,y=19,13,130,190
tête,queue,x,y=0, 14 120 190

Je suppose que tu aimes

Origine blog.csdn.net/AnalogElectronic/article/details/132502335
conseillé
Classement