Hyluss

board

Oct 16th, 2018
446
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.66 KB | None | 0 0
  1. using Microsoft.Xna.Framework.Content;
  2. using System;
  3. using System.Collections.Generic;
  4. using Microsoft.Xna.Framework.Graphics;
  5. using System.Linq;
  6. using Microsoft.Xna.Framework;
  7.  
  8. namespace Game2
  9. {
  10.     public class Board
  11.     {
  12.          readonly int rows = 4;
  13.          readonly int columns = 6;
  14.  
  15.         int _offsetX = 30;
  16.         int _offsetY = 30;
  17.  
  18.  
  19.         int width = 100;
  20.         int height = 100;
  21.  
  22.         //   Card[,] Cards;
  23.         List<Card> Deck;
  24.  
  25.         static readonly int spriteRows = 3;
  26.         static readonly int spriteColumns = 4;
  27.         static readonly int blankSpace = 10;
  28.  
  29.         public List<Card> Deck1 { get => Deck; set => Deck = value; }
  30.  
  31.         public Board(ContentManager content)
  32.         {
  33.             Deck = new List<Card>();
  34.             //   Cards = new Card[rows, columns];            
  35.  
  36.             int type = 0;
  37.  
  38.             for (int x = 0; x < spriteRows; x++)
  39.             {
  40.                 for (int y = 0; y < spriteColumns; y++)
  41.                 {
  42.                     var offsetX = _offsetX + blankSpace * x + x * width;
  43.                     var offsetY = _offsetY + blankSpace * y + y * height;
  44.  
  45.                     Deck.Add(new Card(content, x, y,offsetX,offsetY, type));
  46.  
  47.                     Deck.Add(new Card(content, x, y, offsetX + width*spriteColumns - _offsetX - _offsetX, offsetY, type)); // xd
  48.                     type++;
  49.                 }
  50.             }
  51.  
  52.             Shuffle();
  53.         }
  54.  
  55.         void Shuffle()
  56.         {
  57.             var tmpList = new List<Card>(Deck);
  58.             Random random = new Random();
  59.  
  60.             int i = 0;
  61.             while(Deck.Count != 0)
  62.             {
  63.                 int randomNext = random.Next(0, Deck.Count);
  64.                 int randomNext2 = random.Next(0, Deck.Count);
  65.                 var rect = Deck[randomNext].Rect;
  66.                // var rect = new Rectangle(Deck[randomNext].Rect.X, Deck[randomNext].Rect.Y, width, height);
  67.                 tmpList[randomNext2].Rect = rect;
  68.                 Deck.RemoveAt(randomNext);
  69.               //  ++i;
  70.             }
  71.             Deck = new List<Card>(tmpList);
  72.  
  73.  
  74.         }
  75.  
  76.  
  77.         internal void Draw(SpriteBatch spriteBatch)
  78.         {
  79.             int index = 0;
  80.        
  81.             for (int x = 0; x < rows; x++)
  82.             {
  83.                 for (int y = 0; y < columns; y++)
  84.                 {
  85.                     Deck[index].Draw(spriteBatch, x, y);
  86.                     ++index;
  87.                 }
  88.             }
  89.         }
  90.  
  91.  
  92.         public void Update(Rectangle cursor)
  93.         {
  94.             foreach (var item in Deck)
  95.             {
  96.                 item.Update(cursor);
  97.             }
  98.         }
  99.     }
  100. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment