Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Wojciech Łukasik 2020-04-28 13:51:11 +02:00
commit c0201f4a81
1 changed files with 119 additions and 11 deletions

View File

@ -119,16 +119,20 @@ class Field{
setIsOccupiedByAgent(isOccupiedByAgent){ setIsOccupiedByAgent(isOccupiedByAgent){
this.isOccupiedByAgent = isOccupiedByAgent; this.isOccupiedByAgent = isOccupiedByAgent;
} }
setCostOfTravel(costOfTravel){
this.costOfTravel = costOfTravel;
}
} }
class Shelf{ class Shelf{
constructor(x, y){ constructor(accessY, accessX, havePlace, box1, box2, box3){
this.xField = x; this.accessX = accessX;
this.yField = y; this.accessY = accessY;
this.havePlace = true; this.havePlace = true;
this.box1 = 0; this.box1 = box1;
this.box2 = 0; this.box2 = box2;
this.box3 = 0; this.box3 = box3;
} }
getParams(){ getParams(){
@ -150,11 +154,11 @@ class Shelf{
} }
setbox2(box1){ setbox2(box1){
this.box2 = box1; this.box2 = box2;
} }
setbox3(box1){ setbox3(box1){
this.box3 = box1; this.box3 = box3;
} }
setHavePlace(havePlace){ setHavePlace(havePlace){
@ -162,7 +166,20 @@ class Shelf{
} }
} }
//funkcje class Candy{
constructor(type, taste, mark, id){
this.type = type;
this.taste = taste;
this.mark = mark;
this.id = id;
}
getId(){
return this.id;
}
}
//funckcje
function createBoard(rangeX, rangeY){ function createBoard(rangeX, rangeY){
const board = []; const board = [];
@ -178,7 +195,7 @@ function createBoard(rangeX, rangeY){
return board return board
} }
function createShelf(board){ function createShelfOnBoard(board){
//pierwszy poziom //pierwszy poziom
board[2][2].setIsShelf(true); board[2][2].setIsShelf(true);
board[3][2].setIsShelf(true); board[3][2].setIsShelf(true);
@ -214,6 +231,94 @@ function createShelf(board){
return board return board
} }
function createCostofField(board, rangeX, rangeY){
let cost;
let number;
for(let y = 0; y < rangeY; y++){
for(let x = 0; x < rangeX; x++){
number = 0;
if(y<9 && board[y+1][x].getIsShelf()){
number = number + 1;
}
if(y>0 && board[y-1][x].getIsShelf()){
number = number + 1;
}
if(x<9 && board[y][x+1].getIsShelf()){
number = number + 1;
}
if(x>0 && board[y][x-1].getIsShelf()){
number = number + 1;
}
cost = number*2;
if(cost==0){
cost = 1;
}
board[y][x].setCostOfTravel(cost);
}
}
return board;
}
function createShelf(){
const listOfShelf = [];
//pierwszy poziom
let shelf = new Shelf(2, 1, true, 221, 222, 0);
listOfShelf.push(shelf)
shelf = new Shelf(3, 1, true, 321, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(4, 4, false, 341, 342, 343);
listOfShelf.push(shelf)
shelf = new Shelf(1, 4, true, 0, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(4, 6, true, 361, 362, 0);
listOfShelf.push(shelf)
shelf = new Shelf(1, 6, true, 261, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(3, 9, true, 381, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(2, 9, true, 281, 0, 0);
listOfShelf.push(shelf)
//drugi poziom
shelf = new Shelf(5, 1, true, 521, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(5, 4, true, 531, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(5, 6, true, 571, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(5, 9, true, 581, 0, 0);
listOfShelf.push(shelf)
//trzeci poziom
shelf = new Shelf(7, 1, true, 721, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(8, 1, true, 821, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(6, 4, true, 741, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(9, 4, true, 841, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(6, 6, true, 761, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(9, 6, true, 861, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(7, 9, true, 781, 0, 0);
listOfShelf.push(shelf)
shelf = new Shelf(8, 9, true, 881, 0, 0);
listOfShelf.push(shelf)
return listOfShelf;
}
function showBoard(board){ function showBoard(board){
for(let y = board.length - 1; y >= 0 ; y--){ for(let y = board.length - 1; y >= 0 ; y--){
document.getElementById("board").innerHTML += "<div class='row' id='row-" + y + "'> </div>"; document.getElementById("board").innerHTML += "<div class='row' id='row-" + y + "'> </div>";
@ -236,7 +341,10 @@ function getDistance(x1,y1,x2,y2){
let board = createBoard(10,10); let board = createBoard(10,10);
board = createShelf(board); board = createShelfOnBoard(board);
board = createCostofField(board, 10, 10);
let candy = new Candy('zelek', 'truskawkowy', 'Jumbo', 222);
let shelfs = createShelf();
let agent = new Agent(0,0, 'Right'); let agent = new Agent(0,0, 'Right');