Я пытаюсь воссоздать игру со змеями, где змея ест пищу, а ее тело увеличивается на 1 единицу. Однако я несколько раз пытался увеличить длину тела, но ничего не получалось так, как я хочу. Я попытался создать еще одну породу черепах, называемых «хвостами», и вывести ее за змею. Но так как я использую тиков, хвосты появляются очень быстро, и они не создают змеиного эффекта. Вместо этого хвосты собираются вместе на одном пятне позади змеи.
Я пытался раскрасить пятна, на которых была змея, но я не знал, как раскрасить только определенное количество пятен на основе съеденной пищи и постепенно добавлять на нее. Итак, теперь я попробовал использовать хвосты породы, но это не создает форму змеи.
Вот мой код:
breed [snakes snake]
breed [foods food]
breed [tails tail]
tails-own [age]
to game2-setup
create-snakes 1 [
set shape "snake"
set color green
]
create-foods 10 [
setxy random-xcor random-ycor
if [pcolor] of patch-here != black [move-to one-of patches with [pcolor =
black]]
set shape "plant"
set color red]
end
to game2-go
;moves the snake
ask snakes [
if ticks mod 350 = 0 [fd 1]
]
;to kill snake if it bumps into a wall/itself
ask snakes
[if [pcolor] of patch-ahead 1 != black [
user-message "Game over" ]
]
;if the snake and food is on the same patch the food is eaten
ask patches [ if any? snakes-here and any? foods-here
[ask foods-here [die]
set points points + 1
set energy energy + 1
]]
;grows the tail of the turtle based on the amount of food eaten
ask tails
[set age age + 1
if age = 10 [die]
]
;regrows the food
if count foods < 10
[create-foods 1
[setxy random-xcor random-ycor
if [pcolor] of patch-here != black [move-to one-of patches with [pcolor =
black]]
set shape "plant"
set color red]
]
tick
end
Я ожидаю, что хвосты змей тянутся за змеиной головой и увеличат количество съеденной пищи.