Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wykrywanie najkrótszej drogi ?
kawus121
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 24.04.2013

Ostrzeżenie: (0%)
-----


Witam chcę zrobić skrypt, który wykryję najkrótszą drogę do celu i nie mogę sobie z tym poradzić, napiszę co udało mi się zrobić.

Zapis jest w systemie binarnym 01010101 gdzie 0 to jest miejsce wolne, a 1 do ominięcia!
Start to początek drogi.
szerokosc i wysokosc to ilość kratek.

Proszę o pomoc


  1. <script>
  2. var start = 37;
  3. var koniec = 88;
  4. var block='1111111111111111111111111111111111111000000001
  5. 11111111111111110000000011111111111111011101110001111111
  6. 111111101110111100111111111111110111011111000000111111111
  7. 000000011111111111111111100000000111111111100111000000001
  8. 001111111110011100000000000000000100000000000000000000000
  9. 010010000000000000000000001000000000000000000000000100000
  10. 000000000000000000010000000000000000011111001000000000000
  11. 000011111100100000000000000011111111010000000000000001111
  12. 11110100000000001000011111111010000000000000001111111101
  13. 00000000000000011111111010000000000000000001100001000010
  14. 000000000000110000100000000000000000000000011111111111111111111111111';
  15. var szerokosc = 25;
  16. var wysokosc = 25;
  17.  
  18.  
  19.  
  20. function block2(start,koniec,szerokosc,wysokosc){
  21.  
  22. var typ, typ2;
  23. if(start > koniec){
  24. typ = start-koniec;
  25. typ2 = 0;
  26. }else if( start < koniec){
  27. typ = koniec - start;
  28. typ2 = 1;
  29. }
  30.  
  31.  
  32.  
  33.  
  34. var kroki = new Array();
  35.  
  36.  
  37. var i = 0;
  38. //to do poprawy(Nie mam pojęcia jak mogę to zrobić ;/)
  39. for (n in block) {
  40.  
  41. if(n < start && block[n] == 0 && n > koniec && n != koniec){
  42. kroki[i] = new Object;
  43. kroki[i].typ = 'prawo';
  44. i++;
  45. }else if(n > start && block[n] == 0 && n < koniec && n != koniec){
  46. kroki[i] = new Object;
  47. kroki[i].typ = 'prawo';
  48. i++;
  49. }else if(n+szerokosc > start && block[n+szerokosc] == 0 && n+szerokosc <= koniec && n+szerokosc != koniec){
  50. kroki[i] = new Object;
  51. kroki[i].typ = 'gora';
  52. i++;
  53. }else if(n-szerokosc > start && block[n-szerokosc] == 0 && n-szerokosc <= koniec && n-szerokosc != koniec){
  54. kroki[i] = new Object;
  55. kroki[i].typ = 'dol';
  56. i++;
  57. }
  58.  
  59. }
  60.  
  61. for(d in kroki){
  62.  
  63. alert(kroki[d].typ);
  64. }
  65.  
  66. }
  67. block2();
  68. </script>
  69.  
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:47