|
|
[color=rgba(0, 0, 0, 0.85)][color=var(--color-text-primary)][size=1.25em][backcolor=var(--chat-bg-color,#fff)][color=var(--code-header-icon-color)][color=var(--code-header-text-color)]j
[color=var(--code-text_v3)]}
[backcolor=var(--chat-bg-color,#fff)][color=var(--code-header-icon-color)][color=var(--code-header-text-color)]javascript
[color=var(--code-header-icon-color)]运行
[color=var(--code-doc_v3)]// 4. 添加新蛇头 snake[color=var(--code-text_v3)].[color=var(--code-function_v3)]unshift[color=var(--code-text_v3)](head[color=var(--code-text_v3)])[color=var(--code-text_v3)]; [color=var(--code-doc_v3)]// 5. 吃食物逻辑 if [color=var(--code-text_v3)](head[color=var(--code-text_v3)].x [color=var(--code-variable_v3) !important]=== food[color=var(--code-text_v3)].x [color=var(--code-variable_v3) !important]&& head[color=var(--code-text_v3)].y [color=var(--code-variable_v3) !important]=== food[color=var(--code-text_v3)].y[color=var(--code-text_v3)]) [color=var(--code-text_v3)]{ score[color=var(--code-variable_v3) !important]++[color=var(--code-text_v3)]; [color=var(--code-function_v3)]generateFood[color=var(--code-text_v3)]([color=var(--code-text_v3)])[color=var(--code-text_v3)]; [color=var(--code-doc_v3)]// 注意:generateFood需要避免生成在蛇身上 [color=var(--code-text_v3)]} else [color=var(--code-text_v3)]{ snake[color=var(--code-text_v3)].[color=var(--code-function_v3)]pop[color=var(--code-text_v3)]([color=var(--code-text_v3)])[color=var(--code-text_v3)]; [color=var(--code-doc_v3)]// 没吃食物则删除蛇尾 [color=var(--code-text_v3)]}[color=var(--code-text_v3)]}[color=var(--code-doc_v3)]// 辅助函数:生成食物(避免食物出现在蛇身上)function [color=var(--code-function_v3)]generateFood[color=var(--code-text_v3)]([color=var(--code-text_v3)]) [color=var(--code-text_v3)]{ let newFood[color=var(--code-text_v3)]; [color=var(--code-doc_v3)]// 循环生成,直到食物位置不在蛇身上 do [color=var(--code-text_v3)]{ newFood [color=var(--code-variable_v3) !important]= [color=var(--code-text_v3)]{ x[color=var(--code-variable_v3) !important]: [color=var(--code-variable_v3)]Math[color=var(--code-text_v3)].[color=var(--code-function_v3)]floor[color=var(--code-text_v3)]([color=var(--code-variable_v3)]Math[color=var(--code-text_v3)].[color=var(--code-function_v3)]random[color=var(--code-text_v3)]([color=var(--code-text_v3)]) [color=var(--code-variable_v3) !important]* gridSize[color=var(--code-text_v3)])[color=var(--code-text_v3)], y[color=var(--code-variable_v3) !important]: [color=var(--code-variable_v3)]Math[color=var(--code-text_v3)].[color=var(--code-function_v3)]floor[color=var(--code-text_v3)]([color=var(--code-variable_v3)]Math[color=var(--code-text_v3)].[color=var(--code-function_v3)]random[color=var(--code-text_v3)]([color=var(--code-text_v3)]) [color=var(--code-variable_v3) !important]* gridSize[color=var(--code-text_v3)]) [color=var(--code-text_v3)]}[color=var(--code-text_v3)]; [color=var(--code-text_v3)]} while [color=var(--code-text_v3)](snake[color=var(--code-text_v3)].[color=var(--code-function_v3)]some[color=var(--code-text_v3)]([color=var(--code-parameter_v3)]segment [color=var(--code-variable_v3) !important]=> segment[color=var(--code-text_v3)].x [color=var(--code-variable_v3) !important]=== newFood[color=var(--code-text_v3)].x [color=var(--code-variable_v3) !important]&& segment[color=var(--code-text_v3)].y [color=var(--code-variable_v3) !important]=== newFood[color=var(--code-text_v3)].y[color=var(--code-text_v3)])[color=var(--code-text_v3)])[color=var(--code-text_v3)]; food [color=var(--code-variable_v3) !important]= newFood[color=var(--code-text_v3)];[color=var(--code-text_v3)]}
[color=rgba(0, 0, 0, 0.85)]
|
|