Function Snake - WPS Office
Function Snake - WPS Office
close all
%OPTIONS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
axis_limit= 15;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%555555555
d=0;
size_snake=1;
draw_snake(snake,food,size_snake,axis_limit)
figure('KeyPressFcn',@my_callback);
switch event.Character
case 'q'
ex=1;
case 30 % arrow direction
if(d~=2)
d = 1; %up d=1
end
case 31
if(d~=1)
d = 2; %down d=2
end
case 29
if(d~=4)
d = 3; %right d=3
end
case 28
if(d~=3)
d = 4; %left d=4
end
end
end
size_snake=size(snake);
size_snake=size_snake(1)
for l=size_snake+ate:-1:2
snake(l,:)=snake(l-1,:);
end
case 2
case 3
case 4
end
if snake(1,1)==food(1) && snake(1,2)==food(2)%if the snake and food are in the same position
ate=1;
else
ate=0;
end
bounds
if bounds==1
snake(1,:)
ex=1
ex=1
ex=1
ex=1
end
else
snake=snake-((snake>axis_limit).*(axis_limit+1));
snake=snake+((snake<0).*(axis_limit+1));
end
if (sum(snake(:, 1) ==snake(1, 1) & snake(:, 2) == snake(1, 2) )>1); %if snake hits itself
break
end
end
close all
end
function draw_snake(snake,food,size_snake,axis_limit)
for p = 1:size_snake
plot(snake(p,1),snake(p,2), 'wo')
hold on
end
plot(food(1,1),food(1,2), 'rs')%creates the vectors for the food and snake and plots them
hold off
end