Beispiel #1
0
        private static void load_saved_scene(ViewGroup tableLayout, int aSide)
        {
            var saveGameArea = new SaveGameArea();
            var getSavedData = saveGameArea.GetGame_Area_(aSide);
            var gameButton   = new GameButton();

            for (var i = 0; i < aSide; i++)
            {
                for (var j = 0; j < aSide; j++)
                {
                    var tableRow    = (TableRow)tableLayout.GetChildAt(i);
                    var border      = (FrameLayout)tableRow.GetChildAt(j);
                    var frameLayout = (FrameLayout)border.GetChildAt(0);
                    if (getSavedData != null)
                    {
                        if (getSavedData.Values[i, j] <= 0)
                        {
                            continue;
                        }
                        frameLayout.SetBackgroundColor(gameButton.get_color_from_number(getSavedData.Values[i, j]));
                        GameButton.set_btn_number(border, getSavedData.Values[i, j].ToString());
                    }
                    else
                    {
                        return;
                    }
                }
            }
        }
Beispiel #2
0
 public GameArea(Context context, int aSide,
                 InformationContainer informationContainer) //elmentettem a context és az oldal hosszat, hogy ne kelljen minidg paraméterként megadni
 {
     _parentContext        = context;
     _aSide                = aSide;
     _gombPlace            = new int[aSide, aSide];
     _gameButton           = new GameButton(_parentContext, 0, aSide);
     _informationContainer = informationContainer;
     _saveGameArea         = new SaveGameArea();
     _scoreDatabase        = new ScoreDatabaseController();
 }
Beispiel #3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.game);
            _side          = int.Parse(Intent.GetStringExtra("a_side"));
            _scoreDatabase = new ScoreDatabaseController();
            _textView      = FindViewById <TextView>(Resource.Id.textView1);
            var gameLinearLayout =
                FindViewById <LinearLayout>(Resource.Id
                                            .game_screen); //Ez a legalapbb úgynevett root layout ehhez fogunk majd mindent hozzáadni vertical-is

            _informationContainer =
                new InformationContainer(_textView, int.Parse(Intent.GetStringExtra("a_side")));
            _gameArea = new GameArea(this, int.Parse(Intent.GetStringExtra("a_side")),
                                     _informationContainer); //itt átadtam ennek az activity-t és hogy mekkora legyen a pálya!!!!!!!!!!!!!!!!!!! itt lehet beállitani, hogy hányszor hányas legyen a pálya
            var tableLayout = _gameArea.generate_game_field();

            gameLinearLayout.AddView(tableLayout); //legenáráltam az üres pályát és hozzáadtam a root layout-hoz
            var button = FindViewById <Button>(Resource.Id.new_game);
            var bckBtn = FindViewById <Button>(Resource.Id.button1);

            _lastSceneBtn = FindViewById <Button>(Resource.Id.button2);
            bckBtn.Click += (s, e) =>
            {
                var score = new Score
                {
                    _score = _informationContainer.HighScore,
                    _side  = _side
                };
                _scoreDatabase.set_high_Score(score);
                _gameArea.save_game_Area_();
                var intent = new Intent(this, typeof(MainActivity));
                StartActivity(intent);
            };
            button.Click         += (s, e) => { _gameArea.New_game(); };
            _lastSceneBtn.Click  += (s, e) => { _gameArea.get_last_scene(); };
            _lastSceneBtn.Enabled = false;
            //  button.SetOnTouchListener(this);//touch sensor érzékelésének hozzáadása a textview-hoz
            set_onclick_for_buttons(tableLayout);
            _saveGame = new SaveGameArea();
            if (_saveGame.GetGame_Area_(int.Parse(Intent.GetStringExtra("a_side"))) != null)
            {
                var getSavedData = _saveGame.GetGame_Area_(int.Parse(Intent.GetStringExtra("a_side")));
                _gameArea.load_saved_game_Area(getSavedData.Places, getSavedData.Values);
            }
            else
            {
                _gameArea.add_new_number(GameButton.get_new_btn()); //az első generálás
                _gameArea.add_new_number(GameButton.get_new_btn());
            }
        }
Beispiel #4
0
        //public bool left_right_full()
        //{
        //    for (int i = 0; i < gomb_place.GetLength(0); i++)
        //    {
        //        for (int j = 0; j < gomb_place.GetLength(1); j++)
        //        {
        //            if (gomb_place[i, j] == 0)
        //            {
        //                return false;
        //            }
        //        }
        //    }
        //    return true;
        //}
        //public bool up_down_full()
        //{
        //    int sor;
        //    for (int i = 0; i < gomb_place.GetLength(0); i++)
        //    {
        //        sor = 0;
        //        while (sor < gomb_place.GetLength(1))
        //        {
        //            if (gomb_place[sor, i] == 0)
        //            {
        //                return false;
        //            }
        //            sor++;
        //        }
        //    }
        //    return true;
        //}
        public void New_game()
        {
            var saveGameArea = new SaveGameArea();

            saveGameArea.delete_this_side(_aSide);
            var alertDialog = new AlertDialog.Builder(_parentContext);

            alertDialog.SetTitle("2048");
            alertDialog.SetMessage("Try again? ");
            alertDialog.SetPositiveButton("Yes", (senderAlert, args) => { reset_game(true); });
            Dialog alert = alertDialog.Create();

            alert.Show();
        }
Beispiel #5
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Main);
            var newGameBtn = FindViewById <Button>(Resource.Id.New_Game_btn);
            var mainLayer  = FindViewById <LinearLayout>(Resource.Id.main_layer);
            var spinner    = FindViewById <Spinner>(Resource.Id.choose_side);
            var highscore  = FindViewById <TextView>(Resource.Id.high_score);

            string[] data    = { "3", "4", "5", "6", "7", "8" };
            var      adapter = new ArrayAdapter(this, Resource.Layout.forlistlayout, data);

            spinner.Adapter = adapter;
            GameArea gameArea;
            var      scoreDatabaseController = new ScoreDatabaseController();
            var      was = false;
            //  TableLayout tableLayout = new TableLayout(this);
            var saveGame = new SaveGameArea();

            spinner.ItemSelected += (s, e) =>
            {
                _selectedItem = int.Parse(spinner.GetItemAtPosition(e.Position).ToString());
                refresh_high_score(scoreDatabaseController, highscore);
                gameArea = new GameArea(this, _selectedItem);
                if (was)
                {
                    mainLayer.RemoveViewAt(1);
                }
                mainLayer.AddView(gameArea.generate_game_field(), mainLayer.ChildCount - 2);
                was = true;
                if (saveGame.is_side_Exist(_selectedItem))
                {
                    load_saved_scene((TableLayout)mainLayer.GetChildAt(1), _selectedItem);
                }
            };
            refresh_high_score(scoreDatabaseController, highscore);
            newGameBtn.Click += (s, e) =>
            {
                var intent = new Intent(this, typeof(Game));
                intent.PutExtra("a_side", _selectedItem.ToString());
                StartActivity(
                    intent); //Elkezdi a játékot és átvisz a game activity-re(ebben az activity-ban semmi fontos nem történik a játék szemponjtából)
            };
        }
Beispiel #6
0
 public GameArea(Context context, int aSide)
 {
     _parentContext = context;
     _aSide         = aSide;
     _saveGameArea  = new SaveGameArea();
 }