Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович

Морской флот / Одинокий капитан - Победа!

  • На этом уроке мы добавим на форму таймер
    и флаг состояния игры. После этого мы поиграем
    в одинокого капитана - будем стрелять
    по всем океанам без ответного огня.
  • Дата отправки отчёта: 30 ноября 2015 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: Осознал всю проблемность microtime() by PHP, получил опыт, когда проблемы программы имеют "железные корни". 
  • Что было сложным: microtime( используется для счёта времени, берёт значения от Windows API. Она работает не стабильно на многоядерных энергоэффективных системах, где частота работы CPU постоянно меняется в зависимости от надобности.  https://support.microsoft.com/ru-ru/kb/895980
    На серверах такой проблемы нет - частота CPU там постоянна.
    microtime у меня выдаёт отрицательные значения, причём не редко, по этой причине текущую игровую ситуацию программа не смогла прогрузить - SQL-запрос не дел, он позволяет грузить только тогда, когда передаваемое значение времени меньше, чем то, что в БД. При первом запуске мы 0 посылаем, а если значения отрицательны, то ничего мы не получим в итоге.

    Не знаю что с этим делать. У меня Windows 10, а проблема вроде как Windows Vista, XP и т.д.
  • Комментарии: Следует учесть проблемность microtime, не знаю как. Не у всех курсантов она может корректно работать.
  • Оценка видео-уроку:
Отчёт от 6632 за Морской флот / Одинокий капитан - Победа!


Отчёт от 6632 за Морской флот / Одинокий капитан - Победа!




Оцени работу

 
Сохранить страницу:

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Волнухин Владимир  # Морской флот / Одинокий капитан - Победа! / 2015-12-01 09:15

А если попробовать так:
$nanotime = exec(“date +%s%N”);


2146. Иван
Иван
ответить
→  Волнухин Владимир  # Морской флот / Одинокий капитан - Победа! / 2015-12-01 01:10

Да уж, засада. У меня на xp пока с этим не встречался... Надо понаблюдать.


  • Отчёт оценивали:
    8118Юрий +1   24Олюшка+1   7795Вадим+1   7901Влад+1   6391Владимир+1   7276Ильшат+1   8363Cаша0   1232Фомичева Наталья+1   2146Иван+1   6958Кирилл0   7645Александр Львович+1   429Максим Базуев+1   6925Артём+1   6632Волнухин Владимир+1   4395Денис+1   1Евгений Волосатов+1   1101Аркадий+1   7985Андрей +1   7788Ксения+1   4004Елена+1   3747Сергей+1   459Сергей Сергеевич+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Сыграл в игру "одиноким капитаном", потопил вражеский флот без сопротивления
нет
Научился: Все очень интересно!
Трудности: Пока экспериментирую с двумя океанами.
Первое соединение с сервером у меня идет секунд 20-30, поэтому решил сделать, чтобы курсор менялся на песочные часы. Еще одна проблема возникла, что пока программа соединяется, она успевала еще несколько запросов послать. Сделал, что пока ответ от сервера не пришел, таймер на это время выключается.