forked from s444420/AL-2020
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
c0201f4a81
@ -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');
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user