Skip to content

Instantly share code, notes, and snippets.

View Jorger's full-sized avatar
🏠
Working from home

Jorge Rubiano Jorger

🏠
Working from home
View GitHub Profile
const sockets = require('./sockets');
const exec = require('child-process-promise').exec;
const {
ADB_DIRECTORY,
AAPT_DIRECTORY,
} = require('../config').adb;
//Ejecuta acciones ADB shell..
exports.processADB = (command, typeAction = ADB_DIRECTORY, props = {}) => {
const createSHFile = (test) => {
return new Promise((resolve, reject) => {
const fileSH = `${APK_DIRECTORY}/${test.idapk}/${test.token_apk}.sh`;
//Se debe renombrar el archivo...
try {
const stream = fs.createWriteStream(fileSH);
stream.once('open', (fd) => {
stream.write("#!/bin/sh\n");
stream.write(`cd ${APK_DIRECTORY}/${test.idapk}\n`);
//Renombrar el archivo de features que existe...
if (dataPipe[3] !== dataPipe[5]) {
const indexRotate = pipesRotate.map(v => v[0]).indexOf(index);
if (indexRotate >= 0) {
const newAngule = angles[dataPipe[5]] === 0 ? 360 : angles[dataPipe[5]];
if (pipesRotate[indexRotate][1] + 15 <= newAngule) {
pipesRotate[indexRotate][1] += 15;
angle = pipesRotate[indexRotate][1];
} else {
angle = newAngule;
pipesRotate.splice(indexRotate, 1);
//Se carga la imagen en el canvas copia...
ctxCopy.clearRect(0, 0, 100, 100);
ctxCopy.drawImage(figures[dataPipe[2] - 1].i, 0, 0, width, width);
//Se aplica el color si es necesario...
if (dataPipe[4] !== "") {
ctxCopy.globalCompositeOperation = "source-atop";
//Color a aplicar...
ctxCopy.fillStyle = dataPipe[4];
ctxCopy.fillRect(0, 0, width, width);
const getDirections = [
[[1, 0], [0, -1], [-1, 0], [0, 1]], //Figura Inicio (1) y línea (5)
[
//Figura tipo T (3)
[[2, 0, -1, 1, 0, 1, 3], [3, 1, 0, 0, 0, 1, 3], [1, 1, 0, 0, 0, -1, 1]],
[
[3, -1, 0, 2, 1, 0, 0],
[2, 0, -1, 1, -1, 0, 2],
[0, 0, -1, 1, 1, 0, 0]
],
const getNeighbour = (pipesInposition, directionPipe) => {
let indexNextPipe = -1;
const posibleDirections = [
[[2], [2], [1, 2, 3], [1, 2], [0, 2]],
[[3], [3], [0, 2, 3], [2, 3], [1, 3]],
[[0], [0], [0, 1, 3], [0, 3], [0, 2]],
[[1], [1], [0, 1, 2], [0, 1], [1, 3]]
][directionPipe];
if (pipesInposition.length !== 0) {
for (let indexPipe of pipesInposition) {
let finalElements = 0;
for (let connected of connectedPipes) {
if (
actualWorld[1][connected][2] !== 1 &&
actualWorld[1][connected][2] !== 2
) {
//Se establece el color...
actualWorld[1][connected][4] = initialColor;
} else {
if (actualWorld[1][connected][2] === 2) {
//Saber si todos están conectados...
if (globalPipes.length === actualWorld[1].length) {
const pipesFinish = numFinalElements.reduce(
(a, s) => a + (s[1] !== 0),
0
);
if (pipesFinish === actualWorld[2].length) {
finishLevel = true;
modalText(true, "Next Level");
}
const readDataLevels = data => {
const dataWord = [];
const splitdata = data.split(";");
for (let value of splitdata) {
const splitWorld = value.split("#");
const splitDimensionColors = splitWorld[0].split(",");
const pipesValue = splitWorld[1];
//Partir los valores que se necesitan...
//Guardar los valores de inicio...
const limitPoints = { s: [], e: [] };
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">