public void SetList(ref Bricks brickList, ref BlueBricks blueBrickList, ref Soils soilList, ref Stones stoneList, ref Skiers skiList, ref Bombs bombList, ref Player trac, ref Player trac2) { foreach (Brick br in bricks) { brickList.AddPlayer(br); } foreach (BlueBrick br in blueBricks) { blueBrickList.AddPlayer(br); } foreach (Soil br in soils) { soilList.AddPlayer(br); } foreach (Stone br in stones) { stoneList.AddPlayer(br); } foreach (Skier br in skiers) { skiList.AddPlayer(br); } foreach (Bomb br in bombs) { bombList.AddPlayer(br); } trac = thisPlayer; trac2 = thisPlayer2; }
public PlaceList(Bricks brickList, BlueBricks blueBrickList, Soils soilList, Stones stoneList, Skiers skiList, Bombs bombList, Player trac, Player trac2) { foreach (Brick br in brickList) { bricks.AddPlayer(br); } foreach (BlueBrick br in blueBrickList) { blueBricks.AddPlayer(br); } foreach (Soil br in soilList) { soils.AddPlayer(br); } foreach (Stone br in stoneList) { stones.AddPlayer(br); } foreach (Skier br in skiList) { skiers.AddPlayer(br); } foreach (Bomb br in bombList) { bombs.AddPlayer(br); } thisPlayer = trac; thisPlayer2 = trac2; }
private void BombMove(Bombs bombList, Skiers skiList, Bricks brickList) { foreach (Bomb st in bombList) { if (Map.GetItem(st.TOP / 25 + 1, st.LEFT / 25) == ItemName.Skier) { int delSki = Map.GetInd(st.TOP / 25 + 1, st.LEFT / 25); //foreach (Skier sk in skiList) // if ((st.LEFT == sk.LEFT) && (st.TOP == (sk.TOP-25))) // { //Invalidate(new Rectangle(st.LEFT, st.TOP, 25, 25)); Invalidate(new Rectangle(st.LEFT, st.TOP, 25, 50)); Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); Map.SetItem(st.TOP / 25 + 1, st.LEFT / 25, ItemName.Null); //bombList.RemovePlayer(bombList.IndexOf(st)); //skiList.RemovePlayer(delSki); // break; // } } } foreach (Bomb st in bombList) { if (st.Moving(trac) == true) { if (st.BombDirec == Direction.Down) { InvalidateDown(st); } if (st.BombDirec == Direction.Left) { InvalidateLeft(st); } if (st.BombDirec == Direction.Right) { InvalidateRight(st); } } } }
public Boolean Moving(Stones stoneList, Bombs bombList) { switch (myDirection) { case Direction.Up: if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Stone) { return(false); } if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Bomb) { return(false); } // Дописать проверку игрока if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null) //up { player = new Bitmap("SkierUp.bmp"); myDirection = Direction.Up; top -= size; return(true); } else if (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null) //right { left += size; player = new Bitmap("SkierRight.bmp"); myDirection = Direction.Right; return(true); } else if (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null) //down { player = new Bitmap("SkierDown.bmp"); myDirection = Direction.Down; top += size; return(true); } else if (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null) //left { player = new Bitmap("SkierLeft.bmp"); myDirection = Direction.Left; left -= size; return(true); } break; case Direction.Down: if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Stone) { return(false); } if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Bomb) { return(false); } if (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null) //down { player = new Bitmap("SkierDown.bmp"); myDirection = Direction.Down; top += size; return(true); } else if (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null) //left { player = new Bitmap("SkierLeft.bmp"); myDirection = Direction.Left; left -= size; return(true); } else if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null) //up { player = new Bitmap("SkierUp.bmp"); myDirection = Direction.Up; top -= size; return(true); } else if (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null) //right { left += size; player = new Bitmap("SkierRight.bmp"); myDirection = Direction.Right; return(true); } break; case Direction.Left: if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Stone) { return(false); } if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Bomb) { return(false); } if (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null) //left { player = new Bitmap("SkierLeft.bmp"); myDirection = Direction.Left; left -= size; return(true); } else if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null) //up { player = new Bitmap("SkierUp.bmp"); myDirection = Direction.Up; top -= size; return(true); } else if (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null) //right { left += size; player = new Bitmap("SkierRight.bmp"); myDirection = Direction.Right; return(true); } else if (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null) //down { player = new Bitmap("SkierDown.bmp"); myDirection = Direction.Down; top += size; return(true); } break; case Direction.Right: if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Stone) { return(false); } if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Bomb) { return(false); } if (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null) //right { left += size; player = new Bitmap("SkierRight.bmp"); myDirection = Direction.Right; return(true); } else if (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null) //down { player = new Bitmap("SkierDown.bmp"); myDirection = Direction.Down; top += size; return(true); } else if (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null) //left { player = new Bitmap("SkierLeft.bmp"); myDirection = Direction.Left; left -= size; return(true); } else if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null) //up { player = new Bitmap("SkierUp.bmp"); myDirection = Direction.Up; top -= size; return(true); } break; } return(false); }
public Boolean Moving(System.Windows.Forms.KeyPressEventArgs e, Soils soilList, Stones stoneList, Bombs bombList) { if ((e.KeyChar.ToString() == "p") || (e.KeyChar.ToString() == "ç")) { BombNowCreate = true; if ((myDirection == Direction.Left) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null))//left { Bomb currentBomb = new Bomb(left / 25 - 1, top / 25); bombList.AddPlayer(currentBomb); Map.SetItem(this.TOP / 25, this.LEFT / 25 - 1, ItemName.Bomb); Map.SetInd(this.TOP / 25, this.LEFT / 25 - 1, bombList.IndexOf(currentBomb)); } if ((myDirection == Direction.Right) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null))//right { Bomb currentBomb = new Bomb(left / 25 + 1, top / 25); bombList.AddPlayer(currentBomb); Map.SetItem(this.TOP / 25, this.LEFT / 25 + 1, ItemName.Bomb); Map.SetInd(this.TOP / 25, this.LEFT / 25 + 1, bombList.IndexOf(currentBomb)); } if ((myDirection == Direction.Up) && (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null))//up { Bomb currentBomb = new Bomb(left / 25, top / 25 - 1); bombList.AddPlayer(currentBomb); Map.SetItem(this.TOP / 25 - 1, this.LEFT / 25, ItemName.Bomb); Map.SetInd(this.TOP / 25 - 1, this.LEFT / 25, bombList.IndexOf(currentBomb)); } if ((myDirection == Direction.Down) && (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null)) //down { Bomb currentBomb = new Bomb(left / 25, top / 25 + 1); bombList.AddPlayer(currentBomb); Map.SetItem(this.TOP / 25 + 1, this.LEFT / 25, ItemName.Bomb); Map.SetInd(this.TOP / 25 + 1, this.LEFT / 25, bombList.IndexOf(currentBomb)); } return(false); } else if ((e.KeyChar.ToString() == "a") || (e.KeyChar.ToString() == "ô")) { RemoveLeftSoil(soilList); if ((Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Stone) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 2) == ItemName.Null)) //left stone { foreach (Stone st in stoneList) { if ((st.LEFT == this.LEFT - 25) && (st.TOP == this.TOP)) { Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); st.LEFT -= 25; Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Stone); } } } else if ((Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Bomb) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 2) == ItemName.Null)) //left bomb { foreach (Bomb st in bombList) { if ((st.LEFT == this.LEFT - 25) && (st.TOP == this.TOP)) { Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); st.LEFT -= 25; Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Bomb); } } } if (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null) //left { left -= size; player = new Bitmap("PlayerLeft.bmp"); myDirection = Direction.Left; return(true); } } else if ((e.KeyChar.ToString() == "d") || (e.KeyChar.ToString() == "â")) { RemoveRightSoil(soilList); if ((Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Stone) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 2) == ItemName.Null)) //left stone { foreach (Stone st in stoneList) { if ((st.LEFT == this.LEFT + 25) && (st.TOP == this.TOP)) { Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); st.LEFT += 25; Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Stone); } } } else if ((Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Bomb) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 2) == ItemName.Null)) //left bomb { foreach (Bomb st in bombList) { if ((st.LEFT == this.LEFT + 25) && (st.TOP == this.TOP)) { Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); st.LEFT += 25; Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Bomb); } } } if (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null) //right { left += size; player = new Bitmap("PlayerRight.bmp"); myDirection = Direction.Right; return(true); } } else if ((e.KeyChar.ToString() == "w") || (e.KeyChar.ToString() == "ö")) { RemoveUpSoil(soilList); if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null) //up { top -= size; player = new Bitmap("PlayerUp.bmp"); myDirection = Direction.Up; return(true); } } else if ((e.KeyChar.ToString() == "s") || (e.KeyChar.ToString() == "û")) { RemoveDownSoil(soilList); if (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null) //down { top += size; player = new Bitmap("PlayerDown.bmp"); myDirection = Direction.Down; return(true); } } return(false); }
public Boolean Moving(String str, Soils soilList, Stones stoneList, Bombs bombList) { if (str == "Bomb") { if ((myDirection == Direction.Left) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null)) //left { bombList.AddPlayer(new Bomb(left / 25 - 1, top / 25)); } if ((myDirection == Direction.Right) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null)) //right { bombList.AddPlayer(new Bomb(left / 25 + 1, top / 25)); } if ((myDirection == Direction.Up) && (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null)) //up { bombList.AddPlayer(new Bomb(left / 25, top / 25 - 1)); } if ((myDirection == Direction.Down) && (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null)) //down { bombList.AddPlayer(new Bomb(left / 25, top / 25 + 1)); } } else if (str == "Left") { RemoveLeftSoil(soilList); if (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null) //left { left -= size; player = new Bitmap("ClientLeft.bmp"); myDirection = Direction.Left; return(true); } } else if (str == "Right") { RemoveRightSoil(soilList); if (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null) //right { left += size; player = new Bitmap("ClientRight.bmp"); myDirection = Direction.Right; return(true); } } else if (str == "Up") { RemoveUpSoil(soilList); if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null) //up { top -= size; player = new Bitmap("ClientUp.bmp"); myDirection = Direction.Up; return(true); } } else if (str == "Down") { RemoveDownSoil(soilList); if (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null) //down { top += size; player = new Bitmap("ClientDown.bmp"); myDirection = Direction.Down; return(true); } } return(false); }
private void BombMove(Bombs bombList, Skiers skiList, Bricks brickList) { Int32 countSkier = 0; Int32 [] IndSkier = new Int32[bombList.CountPlayer]; Int32 countBomb = 0; Int32 [] IndBomb = new Int32[bombList.CountPlayer]; foreach (Bomb st in bombList) { if (Map.GetItem(st.TOP / 25 + 1, st.LEFT / 25) == ItemName.Skier) { foreach (Skier sk in skiList) { if ((st.LEFT == sk.LEFT) && (st.TOP == (sk.TOP - 25))) { IndSkier[countSkier] = skiList.IndexOf(sk); IndBomb[countBomb] = bombList.IndexOf(st); Invalidate(new Rectangle(sk.LEFT, sk.TOP, 25, 25)); Invalidate(new Rectangle(st.LEFT, st.TOP, 25, 25)); Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); Map.SetItem(sk.TOP / 25, sk.LEFT / 25, ItemName.Null); countSkier++; countBomb++; } } } } Array.Sort(IndSkier); Array.Reverse(IndSkier); Array.Sort(IndBomb); Array.Reverse(IndBomb); for (int i = 0; i < countBomb; i++) { bombList.RemovePlayer(IndBomb[i]); } for (int i = 0; i < countSkier; i++) { skiList.RemovePlayer(IndSkier[i]); } foreach (Bomb st in bombList) { if (st.Moving(trac) == true) { if (st.BombDirec == Direction.Down) { InvalidateDown(st); } if (st.BombDirec == Direction.Left) { InvalidateLeft(st); } if (st.BombDirec == Direction.Right) { InvalidateRight(st); } } } }
public Boolean Moving(System.Windows.Forms.KeyPressEventArgs e, Soils soilList, Stones stoneList, Bombs bombList) { if ((e.KeyChar.ToString() == "p") || (e.KeyChar.ToString() == "ç")) { BombNowCreate = true; if ((myDirection == Direction.Left) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null)) //left { bombList.AddPlayer(new Bomb(left / 25 - 1, top / 25)); } if ((myDirection == Direction.Right) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null)) //right { bombList.AddPlayer(new Bomb(left / 25 + 1, top / 25)); } if ((myDirection == Direction.Up) && (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null)) //up { bombList.AddPlayer(new Bomb(left / 25, top / 25 - 1)); } if ((myDirection == Direction.Down) && (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null)) //down { bombList.AddPlayer(new Bomb(left / 25, top / 25 + 1)); } } else if ((e.KeyChar.ToString() == "a") || (e.KeyChar.ToString() == "ô")) { RemoveLeftSoil(soilList); if (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null) //left { left -= size; player = new Bitmap("ClientLeft.bmp"); myDirection = Direction.Left; return(true); } } else if ((e.KeyChar.ToString() == "d") || (e.KeyChar.ToString() == "â")) { RemoveRightSoil(soilList); if (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null) //right { left += size; player = new Bitmap("ClientRight.bmp"); myDirection = Direction.Right; return(true); } } else if ((e.KeyChar.ToString() == "w") || (e.KeyChar.ToString() == "ö")) { RemoveUpSoil(soilList); if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null) //up { top -= size; player = new Bitmap("ClientUp.bmp"); myDirection = Direction.Up; return(true); } } else if ((e.KeyChar.ToString() == "s") || (e.KeyChar.ToString() == "û")) { RemoveDownSoil(soilList); if (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null) //down { top += size; player = new Bitmap("ClientDown.bmp"); myDirection = Direction.Down; return(true); } } return(false); }
public Boolean Moving(String str, Soils soilList, Stones stoneList, Bombs bombList) { if (str == "Bomb") { if ((myDirection == Direction.Left) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null)) //left { bombList.AddPlayer(new Bomb(left / 25 - 1, top / 25)); } if ((myDirection == Direction.Right) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null)) //right { bombList.AddPlayer(new Bomb(left / 25 + 1, top / 25)); } if ((myDirection == Direction.Up) && (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null)) //up { bombList.AddPlayer(new Bomb(left / 25, top / 25 - 1)); } if ((myDirection == Direction.Down) && (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null)) //down { bombList.AddPlayer(new Bomb(left / 25, top / 25 + 1)); } } else if (str == "Left") { RemoveLeftSoil(soilList); if ((Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Stone) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 2) == ItemName.Null)) //left stone { foreach (Stone st in stoneList) { if ((st.LEFT == this.LEFT - 25) && (st.TOP == this.TOP)) { Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); st.LEFT -= 25; Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Stone); } } } else if ((Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Bomb) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 2) == ItemName.Null)) //left bomb { foreach (Bomb st in bombList) { if ((st.LEFT == this.LEFT - 25) && (st.TOP == this.TOP)) { Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); st.LEFT -= 25; Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Bomb); } } } if (Map.GetItem(this.TOP / 25, this.LEFT / 25 - 1) == ItemName.Null) //left { left -= size; player = new Bitmap("PlayerLeft.bmp"); myDirection = Direction.Left; return(true); } } else if (str == "Right") { RemoveRightSoil(soilList); if ((Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Stone) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 2) == ItemName.Null)) //left stone or bomb { foreach (Stone st in stoneList) { if ((st.LEFT == this.LEFT + 25) && (st.TOP == this.TOP)) { Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); st.LEFT += 25; Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Stone); } } } else if ((Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Bomb) && (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 2) == ItemName.Null)) //left bomb { foreach (Bomb st in bombList) { if ((st.LEFT == this.LEFT + 25) && (st.TOP == this.TOP)) { Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Null); st.LEFT += 25; Map.SetItem(st.TOP / 25, st.LEFT / 25, ItemName.Bomb); } } } if (Map.GetItem(this.TOP / 25, this.LEFT / 25 + 1) == ItemName.Null) //right { left += size; player = new Bitmap("PlayerRight.bmp"); myDirection = Direction.Right; return(true); } } else if (str == "Up") { RemoveUpSoil(soilList); if (Map.GetItem(this.TOP / 25 - 1, this.LEFT / 25) == ItemName.Null) //up { top -= size; player = new Bitmap("PlayerUp.bmp"); myDirection = Direction.Up; return(true); } } else if (str == "Down") { RemoveDownSoil(soilList); if (Map.GetItem(this.TOP / 25 + 1, this.LEFT / 25) == ItemName.Null) //down { top += size; player = new Bitmap("PlayerDown.bmp"); myDirection = Direction.Down; return(true); } } return(false); }