Ejemplo n.º 1
0
        private void grid_pc_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            grid_pc.ClearSelection();
            if (mode != Mode.PlayUser)
            {
                return;                        //если не наш ход
            }
            Статус status = sea_pc.Выстрел(new Точка(e.ColumnIndex, e.RowIndex));

            switch (status)
            {
            case Статус.неизвестно:
            case Статус.мимо:       mode = Mode.PlayComp;
                break;

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

            case Статус.победил:    mode = Mode.Finish; WinUser();
                break;
            }
            //   while (mode == Mode.PlayComp) CompFight(); //стреляет комп
        }
Ejemplo n.º 2
0
        public Статус Fight(out Точка target)
        {
            //do
            //{
            //    target = new Точка(
            //        rand.Next(0, Море.размер_моря.x),
            //        rand.Next(0, Море.размер_моря.y));
            //} while (sea.КартаПопаданий(target) != Статус.неизвестно);
            if (modeDanger)
            {
                target = FightDanger();
            }
            else
            {
                target = FightShapes();
            }
            Статус status = sea.Выстрел(target);

            switch (status)
            {
            case Статус.мимо: map[target.x, target.y] = 1; break;

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

            case Статус.убил:
            case Статус.победил: map[target.x, target.y] = 2;
                int len = markKilledShip(target); //если попали в корабль
                shipLength[len]--;                //уменьшаем его длину
                modeDanger = false;
                break;
            }
            //return sea.Выстрел(target);
            return(status);
        }
Ejemplo n.º 3
0
        private void CompFight()
        {
            Точка  point;
            Статус status = mission.Fight(out point);

            switch (status)
            {
            case Статус.неизвестно:
            case Статус.мимо:
                mode = Mode.PlayUser;
                break;

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

            case Статус.победил:
                mode = Mode.Finish; WinComp();
                break;
            }
        }
        }                                              //Протокол с ошибкой
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document23176(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Fld25582RRef
						,_Fld25583RRef
						,_Fld25586RRef
						,_Fld25587RRef
						,_Fld25588
						,_Fld25589
						,_Fld25590
						,_Fld25591
						,_Fld25592
						,_Fld25593
						,_Fld25594
						,_Fld25595
						,_Fld25596RRef
						,_Fld25597)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@ЦиклОбмена
						,@Тип
						,@УчетнаяЗапись
						,@Статус
						,@Тема
						,@ТекстПисьма
						,@ИдентификаторСообщения
						,@ДатаТранспорта
						,@Важность
						,@Кодировка
						,@ОтКогоАдрес
						,@ОтКогоПредставление
						,@Основание
						,@ПротоколСОшибкой)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document23176
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Fld25582RRef	= @ЦиклОбмена
						,_Fld25583RRef	= @Тип
						,_Fld25586RRef	= @УчетнаяЗапись
						,_Fld25587RRef	= @Статус
						,_Fld25588	= @Тема
						,_Fld25589	= @ТекстПисьма
						,_Fld25590	= @ИдентификаторСообщения
						,_Fld25591	= @ДатаТранспорта
						,_Fld25592	= @Важность
						,_Fld25593	= @Кодировка
						,_Fld25594	= @ОтКогоАдрес
						,_Fld25595	= @ОтКогоПредставление
						,_Fld25596RRef	= @Основание
						,_Fld25597	= @ПротоколСОшибкой
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Тип", Тип.Ключ());
                    Команда.Parameters.AddWithValue("Статус", Статус.Ключ());
                    Команда.Parameters.AddWithValue("Тема", Тема);
                    Команда.Parameters.AddWithValue("ТекстПисьма", ТекстПисьма);
                    Команда.Parameters.AddWithValue("ИдентификаторСообщения", ИдентификаторСообщения);
                    Команда.Parameters.AddWithValue("ДатаТранспорта", ДатаТранспорта);
                    Команда.Parameters.AddWithValue("Важность", Важность);
                    Команда.Parameters.AddWithValue("Кодировка", Кодировка);
                    Команда.Parameters.AddWithValue("ОтКогоАдрес", ОтКогоАдрес);
                    Команда.Parameters.AddWithValue("ОтКогоПредставление", ОтКогоПредставление);
                    Команда.Parameters.AddWithValue("Основание", Основание.Ссылка);
                    Команда.Parameters.AddWithValue("ПротоколСОшибкой", ПротоколСОшибкой);
                    Команда.ExecuteNonQuery();
                }
            }
        }
