| 
		
			Сообщение от jeka123
			
		
	 | 
	| 
		присвоение идет для всех элементов массива.Почему?
	 | 
	
Потому что все элементы массивов ссылкаются на один и тот же объект. Нужно сделать, чтобы это были разные объекты. Вариантов куча:
1.
pl_list_1[i][j] = new Sea;
        pl_list_2[i][j] = new Sea;
function Sea() {
    this.chip = false;
    this.opened = false;
    this.msg = 'Промазал';
}
2
pl_list_1[i][j] = getSea();
        pl_list_2[i][j] = getSea();
function getSea() {
    return {
        chip :false,
        opened:false,
        msg:'Промазал'
    };
}
3.
var sea = {
   chip :false,
   opened:false,
   msg:'Промазал'
};
        pl_list_1[i][j] = Object.create(sea);
        pl_list_2[i][j] = Object.create(sea);
4.
pl_list_1[i][j] = {
            chip :false,
            opened:false,
            msg:'Промазал'
        };
        pl_list_2[i][j] = {
            chip :false,
            opened:false,
            msg:'Промазал'
        };
Все эти варианты, на первый взгляд, работают одинаково. Но все они разные и каждый имеет свои особенности. Такие дела.