heel erg bedankt voor uw hulp. Echter heb ik er problemen mee om het te begrijpen. Ik heb de code verwerkt in mijn code, maar ik denk dat ik daar een foutje bij heb gemaakt en het niet in de goede plek heb geplaatst. Waar moeten de stukken code?
Ook heb ik gekeken naar de tutorial die u mij had doorgestuurd, echter snap ik daar ook maar weinig van. Als u dat zou willen doen zou ik wel wat extra uitleg kunnen gebruiken daarbij, want ik wil het heel graag allemaal leren.
update:
ik heb de code nu zo dat hij wat doet, alleen verwijdert hij de gehele slang. Wat doe ik verkeerd?
update 2:
ik ben nog wat verder gegaan en hij doet nu wat de code zou moeten doen, behalve dat hij het blokje voor de staart steeds verwijderd. Ik vermoed dat dat aan de global.length en het in eerste instantie aanmaken van de slang ligt, maar ik weet nu niet zo goed hoe ik dit moet oplossen. Ik zet al mijn code die te maken hebben met o_Snake hieronder. Hulp is heel erg gewaardeerd.
o_Controller create event:
global.dir = 3;
global.length = 3;
randomize();
X = room_width/25;
Y = room_height/25;
XX = X*(irandom(24));
YY = Y*(irandom(24));
possibleX = XX+16;
possibleY = YY+16;
while !place_empty(possibleX,possibleY)
{
XX = X*(irandom(24));
YY = Y*(irandom(24));
possibleX = XX+16;
possibleY = YY+16;
}
i = instance_create_layer(possibleX,possibleY,"Layer1",o_Snake);
i.aanmaaktijd = current_time;
o_Snake create event
/// @description Insert description here
// You can write your code in this editor
currentID = 0;
aanmaaktijd = current_time;
alarm[0] =15;
move_snap(16,16);
o_Snake alarm[0] event
/// @description Insert description here
// You can write your code in this editor
//id0 = head
if (currentID == 0)
// direction
// 0 = right
// 1 = left
// 2 = up
// 3 = down
{
currentID +=1;
alarm[0] = 15;
switch(global.dir)
{
case 0:
i = instance_create_layer(x + 32, y, "Layer1", o_Snake);
i.aanmaaktijd = current_time;
break;
case 1:
i = instance_create_layer(x - 32, y, "Layer1", o_Snake);
i.aanmaaktijd = current_time;
break;
case 2:
i = instance_create_layer(x, y - 32, "Layer1", o_Snake);
i.aanmaaktijd = current_time;
break;
case 3:
i = instance_create_layer(x, y + 32, "Layer1", o_Snake);
i.aanmaaktijd = current_time;
break;
}
}
else if (currentID == (global.length -1))
{
instance_destroy();
}
else
{
currentID +=1;
alarm[0] = 15;
}
o_Snake key_press (delete) event
/// @description Insert description here
// You can write your code in this editor
var oudste_instantie_id = 0;
var oudste_instantie_tijd = current_time;
with(o_Snake.i) // doorzoek alle instanties van obj_snake
{
// Bekijk of de huidige instantie een aanmaaktijd heeft die eerder is dan degene die je toe nu toe hebt gevonden
if aanmaaktijd < oudste_instantie_tijd
{
// Zo ja, dan is dit nu de oudste instantie
oudste_instantie_id = id;
oudste_instantie_tijd = aanmaaktijd;
}
}
// We willen de oudste instantie verwijderen
with(oudste_instantie_id)
{
instance_destroy();
}
//global.length -=1;