Каковы некоторые хорошие ресурсы для записи шахматного механизма? [закрытый]

ES6: Используя async/await, вы можете сделать это последовательно-способом

async function getMeta(url) {
    return new Promise((resolve, reject) => {
        let img = new Image();
        img.onload = () => resolve(img);
        img.onerror = reject;
        img.src = url;
    });
}

И вы можете использовать его следующим образом (что почти идентично коду в вашем вопросе (я добавляю await ключевое слово и изменить переменную end на img и изменить var на let ключевое слово)

let img = await getMeta("http://shijitht.files.wordpress.com/2010/08/github.png");
let w = img.width;
let h = img.height; 
alert(w+'width'+h+'height');

помните, что если вы вызываете getMeta в некоторой функции, он должен иметь async в его определении.

76
задан Paul Wicks 30 January 2009 в 06:56
поделиться

8 ответов

Из моих архивов:

112
ответ дан 15 revs, 3 users 91% 7 November 2019 в 06:52
поделиться

Обзор многих алгоритмов, полезных в шахматах - http://www.frayn.net/beowulf/theory.html - должен быть хорошей начальной точкой понимания меры проблемы и нескольких способов упростить вычислительную работу.

-Adam

9
ответ дан Adam Davis 7 November 2019 в 06:52
поделиться

Вы могли всегда посмотреть на Шахматы GNU код.

4
ответ дан Eduard - Gabriel Munteanu 7 November 2019 в 06:52
поделиться

Это в основном в области Искусственный интеллект (AI).

наиболее распространенный способ заставить компьютер "думать" в игре в шахматы использует минимаксный метод , где компьютер "думает" путем анализа результатов создания различных перемещений заранее от текущего состояния.

"совершенство" результатов различных перемещений может быть, определяют от многих критериев, таких как счет, число оставленных врагов, побеждающее состояние, например. Например, если Вы перемещаете плеер направо, и Вы выигрываете игру, это - очень хорошее состояние. Но если Вы перемещаете его налево, Вы ничего не получаете. Разумно переместиться направо. Эта функция, которые определяют "совершенство", обычно вызывается Эвристическая Функция.

Этот процесс сделан рекурсивно для многих поворотов. Чем больше количество поворотов, тем большее количество времени Вам будет требоваться. И чем больше количество поворотов, тем более интеллектуально Ваше программное обеспечение. Предположение только в одном повороте может только привести к жадному выбору. Интеллектуальное шахматное программное обеспечение имеет большую эвристическую функцию, и предположите во многих поворотах.

PS Там является некоторыми деталями минимаксного алгоритма, который я не объяснил здесь, но это должно покрыть основную идею.

1
ответ дан Gant 7 November 2019 в 06:52
поделиться

Claude Shannon статья 1949 года (предупреждение: PDF) на предмете хорошее стартовое место

3
ответ дан barrowc 7 November 2019 в 06:52
поделиться

Лучшее шахматное учебное руководство по программированию для новичков в GameDev. Очень легко понять, в то время как это очень вдается в подробности.

2
ответ дан Niyaz 7 November 2019 в 06:52
поделиться

При создании своего шахматного движка я потратил месяцы, пытаясь собрать хорошие ресурсы, которые описывают некоторые более сложные аспекты создания шахмат игра. Вот список тех, которые я нашел наиболее полезными:

Программирование шахмат Франсуа Доминика Лараме

Это статья, которая привела меня в компьютерные шахматы. Это отличный обзор того, как компьютеры играют в шахматы. Его чрезвычайно легко прочитать, и он познакомит вас со всеми терминами и ключевыми словами.

http://www.gamedev.net/page/resources/_/technical/artificial-intelligence/chess-programming-part-i -getting-start-r1014

Вики по компьютерным шахматам , за последние несколько месяцев они действительно расширились. Это отличный ресурс для справочного материала.

https://www.chessprogramming.org/Main_Page

Louis Kessler '

28
ответ дан mie.ppa 24 November 2019 в 11:14
поделиться

Я присоединился к той же лиге, что и Пол Уикс (см. Выше), я тоже хочу написать шахматный движок для собственного обучения, единственным ограничением является моя повседневная работа (которая заключается в работе над скучными веб-сервисами и прочим ...) но это стоит боли.

Я решил создать его, используя поэтапный подход. Я почти закончил с многопользовательской частью, то есть (ЧЕЛОВЕК против ЧЕЛОВЕКА).

Как только я закончу с этим, я хотел бы включить уровень AI для поддержки игровой схемы (КОМПЬЮТЕР против ЧЕЛОВЕКА). Это та часть, которая меня больше всего беспокоит, я нашел здесь очень полезные подсказки. эта ветка, большое спасибо всем вам.

В настоящее время я хорошо разбираюсь в языке Java. В случае падения производительности я могу перенести его на C ++.

1
ответ дан 24 November 2019 в 11:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: