Exemple #1
0
        public MemoryCards(MemoryGame game, Stream loadStream = null)
        {
            // Check of we een spel moeten laden
            bool loadGame = loadStream != null;

            // copieer de benodige object handles
            currentGame = game;
            memoryGrid  = currentGame.memoryGrid;

            // copieer de benodige data vanuit het memorygame object game
            nColumns       = currentGame.nColumns;
            nRows          = currentGame.nRows;
            nKaartenUniek  = currentGame.nKaartenUniek;
            nKaartenGelijk = currentGame.nKaartenGelijk;

            if (loadGame)
            {
                // laad de gebruikte kaarten
                lUsedKaartIds = loadStream.Load() as List <int>;
            }
            else
            {
                // maak een lijst van random kaart IDs
                lUsedKaartIds = GetRndmKaartLijst(nKaartenUniek);
            }

            // maak een resource object van de kaart gebruikte image resources
            kaartResource = GetKaartResources(lUsedKaartIds);

            if (loadGame)
            {
                // laad de kaart posities
                lGridKaarten = loadStream.Load() as List <int>;
            }
            else
            {
                // zorg dat alle kaarten twee keer voorkomen en zet ze in toevallige volgorde
                lGridKaarten = SplitAndRandomize(lUsedKaartIds);
            }

            // maak een lijst van buttons voor de kaart speelveld
            lSymboolButtons = GetBttnLijst(lGridKaarten);

            if (loadGame)
            {
                // laad en set de status van de kaarten
                SetKaartStatus(loadStream.Load() as List <KaartStatus>);
            }

            // registreer de buttons in het grid van het speelveld
            int index = 0;

            foreach (Button symboolBttn in lSymboolButtons)
            {
                memoryGrid.AddByIndex(symboolBttn, index++);
            }
        }
Exemple #2
0
        public MemoryLogic(MemoryGame game, TimerMode timerMode, MemoryPlayers players, Stream loadStream = null)
        {
            // Check of we een spel moeten laden
            bool loadGame = loadStream != null;

            // copieer de benodige data vanuit het memorygame object game
            currentGame    = game;
            context        = currentGame.context;
            memoryCards    = currentGame.memoryCards;
            gameInterface  = currentGame.context.gameInterface;
            nKaartenGelijk = currentGame.nKaartenGelijk;

            // deze lijst gebruiken we om de zetten te onthouden
            moves = new List <Move>();

            // timer om de kaarten na een tijdje terug te leggen
            kaartTimer           = new Timer();
            kaartTimer.Interval  = 1000;    // tijd tot kaarten weer terug vallen in ms
            kaartTimer.AutoReset = false;   // zorgt dat een timer een keer aftelt

            // registreer de callback functie KaartenTerugLeggen voor het event Elapsed
            kaartTimer.Elapsed += KaartenTerugLeggen;

            // maak de feedback overlay images
            KaartFeedback = new MemoryOverlays(currentGame);

            // Setup de player data
            if (loadGame)
            {
                playerGroup = loadStream.Load() as MemoryPlayers;
            }
            else
            {
                playerGroup = players;
            }

            // als een nieuwe game word gestart dobbelen we wie start
            if (!loadGame)
            {
                playerGroup.aanZet = Global.RandomNumberGenerator.Next(playerGroup.players.Count);
            }

            // setup of herlaad de game status
            if (loadGame)
            {
                gameStatus = loadStream.Load() as GameStatus;
            }
            else
            {
                gameStatus = new GameStatus(timerMode, currentGame.nKaartenUniek);
            }

            // setup het game interface
            gameInterface.Setup(this);
        }
Exemple #3
0
        public MemoryOverlays(MemoryGame game)
        {
            // copieer de benodige object handles
            currentGame = game;

            // copieer de benodige data vanuit het memorygame object
            nKaartenGelijk = currentGame.nKaartenGelijk;
            memoryGrid     = currentGame.memoryGrid;

            // maak een resource object van de kaart image resources
            overlayResource = new MemoryResource(GameData.sOverlayLocatie);
            overlayResource.Add(GameData.sOverlayFout);
            overlayResource.Add(GameData.sOverlayGoed);

            //Uri testURI = new Uri("Images/Overlays/Checkmark.png", UriKind.Relative);
            // BitmapImage testBitmap = new BitmapImage(testURI);

            ImageSource voorKant = overlayResource.Find(GameData.sOverlayGoed);

            feedbackCreate();
        }