public void copy(KienHang k) { width = k.width; maKienHang = k.maKienHang; donGia = k.donGia; ngayNhapKho = k.ngayNhapKho; }
//-1: Dich den khong hop le //-2: Khong co hang o (pre_x, pre_y) //-3: Toa do qua gioi han public int Move(int pre_k, int pre_x, int pre_y, int new_k, int new_x, int new_y) { pre_k--; new_k--; if (pre_x < 0 || pre_x >= khu[pre_k].getNRow()) { return(-3); } if (new_x < 0 || new_x >= khu[new_k].getNRow()) { return(-3); } if (pre_y < 0 || pre_y >= khu[pre_k].getNCol()) { return(-3); } if (new_y < 0 || new_y >= khu[new_k].getNCol()) { return(-3); } int w1 = khu[pre_k].get(pre_x, pre_y).getWidth(); if (w1 == 0) { return(-2); } if (w1 == 2) { if (new_y + 1 >= khu[new_k].getNCol()) { return(-1); } KienHang temp1 = new KienHang(); KienHang temp2 = new KienHang(); temp1.copy(khu[pre_k].get(pre_x, pre_y)); temp2.copy(khu[pre_k].get(pre_x, pre_y + 1)); khu[pre_k].get(pre_x, pre_y).refresh(); khu[pre_k].get(pre_x, pre_y + 1).refresh(); if (khu[new_k].get(new_x, new_y + 1).getWidth() != 0 || khu[new_k].get(new_x, new_y).getWidth() != 0) { khu[pre_k].set(pre_x, pre_y, temp1); khu[pre_k].set(pre_x, pre_y + 1, temp2); return(-1); } khu[new_k].set(new_x, new_y, temp1); khu[new_k].set(new_x, new_y + 1, temp2); } if (w1 == -2) { if (new_y - 1 < 0) { return(-1); } KienHang temp1 = new KienHang(); KienHang temp2 = new KienHang(); temp1.copy(khu[pre_k].get(pre_x, pre_y)); temp2.copy(khu[pre_k].get(pre_x, pre_y - 1)); khu[pre_k].get(pre_x, pre_y).refresh(); khu[pre_k].get(pre_x, pre_y - 1).refresh(); if (khu[new_k].get(new_x, new_y - 1).getWidth() != 0 || khu[new_k].get(new_x, new_y).getWidth() != 0) { khu[pre_k].set(pre_x, pre_y, temp1); khu[pre_k].set(pre_x, pre_y - 1, temp2); return(-1); } khu[new_k].set(new_x, new_y, temp1); khu[new_k].set(new_x, new_y - 1, temp2); } if (w1 == 1) { if (khu[new_k].get(new_x, new_y).getWidth() != 0) { return(-1); } khu[new_k].set(new_x, new_y, khu[pre_k].get(pre_x, pre_y)); khu[pre_k].get(pre_x, pre_y).refresh(); } return(1); }
public void docFile(StreamReader file) { string line = file.ReadLine(); string[] numberArray = line.Split(' '); posX = toInt(numberArray[0]); posY = toInt(numberArray[1]); gocNghieng = float.Parse(numberArray[2], System.Globalization.CultureInfo.InvariantCulture.NumberFormat); nCol = toInt(numberArray[3]); nRow = toInt(numberArray[4]); int sl = toInt(numberArray[5]); kienHang = new List <List <KienHang> >(); for (int i = 0; i < nRow; ++i) { kienHang.Add(new List <KienHang>()); for (int j = 0; j < nCol; ++j) { kienHang[i].Add(new KienHang()); kienHang[i][j].setXY(i, j); } } for (int i = 0; i < sl; ++i) { line = file.ReadLine(); string[] dataInfo = line.Split(' '); int temp_n = dataInfo.Length; int x = toInt(dataInfo[0]); int y = toInt(dataInfo[1]); int w = toInt(dataInfo[2]); string maKienHang = ""; int donGia = 0; Date ngayNhapKho = new Date(); if (temp_n >= 4) { maKienHang = dataInfo[3]; } if (temp_n >= 5) { donGia = toInt(dataInfo[4]); } if (temp_n >= 6) { ngayNhapKho = new Date(dataInfo[5]); } //KienHang(x, y, ...): (x, y) la vi tri ve len man hinh //luc tinh toan can luu y lai kienHang[x][y] = new KienHang(x, y, w, maKienHang, donGia, ngayNhapKho); if (w == 2) { kienHang[x][y + 1] = new KienHang(x, y, -w, maKienHang, donGia, ngayNhapKho); } } for (int i = 0; i < nRow; ++i) { for (int j = 0; j < nCol; ++j) { if (j == nCol - 1) { kienHang[i][j].setKienHangRight(null); } else { kienHang[i][j].setKienHangRight(kienHang[i][j + 1]); } } } for (int i = 0; i < nRow; ++i) { for (int j = 0; j < nCol; ++j) { if (j == 0) { kienHang[i][j].setKienHangLeft(null); } else { kienHang[i][j].setKienHangLeft(kienHang[i][j - 1]); } } } }
public void set(int x, int y, KienHang k) { kienHang[x][y].copy(k); }
public void setKienHangLeft(KienHang k) { left = k; }
public void setKienHangRight(KienHang k) { right = k; }