#include "vision.h"

std::vector<int> getVisionPattern1d()
{
	return {2, 1, 3, 1, 1, 1};
}

int getMove1d(std::vector<int> v)
{
	if (v.size() == 3) {
		if (v[0] > 1) {
			return 0;
		} else {
			return 2;
		}
	} else if (v.size() == 5) {
		if (v.back() == 3) {
			return 4;
		} else {
			return 0;
		}
	} else {
		if (v[1] == 2) {
			return 6;
		} else {
			return 0;
		}
	}
}

std::vector<std::vector<int>> getVisionPattern2d() {
	return {{2, 1, 1, 1}, {1, 3, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}};
}

std::pair<int, int> getMove2d(std::vector<std::vector<int>> v) {
    if (v.size() == 3) {
		 for (int i = 0; i < 3; i ++) {
			 for (int j = 0; j < 3; j ++) {
				 if (v[i][j] > 1) {
					 return {i, j};
				 }
			 }
		 }
		 return {0, 0};
	 } else if (v.size() == 5) {
		 for (int i = 0; i < 5; i ++) {
			 for (int j = 0; j < 5; j ++) {
				 if (v[i][j] == 3) {
					 return {i, j};
				 }
			 }
		 }
		 return {0, 0};
	 } else {
		 for (auto i : {0, 6}) {
			 for (auto j : {0, 6}) {
				 if (v[i][j] == 2) {
					 return {i, j};
				 }
			 }
		 }
		 return {0, 0};
	 }
}
