Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.Xna.Framework;
- using Microsoft.Xna.Framework.Content;
- using Microsoft.Xna.Framework.Graphics;
- using Microsoft.Xna.Framework.Input;
- namespace Game2
- {
- public class Card
- {
- Texture2D currentTexture;
- Texture2D reversTexture;
- Texture2D mainTexture;
- Rectangle rect;
- Rectangle chunk;
- Rectangle? currentChunk=null;
- int width = 100;
- int height = 100;
- public int Type;
- bool clicked = false;
- bool unlocked = false;
- public Rectangle Rect { get => rect; set => rect = value; }
- public Card(ContentManager content, int x, int y, int offsetX, int offsetY, int type)
- {
- Type = type;
- reversTexture = content.Load<Texture2D>("question");
- mainTexture = content.Load<Texture2D>("numbers");
- chunk = new Rectangle(y * width, x * height, width, height); //reverse x and y
- rect = new Rectangle(offsetX, offsetY, width, height);
- currentTexture = reversTexture;
- }
- public void Draw(SpriteBatch spriteBatch, int x, int y)
- {
- //spriteBatch.Draw(currentTexture, rect, Color.White);
- spriteBatch.Draw(currentTexture, rect , currentChunk, Color.White);
- }
- public void Update(Rectangle cursor)
- {
- if (rect.Intersects(cursor)) //mouse collision
- {
- if (Mouse.GetState().LeftButton == ButtonState.Pressed && clicked==false && unlocked==false)
- {
- clicked = true;
- ++Game1.ClickedCounter;
- ++Game1.ShowedCards;
- if (Game1.CurrentType == Type)
- {
- Unlock();
- Game1.pairs++;
- }
- else
- {
- if (Game1.ShowedCards == 2)
- {
- --Game1.ClickedCounter;
- Hide();
- Game1.SelectedCard.Hide();
- }
- else
- {
- Show();
- }
- }
- }
- }
- }
- public void Hide()
- {
- Game1.ShowedCards = 0;
- Game1.CurrentType = -1;
- currentChunk = null;
- currentTexture = reversTexture;
- clicked = false;
- }
- public void Show()
- {
- Game1.SelectedCard = this;
- Game1.CurrentType = Type;
- currentChunk = chunk;
- currentTexture = mainTexture;
- }
- public void Unlock()
- {
- unlocked = true;
- currentChunk = chunk;
- currentTexture = mainTexture;
- Game1.CurrentType = -1;
- Game1.SelectedCard = null;
- Game1.ShowedCards = 0;
- }
- }
- }
Advertisement