نمایش نتایج: از شماره 1 تا 5 از مجموع 5
Like Tree5نفر پسندیدند
  • 3 ارسال توسط NIIT
  • 1 ارسال توسط NIIT
  • 1 ارسال توسط NIIT

موضوع: بازی شطرنج_Chess

Threaded View

  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2011 June
    محل سکونت
    گرگان
    ارسال ها
    1,170
    تشکر
    62
    تشکر شده 1,587 بار در 809 پست
    نوشته های وبلاگ
    49


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    بازی شطرنج_Chess

    Bishop:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;

    namespace chess_khodam
    {
    public class Bishop : Stone, Istone
    {
    public Bishop(int i, int j, Color c, Frm_chess f)
    : base(i, j, c, f)
    {
    x = i;
    y = j;
    color = c;
    form = f;
    }

    #region Istone Members

    public bool check(int i, int j)
    {
    Stone s = new Stone(i, j, (form.btn[i, j].ImageIndex <= 15) ? Color.White : Color.Black, form);
    if ((this != s) || (form.btn[i, j].Image == null))
    {
    if(((form.btn[x,y].ImageIndex<=6) &&(form.btn[i, j].ImageIndex != 28)) || ((form.btn[x,y].ImageIndex>6) &&(form.btn[i, j].ImageIndex != 4)))
    {
    if((i>x) && (j>y))
    {
    int m=x;
    int k=y;
    int check = 0;
    for(m=m+1, k=k+1; (m<i)&& (k<j); m++, k++)
    {
    if (form.btn[m, k].Image == null)
    {
    check++;
    }
    }
    if ((check == (Math.Abs(x - i + 1))) && (check == (Math.Abs(y - j + 1))))
    return true;
    }
    if ((i > x) && (j < y))
    {
    int m = x;
    int k = y;
    int check = 0;
    for (m = m + 1, k = k - 1; (m < i) && (k > j); m++, k--)
    {
    if (form.btn[m, k].Image == null)
    {
    check++;
    }
    }
    if ((check == (Math.Abs(x - i+1))) && (check == (Math.Abs(y - j-1))))
    return true;

    }
    if ((i < x) && (j < y))
    {
    int m = x;
    int k = y;
    int check = 0;
    for (m = m - 1, k = k - 1; (m > i) && (k > j); m--, k--)
    {
    if (form.btn[m, k].Image == null)
    {
    check++;
    }
    }
    if ((check == (Math.Abs(x - i-1))) && (check == (Math.Abs(y - j-1))))
    return true;
    }
    if ((i < x) && (j > y))
    {
    int m = x;
    int k = y;
    int check = 0;
    for (m = m - 1, k = k + 1; (m > i) && (k < j); m--, k++)
    {
    if (form.btn[m, k].Image == null)
    {
    check++;
    }
    }
    if ((check == (Math.Abs(x - i-1))) && (check == (Math.Abs(y - j+1))))
    return true;
    }
    }
    }
    return false;
    }

    public bool Move(int i, int j)
    {
    if (check(i, j))
    {
    form.btn[i, j].ImageIndex = form.btn[x, y].ImageIndex;
    form.btn[x, y].ImageIndex = -1;
    form.player = (form.player == 1) ? 2 : 1;
    return true;
    }
    return false;
    }

    #endregion
    }
    }



    Castle:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;

    namespace chess_khodam
    {
    public class Castle : Stone, Istone
    {
    public Castle(int i, int j, Color c, Frm_chess f):base(i,j,c,f)
    {
    x = i;
    y = j;
    color = c;
    form = f;
    }
    #region Istone Members

    public bool check(int i, int j)
    {
    Stone s = new Stone(i, j, (form.btn[i, j].ImageIndex <= 15) ? Color.White : Color.Black,form );
    if (((this != s) || (form.btn[i,j].Image ==null )) && ((x == i) && (Math.Abs(y - j) > 0)) || ((y == j) && (Math.Abs(x - i) > 0)))

    {
    if ((x>i) && (y==j) && ((form.btn[i,j].ImageIndex!=4) || (form.btn[i,j].ImageIndex!=28)) )
    {
    int check = 0;
    int m=x;
    for(int k=m-1; k>i; k--)
    if ((form.btn[k, y].Image == null))
    {
    check++;
    }
    if(check == (Math.Abs(m-i-1)))
    return true ;
    }
    if ((x < i) && (y == j) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    int check = 0;
    int m = x;
    for (int k = m + 1; k < i; k++)
    if ((form.btn[k, y].Image == null))
    {
    check++;
    }
    if (check == (Math.Abs(m - i + 1)))
    return true;
    }
    if ((y > j) && (x == i) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    int check = 0;
    int m = y;
    for (int k = m-1; k > j; k--)
    if ((form.btn[x, k].Image == null))
    {
    check++;
    }
    if (check == (Math.Abs(m - j - 1)))
    return true;
    }
    if ((y < j) && (x == i) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    int check = 0;
    int m = y;
    for (int k = m + 1; k < j; k++)
    if ((form.btn[x, k].Image == null))
    {
    check++;
    }
    if (check == (Math.Abs(m - j +1)))
    return true;
    }
    }
    return false;

    }

    public bool Move(int i, int j)
    {
    if (check(i, j))
    {

    form.btn[i, j].ImageIndex = form.btn[x, y].ImageIndex;
    form.btn[x, y].ImageIndex = -1;
    form.player = (form.player == 1) ? 2 : 1;
    return true;
    }
    return false;
    }



    #endregion
    }
    }



    Frm_chess:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Globalization;

    namespace chess_khodam
    {
    public partial class Frm_chess : Form
    {
    public Button[,] btn = new Button[8, 8];
    int x = 0;
    int y = 0;
    public int player = 1;
    int click = 1;
    int l = 5;
    int top = 5;
    public Frm_chess()
    {
    InitializeComponent();
    }

    public Castle Cast;
    public Pawn pawn;
    public Knight kinght;
    public Bishop bishop;
    public Queen queen;
    public King king;

    int Get_player(Button B)
    {
    if ((B.ImageIndex <= 15) && (B.Image != null))
    return 1;
    else if ((B.ImageIndex >=16) && (B.Image != null))
    return 2;
    return 0;
    }
    void set_Highlight(Button B)
    {
    if (click == 1)
    {
    B.FlatStyle = FlatStyle.Flat;
    B.FlatAppearance.BorderSize = 2;
    B.FlatAppearance.BorderColor = Color.Pink;
    click = 2;
    }
    else
    { B.FlatStyle = FlatStyle.Standard; }
    }
    int index;

    void btn_click(object sender, EventArgs e)
    {
    int i;
    int j;
    Button B = (Button)sender;
    if ((player == Get_player(B)) || (click == 2))
    {
    if (click == 1)
    {
    x = ((int)B.Tag) / 8;
    y = ((int)B.Tag) % 8;
    index = btn[x, y].ImageIndex;
    set_Highlight(B);
    }
    else if(click ==2)
    {
    click = 1;
    Reset_Highlight(btn[x,y]);
    i = ((int)B.Tag) / 8;
    j = ((int)B.Tag) % 8;
    if ((index == 0) || (index == 7) || (index == 24) || (index == 31))
    {
    Cast=new Castle (x,y,(btn [x,y].ImageIndex <=15)?Color.White :Color.Black ,this);
    Cast.Move (i,j);
    }
    if (((index >= 8) && (index <= 15)) || ((index >= 16) && (index <= 23)))
    {
    pawn = new Pawn(x, y, (btn[x, y].ImageIndex <= 15) ? Color.White : Color.Black, this);
    pawn.Move(i, j);
    }
    if ((index == 1) || (index == 6) || (index == 25) || (index == 30))
    {
    kinght = new Knight(x, y, (index <= 6) ? Color.White : Color.Black, this);
    kinght.Move(i, j);
    }
    if ((index == 2) || (index == 5) || (index == 26) || (index == 29))
    {
    bishop = new Bishop(x, y, (btn[x, y].ImageIndex <= 5) ? Color.White : Color.Black, this);
    bishop.Move(i, j);
    }
    if ((index == 3) || (index == 27))
    {
    queen = new Queen(x, y, (btn[x, y].ImageIndex == 3) ? Color.White : Color.Black, this);
    queen.Move(i, j);
    }
    if ((index == 4) || (index == 28))
    {
    king = new King(x, y, (btn[x, y].ImageIndex == 4) ? Color.White : Color.Black, this);
    king.Move(i, j);
    }
    }
    }

    }
    void Reset_Highlight(Button B)
    {
    B.FlatStyle = FlatStyle.Standard;
    B.FlatAppearance.BorderColor = Color.White;
    B.FlatAppearance.BorderSize = 1;
    }
    private void Form1_Load(object sender, EventArgs e)
    {
    for (int i = 0; i < 8; i++)
    {
    for (int j = 0; j < 8; j++)
    {
    btn[i, j] = new Button();
    if ((i + j) % 2 == 0)
    { btn[i, j].BackColor = Color.Silver ; }
    else
    { btn[i, j].BackColor = Color.White ; }

    btn[i, j].Tag = i * 8 + j;
    btn[i, j].Width = 70;
    btn[i, j].Height = 70;
    btn[i, j].Left = l;
    btn[i, j].Top = top;
    btn[i, j].ImageList = imageList1;
    if (i == 0)
    { btn[i, j].ImageIndex = j; }
    else if (i == 1)
    { btn[i, j].ImageIndex = j + 8; }
    else if (i == 6)
    { btn[i, j].ImageIndex = j + 16; }
    else if (i == 7)
    { btn[i, j].ImageIndex = j + 24; }
    else
    btn[i, j].Image = null;
    btn[i, j].Click += new EventHandler(btn_click);
    btn[i, j].Parent = this;
    l += 70;
    }
    l = 5;
    top += 70;
    }

    }
    }

    }


    chess_khodam:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;

    namespace chess_khodam
    {
    public interface Istone
    {
    bool check(int i, int j);
    bool Move(int i, int j);

    }
    }



    King:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;

    namespace chess_khodam
    {
    public class King : Stone, Istone
    {
    public King(int i, int j, Color c, Frm_chess f)
    : base(i, j, c, f)
    {
    x = i;
    y = j;
    color = c;
    form = f;
    }
    #region Istone Members

    public bool check(int i, int j)
    {
    Stone s = new Stone(i, j, (form.btn[i, j].ImageIndex <= 15) ? Color.White : Color.Black,form );
    if ((this != s) || (form.btn[i, j].Image == null))
    {
    if (((this != s) || (form.btn[i, j].Image == null)) && ((x == i) && (Math.Abs(y - j) > 0)) || ((y == j) && (Math.Abs(x - i) > 0)))
    {
    if (((form.btn[x, y].ImageIndex == 4) && (form.btn[i, j].ImageIndex != 28)) || ((form.btn[x, y].ImageIndex == 28) && (form.btn[i, j].ImageIndex != 4)))
    {
    if ((i == (x - 1)) && (y == j) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    return true;
    }
    if ((i == (x + 1)) && (y == j) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    return true;
    }
    if ((j == (y - 1)) && (x == i) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    return true;
    }
    if ((j == (y + 1)) && (x == i) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    return true;
    }
    }
    }
    if (((form.btn[x, y].ImageIndex ==4) && (form.btn[i, j].ImageIndex != 28)) || ((form.btn[x, y].ImageIndex ==28) && (form.btn[i, j].ImageIndex != 4)))
    {
    if ((i ==(x+1)) && (j ==(y+1)))
    {
    return true;
    }
    if ((i ==(x+1)) && (j == (y-1)))
    {
    return true;
    }
    if ((i ==(x-1)) && (j ==(y+1)))
    {
    return true;
    }
    if ((i ==(x-1)) && (j ==(y-1)))
    {
    return true;
    }
    }
    }
    return false;
    }

    public bool Move(int i, int j)
    {
    if (check(i, j))
    {
    form.btn[i, j].ImageIndex = form.btn[x, y].ImageIndex;
    form.btn[x, y].ImageIndex = -1;
    form.player = (form.player == 1) ? 2 : 1;
    return true;
    }
    return false;
    }

    #endregion
    }
    }



    Knight:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;

    namespace chess_khodam
    {
    public class Knight : Stone, Istone
    {
    public Knight(int i, int j, Color c, Frm_chess f)
    : base(i, j, c, f)
    {
    x = i;
    y = j;
    color = c;
    form = f;
    }
    #region Istone Members

    public bool check(int i, int j)
    {
    Stone s = new Stone(i, j, (form.btn[i, j].ImageIndex <= 15) ? Color.White : Color.Black, form);
    if ((this != s) || (form.btn[i, j].Image == null))
    {
    if(((form.btn[x,y].ImageIndex<=6) &&(form.btn[i, j].ImageIndex != 28)) || ((form.btn[x,y].ImageIndex>6) &&(form.btn[i, j].ImageIndex != 4)))
    {
    if ((i > x) && (j > y) )
    {
    if (((i == (x + 1)) && (j == (y + 2))) || ((i == (x + 2)) && (j == (y + 1))))
    return true;
    }
    if ((i > x) && (j < y))
    {
    if (((i == (x + 1)) && (j == (y - 2))) || ((i == (x + 2)) && (j == (y - 1))))
    return true;
    }
    if ((i < x) && (j > y))
    {
    if (((i == (x - 1)) && (j == (y + 2))) || ((i == (x - 2)) && (j == (y + 1))))
    return true;
    }
    if ((i < x) && (j < y))
    {
    if (((i == (x - 1)) && (j == (y - 2))) || ((i == (x - 2)) && (j == (y - 1))))
    return true;
    }
    }
    }
    return false;
    }

    public bool Move(int i, int j)
    {
    if (check(i, j))
    {
    form.btn[i, j].ImageIndex = form.btn[x, y].ImageIndex;
    form.btn[x, y].ImageIndex = -1;
    form.player = (form.player == 1) ? 2 : 1;
    return true;
    }
    return false;
    }

    #endregion
    }
    }



    Pawn:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;

    namespace chess_khodam
    {
    public class Pawn : Stone, Istone
    {
    public Pawn(int i, int j, Color c, Frm_chess f)
    : base(i, j, c, f)
    {
    x = i;
    y = j;
    color = c;
    form = f;
    }
    #region Istone Members

    public bool check(int i, int j)
    {
    Stone s = new Stone(i, j, (form.btn[i, j].ImageIndex <= 15) ? Color.White : Color.Black,form );
    if ((this != s) || (form.btn[i, j].Image == null))
    {
    if ((x == 6) && (y == j) && ((i == (x - 1)) || (i == (x - 2))) && (form.btn[x,y].ImageIndex >=16) && (form.btn[x,y].ImageIndex <=23))
    {
    if (form.btn[i, j].Image == null)
    {
    return true;
    }
    }
    if((x!=6) && (i==(x-1)) && (j==y) && (form.btn[x,y].ImageIndex>=16) && (form.btn[x,y].ImageIndex<=23))
    {
    if (form.btn[i, j].Image == null)
    {

    return true;
    }
    }
    if((i==x-1) && ((j==y-1) || (j==y+1)) && (form.btn[x,y].ImageIndex>=16) && (form.btn[x,y].ImageIndex<=23))
    {
    if (form.btn[i, j].Image != null)
    {
    if (form.btn[i, j].ImageIndex != 4)
    {

    return true;
    }
    }
    }
    if ((x == 1) && (y == j) && ((i == (x + 1)) || (i == (x + 2))) && (form.btn[x,y].ImageIndex >=8) && (form.btn[x,y].ImageIndex <=15))
    {
    if (form.btn[i, j].Image == null)
    {
    return true;
    }
    }
    if((x!=1) && (i==(x+1)) && (j==y) && (form.btn[x,y].ImageIndex>=8) && (form.btn[x,y].ImageIndex<=15))
    {
    if (form.btn[i, j].Image == null)
    {
    form.btn[i, j].BackColor = Color.Red;
    return true;
    }
    }
    if((i==x+1) && ((j==y-1) || (j==y+1)) && (form.btn[x,y].ImageIndex>=8) && (form.btn[x,y].ImageIndex<=15))
    {
    if (form.btn[i, j].Image != null)
    {
    if (form.btn[i, j].ImageIndex != 28)
    {
    form.btn[i, j].BackColor = Color.Red;
    return true;
    }
    }
    }
    }
    return false ;
    }

    public bool Move(int i, int j)
    {
    if (check(i, j))
    {
    form.btn[i, j].ImageIndex = form.btn[x, y].ImageIndex;
    form.btn[x, y].ImageIndex =-1;
    form.player = (form.player == 1) ? 2 : 1;
    return true;
    }
    return false;
    }

    #endregion
    }
    }



    Queen:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;

    namespace chess_khodam
    {
    public class Queen : Stone, Istone
    {
    public Queen(int i, int j, Color c, Frm_chess f)
    : base(i, j, c, f)
    {
    x = i;
    y = j;
    color = c;
    form = f;
    }
    #region Istone Members

    public bool check(int i, int j)
    {
    Stone s = new Stone(i, j, (form.btn[i, j].ImageIndex <= 15) ? Color.White : Color.Black, form);
    if ((this != s) || (form.btn[i,j].Image ==null ))
    {
    if (((this != s) || (form.btn[i, j].Image == null)) && ((x == i) && (Math.Abs(y - j) > 0)) || ((y == j) && (Math.Abs(x - i) > 0)))
    {
    if ((x > i) && (y == j) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    int check = 0;
    int m = x;
    for (int k = m - 1; k > i; k--)
    if ((form.btn[k, y].Image == null))
    {
    check++;
    }
    if (check == (Math.Abs(m - i - 1)))
    return true;
    }
    if ((x < i) && (y == j) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    int check = 0;
    int m = x;
    for (int k = m + 1; k < i; k++)
    if ((form.btn[k, y].Image == null))
    {
    check++;
    }
    if (check == (Math.Abs(m - i + 1)))
    return true;
    }
    if ((y > j) && (x == i) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    int check = 0;
    int m = y;
    for (int k = m - 1; k > j; k--)
    if ((form.btn[x, k].Image == null))
    {
    check++;
    }
    if (check == (Math.Abs(m - j - 1)))
    return true;
    }
    if ((y < j) && (x == i) && ((form.btn[i, j].ImageIndex != 4) || (form.btn[i, j].ImageIndex != 28)))
    {
    int check = 0;
    int m = y;
    for (int k = m + 1; k < j; k++)
    if ((form.btn[x, k].Image == null))
    {
    check++;
    }
    if (check == (Math.Abs(m - j + 1)))
    return true;
    }
    }
    if ((this != s) || (form.btn[i, j].Image == null))
    {
    if (((form.btn[x, y].ImageIndex <= 6) && (form.btn[i, j].ImageIndex != 28)) || ((form.btn[x, y].ImageIndex > 6) && (form.btn[i, j].ImageIndex != 4)))
    {
    if ((i > x) && (j > y))
    {
    int m = x;
    int k = y;
    int check = 0;
    for (m = m + 1, k = k + 1; (m < i) && (k < j); m++, k++)
    {
    if (form.btn[m, k].Image == null)
    {
    check++;
    }
    }
    if ((check == (Math.Abs(x - i + 1))) && (check == (Math.Abs(y - j + 1))))
    return true;
    }
    if ((i > x) && (j < y))
    {
    int m = x;
    int k = y;
    int check = 0;
    for (m = m + 1, k = k - 1; (m < i) && (k > j); m++, k--)
    {
    if (form.btn[m, k].Image == null)
    {
    check++;
    }
    }
    if ((check == (Math.Abs(x - i + 1))) && (check == (Math.Abs(y - j - 1))))
    return true;

    }
    if ((i < x) && (j < y))
    {
    int m = x;
    int k = y;
    int check = 0;
    for (m = m - 1, k = k - 1; (m > i) && (k > j); m--, k--)
    {
    if (form.btn[m, k].Image == null)
    {
    check++;
    }
    }
    if ((check == (Math.Abs(x - i - 1))) && (check == (Math.Abs(y - j - 1))))
    return true;
    }
    if ((i < x) && (j > y))
    {
    int m = x;
    int k = y;
    int check = 0;
    for (m = m - 1, k = k + 1; (m > i) && (k < j); m--, k++)
    {
    if (form.btn[m, k].Image == null)
    {
    check++;
    }
    }
    if ((check == (Math.Abs(x - i - 1))) && (check == (Math.Abs(y - j + 1))))
    return true;
    }
    }
    }
    }
    return false;
    }

    public bool Move(int i, int j)
    {
    if (check(i, j))
    {
    form.btn[i, j].ImageIndex = form.btn[x, y].ImageIndex ;
    form.btn[x, y].ImageIndex = -1;
    form.player = (form.player == 1) ? 2 : 1;
    return true;
    }
    return false;
    }

    #endregion
    }
    }



    Stone:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;

    namespace chess_khodam
    {
    public class Stone
    {
    public int x;
    public int y;
    public Color color;
    public Frm_chess form;

    public Stone(int i, int j, Color c, Frm_chess f)
    {
    x = i;
    y = j;
    color = c;
    form = f;
    }

    public static bool operator ==(Stone s1, Stone s2)

    { return s1.color == s2.color; }

    public static bool operator !=(Stone s1, Stone s2)
    { return s1.color != s2.color; }
    }
    }


    پروژه:
    http://s2.picofile.com/file/72362219...tranj.zip.html

    انشالله به دردتون بخوره و مفید فایده باشه بااحترام،niit

    ویرایش توسط NIIT : 5th January 2012 در ساعت 02:03 AM
    Hossein, Shojaee و Efair این نویسه را میپسندند.
    آرامش محصول تفکر نیست! آرامش هنر نیندیشیدن به انبوه مسائلیست که ارزش فکر کردن ندارد...

 

 

کاربران برچسب خورده در این موضوع

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 10:54 AM بر حسب GMT +4 می باشد.