xamarin - Delay a single method for snake game c# -


i using swingame develop snake game. method moveforward handles movement of snake. problem have unable delay particular method snake moving @ constant slow speed.

here codes in main:

using system; using swingamesdk; using system.threading.tasks;   namespace mygame {     public class gamemain     {      public static void main ()     {          //open game window         swingame.opengraphicswindow ("gamemain", 800, 600);         swingame.showswingamesplashscreen ();          snake snake = new snake ();           //run game loop         while (false == swingame.windowcloserequested ()) {             //fetch next batch of ui interaction             swingame.processevents ();              //clear screen , draw framerate             swingame.clearscreen (color.white);              swingame.drawframerate (0, 0);              // has go after clearscreen , not before refreshscreen              snake.draw ();              task.delay (1000).continuewith (t => snake.moveforward ());               snake.handlesnakeinput ();              //draw onto screen             swingame.refreshscreen (60);           }     } } } 

as can see codes, game runs on while loop. able delay method using "task.delay (1000).continuewith (t => snake.moveforward ());" on first loop. when debug, snake delays on first loop zoom pasts rest of loops.

how can implement code @ every loop method delayed snake can move @ constant speed?

thanks in advance.

you're creating delayed task on every iteration of loop. you're not delaying loop you're delaying execution of moveforward method, loop still runs @ maximum speed. causes after initial delay tasks executed @ same speed loop run. wait task complete use await.

if want snake move @ interval why not use timer?

timer timer = new timer(1000); timer.autoreset = true; timer.elapsed += ( sender, e ) => snake.moveforward(); timer.start(); 

Comments

Popular posts from this blog

php - How to add and update images or image url in Volusion using Volusion API -

javascript - jQuery UI Splitter/Resizable for unlimited amount of columns -

javascript - IE9 error '$'is not defined -