js003-4方向8方向函数
1,求四方向或者8方向的周围的棋子。
/**
* pos 1-4, 1-8 4/8方向的周围
* @param {*} pos
* @param {*} dir
*/
var _nearChess = function (pos, dir) {
const row = 7; //横
const col = 7; //列
const x = pos % col;
const y = Math.floor(pos / row);
switch (dir) {
case 1: //up
if (y !== 0) {
return pos - col;
}
break;
case 2: //down
if (y !== col - 1) {
return pos + col;
}
break;
case 3: //left
if (x !== 0) {
return pos - 1;
}
break;
case 4: //right
if (x !== col - 1) {
return pos + 1;
}
break;
case 5: //left up
if (x !== 0 && y !== 0) {
return pos - col - 1;
}
break;
case 6: //right up
if (x !== col - 1 && y !== 0) {
return pos - col + 1;
}
break;
case 7: //left down
if (x !== 0 && y !== col - 1) {
return pos + col - 1;
}
break;
case 8: //right down
if (x !== col - 1 && y !== col - 1) {
return pos + col + 1;
}
break; default:
break;
}
return null;
}
2, A*等其他的算法,后面补充。
js003-4方向8方向函数的更多相关文章
- 交替方向乘子法(ADMM)
交替方向乘子法(ADMM) 参考1 参考2 经典的ADMM算法适用于求解如下2-block的凸优化问题( 是最优值,令 表示一组最优解): Block指我们可以将决策域分块,分成两组变量, 这里面 都 ...
- 快速构建Windows 8风格应用10-设备方向
原文:快速构建Windows 8风格应用10-设备方向 本篇博文主要介绍常用支持Windows 8操作系统设备的方向.如何获取当前设备方向.DisplayProperties类. 常用支持Window ...
- 弹性布局--flex方向
flex方向 flex方向由flex-direction特性决定,用于定义弹性布局模式.flex-direction共有4种模式:从左向右.从右向左.从上往下.从下往上. 主轴 主轴的起点与终点定义了 ...
- 【转】IT行业岗位以及发展方向
以下转自https://blog.csdn.net/qq_23994787/article/details/79847270 职业生涯规划的意义 1.以既有的成就为基础,确立人生的方向,提供奋斗的策略 ...
- 【Cocos2d-Js实战教学(1)横版摇杆八方向移动】
本教程主要通过搭建一个横版摇杆八方向移动的实例,让大家如何用Cocos2dx-Js来做一款游戏,从基础了解Cocos2dx-Js的基本实现原理,从创建工程,到各个知识点的梳理. 教程分为上下两讲: 上 ...
- (转)matlab练习程序(HOG方向梯度直方图)
matlab练习程序(HOG方向梯度直方图)http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html HOG(Histogram o ...
- MBProgressHUD 显示方向异常
一直在iphone上使用MBProgressHUD做提示信息视图.一直都没有什么问题,但用在ipad上使用时.却有时会出现显示方向不正常.如ipad屏幕是横的,但当MBProgressHUD出现时却依 ...
- POJ 题目1204 Word Puzzles(AC自己主动机,多个方向查询)
Word Puzzles Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 10244 Accepted: 3864 S ...
- 工作2-5年,身为iOS开发的我应该怎么选择进修方向?
前言: 跳槽,面试,进阶,加薪:这些字眼,相信每位程序员都不陌生! 但是方向的选择,却不知如何抉择!其实最好的方向,已经在各个企业面试需求中完美的体现出来了: 本文展示了2份面试需求,以及方向的总结, ...
随机推荐
- 三 概要模式 3) MR计数器计数 。无 reduce 计数
计数器模式讲解: 先讲一下,就是说只用 Map 阶段 不需要 Reduce . 也就是说去掉了中间输出,而是Map 直接输出结果.大大提高了 MR 的效率且节省了 MR 中间输出读入 ...
- 项目集成Hudson+SonarQube出现的一个问题
[ERROR] No plugin found for prefix 'sonar' in the current project and in the plugin groups [org.mort ...
- 理解Swift中map 和 flatMap对集合的作用
map和flatMap是函数式编程中常见的概念,python等语言中都有.借助于 map和flapMap 函数可以非常轻易地将数组转换成另外一个新数组. map函数可以被数组调用,它接受一个闭包作为參 ...
- Google代码规范工具Cpplint的使用
Cpplint是一个python脚本,Google使用它作为自己的C++代码规范检查工具. 假设你所在的公司也使用Google C++代码规范,那么你有必要了解下Cpplint. 以下说一下Cppli ...
- C# Winform 模拟QQ新闻弹出框
一开始做的时候,觉得这个太简单了.真心做的时候还是遇到了不少的坑啊. 1)循环播放新闻内容,建议使用showdialog(),不要用show(),不太好控制前后之间的停顿. 2)窗口的初始位置为有下角 ...
- ubuntu创建文件夹桌面快捷方式
最近在使用dropbox,用来存储一些自己的markdown笔记和pdf文件.觉得放一个快捷方式在桌面上比较方便,但是lxde似乎没有直接创建桌面快捷方式的功能(或者是我没有找到),就上网查了一下,顺 ...
- Android-加载大图避免OOM
高效加载大图片 我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状.不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小.比如说系统图片库里展示的图片大都是 ...
- 《剑指offer》合并两个排序的链表
一.题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 二.输入描述 两个递增排序的链表 三.输出描述 合并成一个递增排序的链表 四.牛客网提供的框 ...
- caffe(6) Blob,Layer,Net 以及对应配置文件的编写
深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成.Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型.它将所有的信息数据定义为blob ...
- zabbix2.4.5安装zatree插件
一.关于zatree zatree 是来自国内58公司开发的监控软件zabbix的一个插件,主要功能是提供host group的树形展示和在item里指定关键字查询及数据排序. 项目地址:https: ...