Advertisement
Zavada

Drawing Alg. Error

Dec 26th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. var road = ['=',' ','+','@','+',' ','='];
  2.  
  3. var xPos = 2;
  4. var yPos = 2;
  5.  
  6. IO.exec("TITLE Zavada\'s Graphic Drawing Algorithm");
  7. print "Starting loop";
  8.  
  9.  
  10.  
  11. func getTime(filename?){
  12. var file = (filename is (what is nil)?"a.time":filename+".time");
  13.  
  14. IO.exec("echo %time%>"+file);
  15. return (String::IO.read(file)).split(":");
  16.  
  17. };
  18. func getDate(filename?){
  19.  
  20. var file = (filename is (what is nil)?"a.date":filename+".date");
  21. IO.exec("echo %date%>"+file);
  22.  
  23. var dayDate = (String::IO.read(file)).split(" ");
  24.  
  25. var date = dayDate[1].split("/");
  26.  
  27. date[2] = date[2].head(4);
  28. date = toNumbers(date);
  29.  
  30. return date;
  31. };
  32.  
  33. func toNumbers(arr){
  34.  
  35. for(var i = 0; i < arr.len; i+=1){
  36.  
  37. arr[i] = Number::arr[i];
  38.  
  39. }
  40. };
  41.  
  42. func getMillis(){
  43.  
  44. var time = getTime();
  45. time[2] = time[2].sub('\n', "");
  46. toNumbers(time);
  47.  
  48. var date = getDate();
  49.  
  50. return (date[0]-1) * 2629800 + date[1] * 86400 + (date[2] - 1970) * 31557600
  51. + time[0] * 3600 + time[1] * 60 + time[2];
  52.  
  53. };
  54.  
  55. func deltaTime(a,b){
  56.  
  57. return [ a[0]-b[0] , a[1]-b[1], a[2]-b[2] ];
  58.  
  59. };
  60.  
  61. func drawRoad(){
  62.  
  63. for(var i = 0; i < road.len; i += 1){
  64. var str = "";
  65. for(var j = 0; j < 48; j += 1){
  66.  
  67. if(xPos == j && yPos == i){
  68. str += '#';
  69. }else{
  70. str += road[i];
  71. }
  72.  
  73. }
  74.  
  75. }
  76.  
  77. };
  78.  
  79. var lastTimeMoved = 0;
  80. var lastTimeUp = 0;
  81.  
  82. var frequency = .016;
  83. var hertz = 1/frequency;
  84.  
  85. for(;true;){
  86.  
  87. var currentTime = getMillis();
  88.  
  89. if(currentTime-lastTimeUp >= .016){
  90.  
  91. drawRoad();
  92.  
  93. lastTimeUp = currentTime;
  94. print "\n"*256;
  95.  
  96. };
  97.  
  98. if(currentTime - lastTimeMoved >= 1){
  99.  
  100. xPos = (xPos+1 > 48 ? 0 : xPos + 1);
  101.  
  102. lastTimeMoved = currentTime;
  103.  
  104. };
  105.  
  106. }
  107.  
  108. print "Done";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement