private void change_buttons(int toNumberX, int toNumberY, int toNormalX, int toNormalY) { _gombPlace[toNumberX, toNumberY] = 1; _gombPlace[toNormalX, toNormalY] = 0; var number = GameButton.get_btn_value(_gameButtons[toNormalX, toNormalY]); _gameButton.numbered_btn(_gameButtons[toNumberX, toNumberY], int.Parse(number)); GameButton.normal_btn(_gameButtons[toNormalX, toNormalY]); }
private void number_fusion(int newPlaceX, int newPlaceY, int emptyPlaceX, int emptyPlaceY) { _gombPlace[newPlaceX, newPlaceY] = 1; _gombPlace[emptyPlaceX, emptyPlaceY] = 0; var number = int.Parse(GameButton.get_btn_value(_gameButtons[newPlaceX, newPlaceY])) + int.Parse(GameButton.get_btn_value(_gameButtons[emptyPlaceX, emptyPlaceY])); if (number == 2048) { win_mess(); } _gameButton.numbered_btn(_gameButtons[newPlaceX, newPlaceY], number); GameButton.normal_btn(_gameButtons[emptyPlaceX, emptyPlaceY]); }
public void save_game_Area_() { var frameValues = new int[_aSide, _aSide]; for (var i = 0; i < _gombPlace.GetLength(0); i++) { for (var j = 0; j < _gombPlace.GetLength(1); j++) { if (_gombPlace[i, j] != 0) { frameValues[i, j] = int.Parse(GameButton.get_btn_value(_gameButtons[i, j])); } } } _saveGameArea.save_game_area(_gombPlace, frameValues, _aSide); }
public void save_last_scene() { _lastValues = new int[_aSide, _aSide]; _lastPlaces = new int[_gombPlace.GetLength(0), _gombPlace.GetLength(1)]; for (var i = 0; i < _gombPlace.GetLength(0); i++) { for (var j = 0; j < _gombPlace.GetLength(1); j++) { if (_gombPlace[i, j] != 0) { _lastValues[i, j] = int.Parse(GameButton.get_btn_value(_gameButtons[i, j])); _lastPlaces[i, j] = _gombPlace[i, j]; } } } // last_score = information_Container.current_score; // last_places = gomb_place; }
public bool fushion_is_avaiable() { for (var i = 0; i < _gombPlace.GetLength(0); i++) { for (var j = 1; j < _gombPlace.GetLength(1); j++) { if (GameButton.get_btn_value(_gameButtons[i, j - 1]) == GameButton.get_btn_value(_gameButtons[i, j])) { return(true); } } for (var l = 1; l < _gombPlace.GetLength(1); l++) { if (GameButton.get_btn_value(_gameButtons[l - 1, i]) == GameButton.get_btn_value(_gameButtons[l, i])) { return(true); } } } return(false); }
private void up_down_move(string upOrDown, bool fushionChecker) { _wasChange = false; int sor; for (var i = 0; i < _gombPlace.GetLength(0); i++) { for (var proba = 0; proba < _gombPlace.GetLength(0) - 1; proba++) { switch (upOrDown) { case "up": sor = 1; while (sor < _gombPlace.GetLength(1)) { if (_gombPlace[sor, i] == 1 && _gombPlace[sor - 1, i] == 0) { change_buttons(sor - 1, i, sor, i); _wasChange = true; } sor++; } break; case "down": sor = _gombPlace.GetLength(0) - 1; while (sor > 0) { if (_gombPlace[sor, i] == 0 && _gombPlace[sor - 1, i] == 1) { change_buttons(sor, i, sor - 1, i); _wasChange = true; } sor--; } break; } } } if (!fushionChecker) { return; } { _arrayIndexes = new ArrayIndexes[_aSide * _aSide]; var arrayOfIndex = 0; for (var i = 0; i < _gombPlace.GetLength(0); i++) { switch (upOrDown) { case "up": sor = 1; while (sor < _gombPlace.GetLength(1)) { if (_gombPlace[sor, i] == 1 && _gombPlace[sor - 1, i] == 1 && int.Parse(GameButton.get_btn_value(_gameButtons[sor, i])) == int.Parse(GameButton.get_btn_value(_gameButtons[sor - 1, i]))) { var array = new ArrayIndexes { ToX = sor - 1, ToY = i, FromX = sor, FromY = i, Direction = "up" }; _arrayIndexes[arrayOfIndex] = array; arrayOfIndex++; sor++; } sor++; } break; case "down": sor = _gombPlace.GetLength(0) - 1; while (sor > 0) { if (_gombPlace[sor, i] == 1 && _gombPlace[sor - 1, i] == 1 && int.Parse(GameButton.get_btn_value(_gameButtons[sor, i])) == int.Parse(GameButton.get_btn_value(_gameButtons[sor - 1, i]))) { var array = new ArrayIndexes { ToX = sor, ToY = i, FromX = sor - 1, FromY = i, Direction = "down" }; _arrayIndexes[arrayOfIndex] = array; arrayOfIndex++; sor--; } sor--; } break; } } if (_wasChange || arrayOfIndex > 0 && is_place_for_btn()) { add_new_number(GameButton.get_new_btn()); } frame_fushion(_arrayIndexes, arrayOfIndex); } }
private void left_right_move(string rightOrLeft, bool frameChecker) { _wasChange = false; for (var i = 0; i < _gombPlace.GetLength(0); i++) { for (var proba = 0; proba < _gombPlace.GetLength(0) - 1; proba++) { if (rightOrLeft == "left") { for (var k = 1; k < _gombPlace.GetLength(1); k++) { if (_gombPlace[i, k - 1] == 0 && _gombPlace[i, k] == 1) { change_buttons(i, k - 1, i, k); _wasChange = true; } else if (rightOrLeft == "right") { for (var j = _gombPlace.GetLength(1) - 1; j >= 1; j--) { if (_gombPlace[i, j] == 0 && _gombPlace[i, j - 1] == 1) { change_buttons(i, j, i, j - 1); _wasChange = true; } } } } } } } if (!frameChecker) { return; } { _arrayIndexes = new ArrayIndexes[_aSide * _aSide]; var arrayOfIndex = 0; for (var i = 0; i < _gombPlace.GetLength(0); i++) { if (rightOrLeft == "left") { for (var k = 1; k < _gombPlace.GetLength(1); k++) { if (_gombPlace[i, k - 1] == 1 && _gombPlace[i, k] == 1 && int.Parse(GameButton.get_btn_value(_gameButtons[i, k - 1])) == int.Parse(GameButton.get_btn_value(_gameButtons[i, k]))) { var array = new ArrayIndexes { ToX = i, ToY = k - 1, FromX = i, FromY = k, Direction = "left" }; _arrayIndexes[arrayOfIndex] = array; arrayOfIndex++; k++; } else if (rightOrLeft == "right") { for (var j = _gombPlace.GetLength(1) - 1; j >= 1; j--) { if (_gombPlace[i, j] == 1 && _gombPlace[i, j - 1] == 1 && int.Parse(GameButton.get_btn_value(_gameButtons[i, j - 1])) == int.Parse(GameButton.get_btn_value(_gameButtons[i, j]))) { var array = new ArrayIndexes { ToX = i, ToY = j, FromY = j - 1, FromX = i, Direction = "right" }; _arrayIndexes[arrayOfIndex] = array; arrayOfIndex++; j--; } } } } } } if (_wasChange || arrayOfIndex > 0 && is_place_for_btn()) { add_new_number(GameButton.get_new_btn()); } frame_fushion(_arrayIndexes, arrayOfIndex); } }