예제 #1
0
파일: Mission.cs 프로젝트: galich2/bs
        public Program.Статус Fight(out Program.Точка target)
        {
            if (modeDanger)
            {
                target = FightDanger();
            }
            else
            {
                target = FightShapes();
            }
            Program.Статус status = sea.Выстрел(target);
            switch (status)
            {
            case Program.Статус.Мимо: map[target.x, target.y] = 1; break;

            case Program.Статус.анил: map[target.x, target.y] = 2; modeDanger = true; break;

            case Program.Статус.Убил:
            case Program.Статус.Победил:
                map[target.x, target.y] = 2;
                int len = MarkKilledShip(target);
                shipLenght[len]--;
                modeDanger = false;
                break;
            }
            return(status);
        }
예제 #2
0
        private void grid_comp_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            grid_comp.ClearSelection();
            if (mode != Mode.PlayUser)
            {
                return;
            }
            Program.Статус status = sea_comp.Выстрел(new Program.Точка(e.ColumnIndex, e.RowIndex));
            switch (status)
            {
            case Program.Статус.Неизвестно:
            case Program.Статус.Мимо:
                mode = Mode.PlayComp;
                break;

            case Program.Статус.анил:
            case Program.Статус.Убил:
                mode = Mode.PlayUser;
                break;

            case Program.Статус.Победил:
                mode = Mode.Finish;
                WinUser();
                break;
            }
        }
예제 #3
0
        private void CompFight()
        {
            Program.Точка  point;
            Program.Статус status = mission.Fight(out point);
            switch (status)
            {
            case Program.Статус.Неизвестно:
            case Program.Статус.Мимо:
                mode = Mode.PlayUser;
                break;

            case Program.Статус.анил:
            case Program.Статус.Убил:
                mode = Mode.PlayComp;
                break;

            case Program.Статус.Победил:
                mode = Mode.Finish;
                WinComp();
                break;
            }
        }
예제 #4
0
파일: SeaGrid.cs 프로젝트: galich2/bs
 public void ShowFight(Program.Точка place, Program.Статус status)
 {
     grid[place.x, place.y].Style.BackColor = color_fight[(int)status];
 }
예제 #5
0
 private void ShowCompFight(Program.Точка place, Program.Статус status)
 {
     GridComp.ShowFight(place, status);
 }
예제 #6
0
 private void ShowUserFight(Program.Точка place, Program.Статус status)
 {
     GridUser.ShowFight(place, status);
 }