123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- /**
- * @Description:support.js
- * @Author:LCore
- */
- var documentWidth = window.screen.availWidth;
- var gridContainerWidth = 0.92*documentWidth;
- var cellSideLength = 0.18*documentWidth;
- var cellSpace = 0.04*documentWidth;
- var headerWidth=window.screen.availWidth;
- var showText = {
- '2': '高雄萌妹',
- '4': '一发入魂',
- '8': '乱斗王者',
- '16': 'CAD大师',
- '32': '斗奶狂魔',
- '64': '认发作妈',
- '128': '下岗女工',
- '256': '梦碎豪门',
- '512': '太极宗师',
- '1024': '远离魔都',
- '2048': '文学巨匠',
- '4096': '分手大师',
- '8192': '金牌僚机',
- '16384': '股海明灯',
- };
- function getPostionTop(i, j) {
- return (i * cellSideLength + (i + 1) * cellSpace);
- }
- function getPostionLeft(i, j) {
- return (j * cellSideLength + (j + 1) * cellSpace);
- }
- function getShowTextByNum(number){
- if (number < (16384 +1)) {
- return showText[number];
- }
- return 'xx';
- }
- function getBackgroundColorByNum(number) {
- switch (number) {
- case 2:
- return "#eee4da";
- break;
- case 4:
- return "#ede0c8";
- break;
- case 8:
- return "#f2b179";
- break;
- case 16:
- return "#f59563";
- break;
- case 32:
- return "#f67c5f";
- break;
- case 64:
- return "#f65e3b";
- break;
- case 128:
- return "#edcf72";
- break;
- case 256:
- return "#edcc61";
- break;
- case 512:
- return "#9c0";
- break;
- case 1024:
- return "#33b5e5";
- break;
- case 2048:
- return "#09c";
- break;
- case 4096:
- return "#a6c";
- break;
- case 8192:
- return "#93c";
- break;
- }
- return "black";
- }
- function getPreColorByNum(number) {
- if (number <= 4)
- return "#776e65";
- return "white";
- }
- function isNoSpace(board) {
- for (var i = 0; i < 4; i++)
- for (var j = 0; j < 4; j++)
- if (board[i][j] == 0)
- return false;
- return true;
- }
- function canMoveLeft(board) {
- for (var i = 0; i < 4; i++) {
- for (var j = 1; j < 4; j++) {
- if (board[i][j] != 0) {
- if (board[i][j - 1] == 0 || board[i][j] == board[i][j - 1])
- return true;
- }
- }
- }
- return false;
- }
- function canMoveRight(borad) {
- for (var i = 3; i >= 0; i--) {
- for (var j = 2; j >= 0; j--) {
- if (board[i][j] != 0) {
- if (board[i][j + 1] == 0 || board[i][j] == board[i][j + 1])
- return true;
- }
- }
- }
- return false;
- }
- function canMoveUp(borad) {
- for (var i = 0; i < 4; i++) {
- for (var j = 1; j < 4; j++) {
- if (board[j][i] != 0) { //可以移动
- if (board[j - 1][i] == 0 || board[j][i] == board[j - 1][i])
- return true;
- }
- }
- }
- return false;
- }
- function canMoveDown(borad) {
- for (var i = 3; i >= 0; i--) {
- for (var j = 2; j >= 0; j--) {
- if (board[j][i] != 0) { //可以移动
- if (board[j + 1][i] == 0 || board[j][i] == board[j + 1][i])
- return true;
- }
- }
- }
- return false;
- }
- function cavMoveAll(borad){
- res = canMoveLeft(borad) || canMoveRight(borad) || canMoveUp(borad) || canMoveDown(borad);
- return res;
- }
- /**
- *@Desciption:重新构造canMove方法(包括上、下、左、右)
- *@author:LCore
- *@pragram board:棋盘格
- *@pragram direction:移动方向
- */
- function canMove(board, direction) {
- if (direction == 1) {
- //左移
- for (var i = 0; i < 4; i++) {
- for (var j = 1; j < 4; j++) {
- if (board[i][j] != 0) {
- if (board[i][j - 1] == 0 || board[i][j] == board[i][j - 1])
- return true;
- }
- }
- }
- } else if (direction == 2) {
- //上移
- for (var i = 0; i < 4; i++) {
- for (var j = 1; j < 4; j++) {
- if (board[j][i] != 0) { //可以移动
- if (board[j - 1][i] == 0 || board[j][i] == board[j - 1][i])
- return true;
- }
- }
- }
- } else if (direction == 3) {
- //下移
- for (var i = 3; i >= 0; i--) {
- for (var j = 2; j >= 0; j--) {
- if (board[j][i] != 0) { //可以移动
- if (board[j + 1][i] == 0 || board[j][i] == board[j + 1][i])
- return true;
- }
- }
- }
- } else if (direction == 4) {
- //右移
- for (var i = 3; i >= 0; i--) {
- for (var j = 2; j >= 0; j--) {
- if (board[i][j] != 0) {
- if (board[i][j + 1] == 0 || board[i][j] == board[i][j + 1])
- return true;
- }
- }
- }
- } else
- return false;
- }
- /**
- *@Description:横向判断是否存在障碍物
- *@pagram row:第几行
- *@pagram col1:开始索引
- *@pagram col2:结束索引
- *@pagram board:棋盘格
- */
- function noBlockHorizontal(row, col1, col2, board) {
- for (var i = col1 + 1; i < col2; i++) {
- if (board[row][i] != 0)
- return false;
- }
- return true;
- }
- /**
- *@Description:纵向判断是否存在障碍物
- *@pagram col:第几列
- *@pagram row1:开始索引
- *@pagram row2:结束索引
- *@pagram board:棋盘格
- */
- function noBlockVectal(col, row1, row2, board) {
- for (var i = row1 + 1; i < row2; i++) {
- if (board[i][col] != 0)
- return false;
- }
- return true;
- }
|