2020-04-06 19:23:17 +02:00
|
|
|
//Klasy
|
|
|
|
class Agent {
|
|
|
|
constructor(x, y){
|
|
|
|
this.xField = x;
|
|
|
|
this.yField = y;
|
|
|
|
}
|
|
|
|
|
|
|
|
getid(){
|
|
|
|
return this.xField + "-" + this.yField;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Field {
|
|
|
|
constructor(x, y, isEmpty) {
|
|
|
|
this.xField = x;
|
|
|
|
this.yField = y;
|
|
|
|
this.isFieldEmpty = isEmpty;
|
|
|
|
}
|
|
|
|
getCoordinates(){
|
|
|
|
return this.xField + this.yField;
|
|
|
|
}
|
|
|
|
|
|
|
|
getStatus(){
|
|
|
|
return this.isFieldEmpty;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Product {
|
|
|
|
constructor(name, type, farcing, price) {
|
|
|
|
this.name = name;
|
|
|
|
this.type = type;
|
|
|
|
this.farcing = farcing;
|
|
|
|
this.price = price
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Rack{
|
|
|
|
constructor(noOfShelf, typOfProduct) {
|
|
|
|
this.noOfShelf = noOfShelf;
|
|
|
|
}
|
2020-04-06 15:21:40 +02:00
|
|
|
|
2020-04-06 19:23:17 +02:00
|
|
|
addShelf(){
|
|
|
|
this.noOfShelf = this.noOfShelf + 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
isEmpty(){
|
|
|
|
if (this.noOfShelf === 0){
|
|
|
|
return true;
|
|
|
|
}else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Shelf {
|
|
|
|
constructor(number) {
|
|
|
|
this.number = number;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//Objekty i zmienne
|
2020-04-04 22:44:19 +02:00
|
|
|
var regaly = ['1-1', '1-3', '1-4', '1-6', '1-7', '1-9', '2-1', '2-9', '3-3', '3-4', '3-6', '3-7', '4-1', '4-9', '5-1', '5-3', '5-4', '5-6', '5-7', '5-9']
|
2020-04-06 19:23:17 +02:00
|
|
|
const agent = new Agent(3, 0);
|
2020-04-04 22:44:19 +02:00
|
|
|
|
2020-04-06 19:23:17 +02:00
|
|
|
//Funkcja uruchamiająca prace calego scriptu
|
2020-04-04 22:44:19 +02:00
|
|
|
function start(){
|
|
|
|
ponumerujPola();
|
|
|
|
pokolorujRegaly();
|
2020-04-06 19:23:17 +02:00
|
|
|
umiescAgenta();
|
|
|
|
droga();
|
2020-04-04 22:44:19 +02:00
|
|
|
}
|
|
|
|
|
2020-04-06 19:23:17 +02:00
|
|
|
//Funkcja kolorujaca miejsca na planszy gdzie znajduja sie regaly
|
2020-04-04 22:44:19 +02:00
|
|
|
function pokolorujRegaly(){
|
|
|
|
let x;
|
|
|
|
for(x = 0; x < regaly.length; x++){
|
|
|
|
document.getElementById(regaly[x]).className = 'regal';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-04-06 19:23:17 +02:00
|
|
|
//Funkcja wyswietlajaca id pol
|
2020-04-04 22:44:19 +02:00
|
|
|
function ponumerujPola(){
|
|
|
|
let x,y
|
|
|
|
for(x = 0; x < 7; x++){
|
|
|
|
for(y = 0; y < 11; y++){
|
|
|
|
id = x.toString() + "-" + y.toString();
|
|
|
|
document.getElementById(id).innerHTML = id;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-04-06 19:23:17 +02:00
|
|
|
//Funckja wyswietlajaca agenta gdy ten zmieni polozenie
|
2020-04-06 15:21:40 +02:00
|
|
|
function umiescAgenta() {
|
2020-04-06 19:23:17 +02:00
|
|
|
document.getElementById(id).style.backgroundImage = "none";
|
|
|
|
id = agent.getid();
|
|
|
|
document.getElementById(id).style.backgroundImage = "url('Agent.jpg')";
|
2020-04-06 15:21:40 +02:00
|
|
|
}
|
|
|
|
|
2020-04-06 19:23:17 +02:00
|
|
|
//Funkcja zmieniajaca polozenie agenta o 1 pole
|
|
|
|
function przemieszczenie(side, time){
|
|
|
|
setTimeout(function(){
|
|
|
|
if(side == "left")
|
|
|
|
agent.yField--;
|
|
|
|
if(side == "right")
|
|
|
|
agent.yField++;
|
|
|
|
if(side == "up")
|
|
|
|
agent.xField--;
|
|
|
|
if(side == "down")
|
|
|
|
agent.xField++;
|
|
|
|
umiescAgenta();
|
|
|
|
}, time);
|
|
|
|
}
|
|
|
|
|
|
|
|
//Funkcja ktora ustala droge agenta do przebycia
|
|
|
|
function droga() {
|
|
|
|
przemieszczenie("right", 1000);
|
|
|
|
przemieszczenie("right", 2000);
|
|
|
|
przemieszczenie("up", 3000);
|
|
|
|
przemieszczenie("right", 4000);
|
|
|
|
przemieszczenie("right", 5000);
|
|
|
|
przemieszczenie("right", 6000);
|
|
|
|
przemieszczenie("right", 7000);
|
|
|
|
przemieszczenie("right", 8000);
|
|
|
|
przemieszczenie("right", 9000);
|
|
|
|
}
|