Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

[JavaScript] Znajdowanie przedziału czasu

#1
[JavaScript] Znajdowanie przedziału czasu
Witam

javascript:


Kod:
/*KORDY*/
     var coords = "123|123".split(" ");

//CZAS
     var days = ["22-27"];
     var intervals = ["7:00-23:00"];    //[b]te miejsce[/b]

 var gd = game_data;
var perc = 0.01;
var v = gd.village;
var u = {
 "spear": 1,
 "sword": 1,
 "axe": 1,
 "archer": 1,
 "spy": 2,
 "light": 4,
 "marcher": 5,
 "heavy": 6,
 "ram": 5,
 "catapult": 8,
 "knight": 10,
 "snob": 100
}
var left;
try {
 if (document.URL.indexOf('try=confirm') != -1 && document.URL.indexOf('target=') == -1);
 else if (document.URL.indexOf('screen=place') == -1 || (document.URL.indexOf('mode') != -1 && document.URL.indexOf('mode=command') == -1)) {
   location = gd.link_base_pure + "place&mode=command";
 } else {
   if ($('.jump_link')[0] !== undefined) {
     location = $('#village_switch_right')[0].href;
   } else {
     var ul = $('.unit_link');
     for (var i = 0; i < ul.length; i++)
       $('#unit_input_' + $(ul[i]).attr('data-unit'))[0].value = "";



     var selected = [];
     for (var i = 0; i < coords.length; ++i)
       if (isSelected(coords[i]))
         selected.push(coords[i]);

     if (selected.length != 0) {
       left = Math.floor(v.points * perc);
       var index = Math.round(Math.random() * (selected.length - 1));
       $(".target-input-field")[0].value = selected[index];
       /* CONFIG: wybór wojsk */

       units("spy", 1);
       units("ram", 1) || units("catapult", 1);
       fill("spy,ram");

       if (left > 0)
         UI.ErrorMessage('Za mała pula wojsk, aby atak składał się z ' + perc * 100 + '% ludności\r\nbrakuje ' + left + ' mieszkańców', 5000);
     } else {
       UI.ErrorMessage('Nie można wybrać wioski, aby atak wchodził w podanych ramach czasowych', 5000);
     }
   }
 }
} catch (err) {
 var message = "Wystąpił nieoczekiwany błąd. Sprawdź czy skrypt jest poprawnie skonfigurowany!";
 console.log(err.message);
 UI.ErrorMessage(message, 5000);
}

function isSelected(coords) {
 /* CONFIG: ustaw ramy czasowe, które ci odpowiadają */
 var distance = Math.hypot(coords.split("|")[0] - v.x, coords.split("|")[1] - v.y);
 var destination = new Date(distance * 1800000 + gd.time_generated);

 var isInInterval = (intervals, value, predicate) => {
   for (var i = 0; i < intervals.length; i++)
     if (predicate(value, intervals[i]))
       return true;
   return false;
 };
 if (!isInInterval(days, destination, (v, i) => {
     v = v.getDate();
     i = i.split('-');
     return parseInt(i[0]) <= v && v <= parseInt(i[1]);
   })) return false;
 if (isInInterval(intervals, destination, (v, i) => {
     var parseTimer = timer => parseInt(timer[0]) * 60 + parseInt(timer[1]);
     v = parseTimer([v.getHours(), v.getMinutes()]);
     i = i.split("-");
     return parseTimer(i[0].split(':')) <= v && v <= parseTimer(i[1].split(':'));
   })) return true;
 return false;
}

function tryUnits(name, value) {
 var mv = $('a#units_entry_all_' + name)[0].innerText.match(/\d+/)[0];
 var sv = $('#unit_input_' + name)[0].value;
 return mv - sv - value >= 0;
}

function units(name, value) {
 var mv = $('a#units_entry_all_' + name)[0].innerText.match(/\d+/)[0];
 var sv = $('#unit_input_' + name)[0].value;
 sv = sv == "" ? 0 : parseInt(sv);
 mv -= sv;
 if (value > mv)
   value = mv;
 left -= u[name] * value;
 $('#unit_input_' + name)[0].value = sv + value;
 return value > 0;
}

function fill(names) {
 if (left <= 0) return;
 names = names.split(',');
 var name, quantity;
 for (var i = 0; i < names.length; ++i) {
   name = names[i];
   quantity = NaN;
   if (name.indexOf(':') != -1) {
     quantity = parseInt(name.split(':')[1]);
     name = name.split(':')[0];
   }
   units(name, Math.ceil((isNaN(quantity) ? left : (quantity * u[name] >= left ? left : quantity * u[name])) / u[name]));
   if (left <= 0) return;
 }
}



co muszę wpisać aby w var intervals wyszukiwało mi np: od 10-12 i potem 22-23
oczywiście tego samego dnia

// Proszę poprawniej tytułować wątki, a kod umieszczać w znacznikach

Kod PHP:
[code][/code

// Szachista
 System operacyjny: windows_seven Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki ([JavaScript] Znajdowanie przedziału czasu)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [SQL]procedura zliczania czasu CTRL85 0 11344 17.02.2018, 12:58
Ostatni post: CTRL85
  Sumowanie czasu excel. Cixi 7 12127 13.02.2018, 11:52
Ostatni post: Cixi
Ściana Jak napisać to w javascript? anarhak 0 1206 30.05.2015, 14:53
Ostatni post: anarhak

Skocz do:


Wybrane wątki ([JavaScript] Znajdowanie przedziału czasu)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Automatyczne wykonywanie czynności na stronie Fresher 0 5635 15.04.2020 20:53
Ostatni post: Fresher
  Visual Studio Code- zmiana folderu rozszerzeń Physicist 4 7646 05.04.2020 15:46
Ostatni post: Physicist
  Prośba o pomoc przy wyborze języka do konkretnego projektu. romands 6 6850 05.04.2020 14:07
Ostatni post: romands
Sad PhpMyAdmin w Mysql 8.0 Lauczi 3 6686 31.03.2020 16:34
Ostatni post: Lauczi
Ściana Klika pytań plz pomóżcie Samek2222 1 6320 22.03.2020 18:59
Ostatni post: Ajgor
  Pytanie - programowanie batch [cmd] Max23 0 6254 20.03.2020 01:03
Ostatni post: Max23
  Oczekiwanie na Akcje przycisku wanhelsing 8 8571 01.03.2020 19:44
Ostatni post: Szachista
Toungue Wybór szkoły średniej przez potencjalnego programistę Zikinan 1 8175 09.02.2020 15:58
Ostatni post: dzikuu86
  Poszukuję pomysłu na prosty program ;) janciu96 5 17679 13.12.2019 23:32
Ostatni post: Ajgor
  Programowanie Batch (CMD) Informatyk2019 0 8928 11.12.2019 18:30
Ostatni post: Informatyk2019
  Przekazywanie wskaźnika przez referencję w Qt Trojan3000 3 17069 10.12.2019 13:16
Ostatni post: Ajgor
  Proszę o pomoc w uzupełnieniu ankiety dt. Zawodu Programisty MaleMonki 0 4516 17.11.2019 12:47
Ostatni post: MaleMonki
  Spring framework – jakie strony polecacie do nauki? olek23 5 10338 15.11.2019 15:57
Ostatni post: Alsenas
  Programowanie windy (problem) w C++ mysza2323 2 9690 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 9805 22.10.2019 17:48
Ostatni post: Szachista