Ejemplo n.º 5
0
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для справочников.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Reference23118(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Code
						,_Description
						,_Fld23678RRef
						,_Fld23679RRef
						,_Fld23680RRef
						,_Fld23683
						,_Fld23684
						,_Fld23685
						,_Fld23686
						,_Fld23687
						,_Fld23688)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Предопределенный
						,@Код
						,@Наименование
						,@Тип
						,@Статус
						,@Организация
						,@Содержание
						,@ДатаСообщения
						,@ДатаОтправки
						,@Идентификатор
						,@ИдентификаторОснования
						,@Ретроконверсия)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Reference23118
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_IsMetadata	= @Предопределенный
						,_Code	= @Код
						,_Description	= @Наименование
						,_Fld23678RRef	= @Тип
						,_Fld23679RRef	= @Статус
						,_Fld23680RRef	= @Организация
						,_Fld23683	= @Содержание
						,_Fld23684	= @ДатаСообщения
						,_Fld23685	= @ДатаОтправки
						,_Fld23686	= @Идентификатор
						,_Fld23687	= @ИдентификаторОснования
						,_Fld23688	= @Ретроконверсия
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Предопределенный", Предопределенный);
                    Команда.Parameters.AddWithValue("Код", Код);
                    Команда.Parameters.AddWithValue("Наименование", Наименование);
                    Команда.Parameters.AddWithValue("Тип", Тип.Ключ());
                    Команда.Parameters.AddWithValue("Статус", Статус.Ключ());
                    Команда.Parameters.AddWithValue("Организация", Организация.Ссылка);
                    Команда.Parameters.AddWithValue("Содержание", Содержание);
                    Команда.Parameters.AddWithValue("ДатаСообщения", ДатаСообщения);
                    Команда.Parameters.AddWithValue("ДатаОтправки", ДатаОтправки);
                    Команда.Parameters.AddWithValue("Идентификатор", Идентификатор);
                    Команда.Parameters.AddWithValue("ИдентификаторОснования", ИдентификаторОснования);
                    Команда.Parameters.AddWithValue("Ретроконверсия", етроконверсия);
                    Команда.ExecuteNonQuery();
                }
            }
        }
        }                                                              //Номер основной поставки1с
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document23146(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld24224
						,_Fld24225RRef
						,_Fld24226RRef
						,_Fld24227RRef
						,_Fld24229
						,_Fld24230
						,_Fld24231
						,_Fld24232
						,_Fld24233
						,_Fld24234
						,_Fld24235
						,_Fld24236
						,_Fld24237
						,_Fld24238
						,_Fld24239
						,_Fld24240
						,_Fld24241
						,_Fld24242
						,_Fld24243
						,_Fld24244
						,_Fld24245
						,_Fld24246
						,_Fld24247
						,_Fld24248RRef
						,_Fld24249
						,_Fld24250
						,_Fld24251
						,_Fld24252
						,_Fld24253RRef
						,_Fld24254RRef
						,_Fld24255
						,_Fld24256
						,_Fld24257
						,_Fld24258RRef
						,_Fld24259RRef
						,_Fld24260
						,_Fld24261
						,_Fld24262
						,_Fld24263RRef
						,_Fld24264
						,_Fld24265)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@ИдентификаторДокументооборота
						,@ТипЗаявления
						,@Статус
						,@УчетнаяЗапись
						,@ИНН
						,@КПП
						,@ПолноеНаименование
						,@КраткоеНаименование
						,@ПризнакУполномоченногоПредставителя
						,@ПризнакКрупнейшегоНалогоплательщика
						,@ПризнакОбособленногоПодразделения
						,@АдресЮридический
						,@АдресФактический
						,@РегНомерПФР
						,@РегНомерФСС
						,@ТелефонОсновной
						,@ТелефонДополнительный
						,@ЭлектроннаяПочта
						,@ВладелецЭЦПФамилия
						,@ВладелецЭЦПИмя
						,@ВладелецЭЦПОтчество
						,@ВладелецЭЦПДолжность
						,@ВладелецЭЦППодразделение
						,@ВладелецЭЦПВидДокумента
						,@ВладелецЭЦПНомерДокумента
						,@ВладелецЭЦПСерияДокумента
						,@ВладелецЭЦПДатаВыдачиДокумента
						,@ВладелецЭЦПКемВыданДокумент
						,@ВладелецЭЦПТип
						,@ТипКриптопровайдера
						,@ПутьКонтейнерЗакрытогоКлюча
						,@Комментарий
						,@СтатусКомментарий
						,@СпецоператорСвязи
						,@Организация
						,@ДатаОтправкиЗаявления
						,@ДатаПолученияОтвета
						,@ДатаСозданияУчетнойЗаписи
						,@Ответственный
						,@ДополнительныйКодФСС
						,@НомерОсновнойПоставки1с)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document23146
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld24224	= @ИдентификаторДокументооборота
						,_Fld24225RRef	= @ТипЗаявления
						,_Fld24226RRef	= @Статус
						,_Fld24227RRef	= @УчетнаяЗапись
						,_Fld24229	= @ИНН
						,_Fld24230	= @КПП
						,_Fld24231	= @ПолноеНаименование
						,_Fld24232	= @КраткоеНаименование
						,_Fld24233	= @ПризнакУполномоченногоПредставителя
						,_Fld24234	= @ПризнакКрупнейшегоНалогоплательщика
						,_Fld24235	= @ПризнакОбособленногоПодразделения
						,_Fld24236	= @АдресЮридический
						,_Fld24237	= @АдресФактический
						,_Fld24238	= @РегНомерПФР
						,_Fld24239	= @РегНомерФСС
						,_Fld24240	= @ТелефонОсновной
						,_Fld24241	= @ТелефонДополнительный
						,_Fld24242	= @ЭлектроннаяПочта
						,_Fld24243	= @ВладелецЭЦПФамилия
						,_Fld24244	= @ВладелецЭЦПИмя
						,_Fld24245	= @ВладелецЭЦПОтчество
						,_Fld24246	= @ВладелецЭЦПДолжность
						,_Fld24247	= @ВладелецЭЦППодразделение
						,_Fld24248RRef	= @ВладелецЭЦПВидДокумента
						,_Fld24249	= @ВладелецЭЦПНомерДокумента
						,_Fld24250	= @ВладелецЭЦПСерияДокумента
						,_Fld24251	= @ВладелецЭЦПДатаВыдачиДокумента
						,_Fld24252	= @ВладелецЭЦПКемВыданДокумент
						,_Fld24253RRef	= @ВладелецЭЦПТип
						,_Fld24254RRef	= @ТипКриптопровайдера
						,_Fld24255	= @ПутьКонтейнерЗакрытогоКлюча
						,_Fld24256	= @Комментарий
						,_Fld24257	= @СтатусКомментарий
						,_Fld24258RRef	= @СпецоператорСвязи
						,_Fld24259RRef	= @Организация
						,_Fld24260	= @ДатаОтправкиЗаявления
						,_Fld24261	= @ДатаПолученияОтвета
						,_Fld24262	= @ДатаСозданияУчетнойЗаписи
						,_Fld24263RRef	= @Ответственный
						,_Fld24264	= @ДополнительныйКодФСС
						,_Fld24265	= @НомерОсновнойПоставки1с
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    Команда.Parameters.AddWithValue("ИдентификаторДокументооборота", ИдентификаторДокументооборота);
                    Команда.Parameters.AddWithValue("ТипЗаявления", ТипЗаявления.Ключ());
                    Команда.Parameters.AddWithValue("Статус", Статус.Ключ());
                    Команда.Parameters.AddWithValue("ИНН", ИНН);
                    Команда.Parameters.AddWithValue("КПП", КПП);
                    Команда.Parameters.AddWithValue("ПолноеНаименование", ПолноеНаименование);
                    Команда.Parameters.AddWithValue("КраткоеНаименование", КраткоеНаименование);
                    Команда.Parameters.AddWithValue("ПризнакУполномоченногоПредставителя", ПризнакУполномоченногоПредставителя);
                    Команда.Parameters.AddWithValue("ПризнакКрупнейшегоНалогоплательщика", ПризнакКрупнейшегоНалогоплательщика);
                    Команда.Parameters.AddWithValue("ПризнакОбособленногоПодразделения", ПризнакОбособленногоПодразделения);
                    Команда.Parameters.AddWithValue("АдресЮридический", АдресЮридический);
                    Команда.Parameters.AddWithValue("АдресФактический", АдресФактический);
                    Команда.Parameters.AddWithValue("РегНомерПФР", егНомерПФР);
                    Команда.Parameters.AddWithValue("РегНомерФСС", егНомерФСС);
                    Команда.Parameters.AddWithValue("ТелефонОсновной", ТелефонОсновной);
                    Команда.Parameters.AddWithValue("ТелефонДополнительный", ТелефонДополнительный);
                    Команда.Parameters.AddWithValue("ЭлектроннаяПочта", ЭлектроннаяПочта);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПФамилия", ВладелецЭЦПФамилия);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПИмя", ВладелецЭЦПИмя);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПОтчество", ВладелецЭЦПОтчество);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПДолжность", ВладелецЭЦПДолжность);
                    Команда.Parameters.AddWithValue("ВладелецЭЦППодразделение", ВладелецЭЦППодразделение);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПНомерДокумента", ВладелецЭЦПНомерДокумента);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПСерияДокумента", ВладелецЭЦПСерияДокумента);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПДатаВыдачиДокумента", ВладелецЭЦПДатаВыдачиДокумента);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПКемВыданДокумент", ВладелецЭЦПКемВыданДокумент);
                    Команда.Parameters.AddWithValue("ВладелецЭЦПТип", ВладелецЭЦПТип.Ключ());
                    Команда.Parameters.AddWithValue("ТипКриптопровайдера", ТипКриптопровайдера.Ключ());
                    Команда.Parameters.AddWithValue("ПутьКонтейнерЗакрытогоКлюча", ПутьКонтейнерЗакрытогоКлюча);
                    Команда.Parameters.AddWithValue("Комментарий", Комментарий);
                    Команда.Parameters.AddWithValue("СтатусКомментарий", СтатусКомментарий);
                    Команда.Parameters.AddWithValue("СпецоператорСвязи", СпецоператорСвязи.Ключ());
                    Команда.Parameters.AddWithValue("ДатаОтправкиЗаявления", ДатаОтправкиЗаявления);
                    Команда.Parameters.AddWithValue("ДатаПолученияОтвета", ДатаПолученияОтвета);
                    Команда.Parameters.AddWithValue("ДатаСозданияУчетнойЗаписи", ДатаСозданияУчетнойЗаписи);
                    Команда.Parameters.AddWithValue("ДополнительныйКодФСС", ДополнительныйКодФСС);
                    Команда.Parameters.AddWithValue("НомерОсновнойПоставки1с", НомерОсновнойПоставки1с);
                    Команда.ExecuteNonQuery();
                }
            }
        }
Ejemplo n.º 7
0
 private void ShowPcFight(Точка place, Статус status)
 {
     //ShowFight(grid_pc, place, status);
     GridComp.ShowFight(place, status);
 }
Ejemplo n.º 8
0
 private void ShowUserFight(Точка place, Статус status)
 {
     //ShowFight(grid_user, place, status);
     GridUser.ShowFight(place, status);
 }