text:
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using TexasWpfApplication.Common;

namespace TexasWpfApplication.Pages
{
    /// <summary>
    /// GamePlayBack.xaml 的交互逻辑
    /// </summary>
    public partial class GamePlayBack : Window
    {
        private MyService myService = new MyService();
        private int playerID;
        private int recordID;
        private int playerNumber;
        private DataTable operationTable;

        //记录当前步骤
        private int steps;
        private int gameID;

        public GamePlayBack(int pID, int rID, int pNum)
        {
            InitializeComponent();

            playerID = pID;
            recordID = rID;
            playerNumber = pNum;

            steps = 0;
            DataSet set = myService.GetBet().GetBetByRecordID(rID);
            if (set.Tables.Count != 0)
            {
                operationTable = set.Tables[0];
                if(operationTable.Rows.Count!=0)
                {
                    gameID = int.Parse(operationTable.Rows[steps]["GameID"].ToString());
                    LoadHeadPicture();
                }

            }

            try
            {
                string testWebService = new MyService().GetAdministrator().HelloWorld();
            }
            catch
            {
                MessageBox.Show("无法连接到服务器,请确保网络连接和ip(你输入的ip地址: " + App.ip + ")地址正确(正确ip地址示例:121.197.3.168:8080)");
                return;
            }
            LoadDesktop();

            ShowPlayer();

            LoadPrivateCard();

        }

        private void DeterminNextPlayer()
        {
            try
            {
                string testWebService = new MyService().GetAdministrator().HelloWorld();
            }
            catch
            {
                MessageBox.Show("无法连接到服务器,请确保网络连接和ip(你输入的ip地址: " + App.ip + ")地址正确(正确ip地址示例:121.197.3.168:8080)");
                return;
            }

            if(steps<operationTable.Rows.Count-1)
            {
                int nextPlayerID = int.Parse(operationTable.Rows[steps+1]["PlayerID"].ToString());

                BitmapImage headBackDefault = new BitmapImage(new Uri("/Resources/HeadBack.png", UriKind.Relative));
                BitmapImage headBackActive = new BitmapImage(new Uri("/Resources/ActiveHeadBack.png", UriKind.Relative));

                if (nextPlayerID > -2)
                {
                    this.pictureBack.Source = headBackDefault;
                    this.pictureBack1.Source = headBackDefault;
                    this.pictureBack2.Source = headBackDefault;
                    this.pictureBack3.Source = headBackDefault;
                    this.pictureBack4.Source = headBackDefault;
                    this.pictureBack5.Source = headBackDefault;
                    this.pictureBack6.Source = headBackDefault;
                    this.pictureBack7.Source = headBackDefault;
                    this.pictureBack8.Source = headBackDefault;
                }

                switch (nextPlayerID)
                {
                    case -1:
                        this.pictureBack.Source = headBackActive;
                        break;
                    case 0:
                        //显示池底筹码

                        string chipsBet = "";
                        string s1 = "pack://application:,,,/Resources/Gray_1.png";
                        string s2 = "pack://application:,,,/Resources/Gray_2.png";
                        string s3 = "pack://application:,,,/Resources/Gray_3.png";
                        if (card1.Source.ToString() == s1 && card4.Source.ToString() == s2 && card5.Source.ToString() == s3)
                        {
                            chipsBet = "1";
                         }
                        if (card1.Source.ToString() != s1 && card4.Source.ToString() == s2 && card5.Source.ToString() == s3)
                        {
                            chipsBet = "2";
                        }
                        if (card1.Source.ToString() != s1 && card4.Source.ToString() != s2 && card5.Source.ToString() == s3)
                        {
                            chipsBet = "3";
                        }
                        if (card1.Source.ToString() != s1 && card4.Source.ToString() != s2 && card5.Source.ToString() != s3)
                        {
                            chipsBet = "";
                        }
                        string chipsInPool = myService.GetPlayerChip().GetChipsInPoolByGameID(gameID,chipsBet);
                            if (chipsInPool.Length != 0)
                            {
                                string[] eachChips = chipsInPool.Split('&');
                                int pools = eachChips.Length;
                                if (pools > 1)
                                {
                                    this.imageChips1.Visibility = Visibility.Visible;
                                    this.ChipsInPool1.Visibility = Visibility.Visible;
                                    this.ChipsInPool1.Text = eachChips[1];
                                }
                                if (pools > 2)
                                {
                                    this.imageChips2.Visibility = Visibility.Visible;
                                    this.ChipsInPool2.Visibility = Visibility.Visible;
                                    this.ChipsInPool2.Text = eachChips[2];
                                }
                                if (pools > 3)
                                {
                                    this.imageChips3.Visibility = Visibility.Visible;
                                    this.ChipsInPool3.Visibility = Visibility.Visible;
                                    this.ChipsInPool3.Text = eachChips[3];
                                }
                                if (pools > 4)
                                {
                                    this.imageChips4.Visibility = Visibility.Visible;
                                    this.ChipsInPool4.Visibility = Visibility.Visible;
                                    this.ChipsInPool4.Text = eachChips[4];
                                }
                                if (pools > 5)
                                {
                                    this.imageChips5.Visibility = Visibility.Visible;
                                    this.ChipsInPool5.Visibility = Visibility.Visible;
                                    this.ChipsInPool5.Text = eachChips[5];
                                }
                                if (pools > 6)
                                {
                                    this.imageChips6.Visibility = Visibility.Visible;
                                    this.ChipsInPool6.Visibility = Visibility.Visible;
                                    this.ChipsInPool6.Text = eachChips[6];
                                }
                                if (pools > 7)
                                {
                                    this.imageChips7.Visibility = Visibility.Visible;
                                    this.ChipsInPool7.Visibility = Visibility.Visible;
                                    this.ChipsInPool7.Text = eachChips[7];
                                }
                            }

                        this.pictureBack.Source = headBackActive;

                        break;
                    case 1:
                        this.pictureBack1.Source = headBackActive;

                        break;
                    case 2:
                        this.pictureBack2.Source = headBackActive;
                        break;
                    case 3:
                        this.pictureBack3.Source = headBackActive;
                        break;
                    case 4:
                        this.pictureBack4.Source = headBackActive;
                        break;
                    case 5:
                        this.pictureBack5.Source = headBackActive;
                        break;
                    case 6:
                        this.pictureBack6.Source = headBackActive;
                        break;
                    case 7:
                        this.pictureBack7.Source = headBackActive;
                        break;
                    case 8:
                        this.pictureBack8.Source = headBackActive;
                        break;
                    default:
                        return;
                }
            }
        }

        private void LoadPrivateCard()
        {
            try
            {
                string testWebService = new MyService().GetAdministrator().HelloWorld();
            }
            catch
            {
                MessageBox.Show("无法连接到服务器,请确保网络连接和ip(你输入的ip地址: " + App.ip + ")地址正确(正确ip地址示例:121.197.3.168:8080)");
                return;
            }

            BitmapImage carddefaultSource = new BitmapImage(new Uri("/Resources/Cards/Gray.png", UriKind.Relative));
            if (playerID != 0)
            {
                carddefaultSource = new BitmapImage(new Uri("/Resources/Cards/BACK.png", UriKind.Relative));
            }

            this.card11.Source = carddefaultSource;
            this.card12.Source = carddefaultSource;
            this.card21.Source = carddefaultSource;
            this.card22.Source = carddefaultSource;
            this.card31.Source = carddefaultSource;
            this.card32.Source = carddefaultSource;
            this.card41.Source = carddefaultSource;
            this.card42.Source = carddefaultSource;
            this.card51.Source = carddefaultSource;
            this.card52.Source = carddefaultSource;
            this.card61.Source = carddefaultSource;
            this.card62.Source = carddefaultSource;
            this.card71.Source = carddefaultSource;
            this.card72.Source = carddefaultSource;
            this.card81.Source = carddefaultSource;
            this.card82.Source = carddefaultSource;
            if(playerID!=0)
            {
                BitmapImage defaultForShiJiao = new BitmapImage(new Uri("/Resources/Cards/Gray.png", UriKind.Relative));
                switch (playerID)
                {
                    case 1:
                        this.card11.Source = defaultForShiJiao;
                        this.card12.Source = defaultForShiJiao;
                        break;
                    case 2:
                        this.card21.Source = defaultForShiJiao;
                        this.card22.Source = defaultForShiJiao;
                        break;
                    case 3:
                        this.card31.Source = defaultForShiJiao;
                        this.card32.Source = defaultForShiJiao;
                        break;
                    case 4:
                        this.card41.Source = defaultForShiJiao;
                        this.card42.Source = defaultForShiJiao;
                        break;
                    case 5:
                        this.card51.Source = defaultForShiJiao;
                        this.card52.Source = defaultForShiJiao;
                        break;
                    case 6:
                        this.card61.Source = defaultForShiJiao;
                        this.card62.Source = defaultForShiJiao;
                        break;
                    case 7:
                        this.card71.Source = defaultForShiJiao;
                        this.card72.Source = defaultForShiJiao;
                        break;
                    case 8:
                        this.card81.Source = defaultForShiJiao;
                        this.card82.Source = defaultForShiJiao;
                        break;
                }
            }

            DataSet privateCardset = myService.GetCard().GetPrivateCardByGameID(gameID);
            if(privateCardset.Tables.Count!=0)
            {
                DataTable privateCardTable=privateCardset.Tables[0];
                if(playerID==0)
                {
                    for(int i=0;i<privateCardTable.Rows.Count;i++)
                    {
                        int thisPID=int.Parse(privateCardTable.Rows[i]["PlayerID"].ToString());
                        string prCard1=privateCardTable.Rows[i]["FirstCard"].ToString();
                        string prCard2 = privateCardTable.Rows[i]["SecondCard"].ToString();
                        BitmapImage cardSources1 = new BitmapImage(new Uri("/Resources/Cards/" + prCard1 + ".png", UriKind.Relative));
                        BitmapImage cardSources2 = new BitmapImage(new Uri("/Resources/Cards/" + prCard2 + ".png", UriKind.Relative));
                        if(prCard1.Length==0)
                            cardSources1 = new BitmapImage(new Uri("/Resources/Cards/Gray.png", UriKind.Relative));
                        if (prCard1.Length == 0)
                            cardSources2 = new BitmapImage(new Uri("/Resources/Cards/Gray.png", UriKind.Relative));
                        switch (thisPID)
                        {
                            case 1:
                                this.card11.Source = cardSources1;
                                this.card12.Source = cardSources2;
                                break;
                            case 2:
                               this.card21.Source = cardSources1;
                                this.card22.Source = cardSources2;
                                break;
                            case 3:
                                this.card31.Source = cardSources1;
                                this.card32.Source = cardSources2;
                                break;
                            case 4:
                                this.card41.Source = cardSources1;
                                this.card42.Source = cardSources2;
                                break;
                            case 5:
                                this.card51.Source = cardSources1;
                                this.card52.Source = cardSources2;
                                break;
                            case 6:
                                this.card61.Source = cardSources1;
                                this.card62.Source = cardSources2;
                                break;
                            case 7:
                                this.card71.Source = cardSources1;
                                this.card72.Source = cardSources2;
                                break;
                            case 8:
                                this.card81.Source = cardSources1;
                                this.card82.Source = cardSources2;
                                break;
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < privateCardTable.Rows.Count; i++)
                    {

                        int thisPID = int.Parse(privateCardTable.Rows[i]["PlayerID"].ToString());
                        if(thisPID==playerID)
                        {
                            string prCard1 = privateCardTable.Rows[i]["FirstCard"].ToString();
                            string prCard2 = privateCardTable.Rows[i]["SecondCard"].ToString();

                            BitmapImage cardSources1 = new BitmapImage(new Uri("/Resources/Gray.png", UriKind.Relative));
                            BitmapImage cardSources2 = new BitmapImage(new Uri("/Resources/Gray.png", UriKind.Relative));
                            if (prCard1.Length != 0)
                                cardSources1 = new BitmapImage(new Uri("/Resources/Cards/" + prCard1 + ".png", UriKind.Relative));
                            if (prCard2.Length != 0)
                                cardSources2 = new BitmapImage(new Uri("/Resources/Cards/" + prCard2 + ".png", UriKind.Relative));

                            //BitmapImage cardSources1 = new BitmapImage(new Uri("/Resources/Cards/" + prCard1 + ".png", UriKind.Relative));
                            //BitmapImage cardSources2 = new BitmapImage(new Uri("/Resources/Cards/" + prCard2 + ".png", UriKind.Relative));
                            if (prCard1.Length == 0)
                                cardSources1 = new BitmapImage(new Uri("/Resources/Cards/Gray.png", UriKind.Relative));
                            if (prCard1.Length == 0)
                                cardSources2 = new BitmapImage(new Uri("/Resources/Cards/Gray.png", UriKind.Relative));
                            switch (thisPID)
                            {
                                case 1:
                                    this.card11.Source = cardSources1;
                                    this.card12.Source = cardSources2;
                                    break;
                                case 2:
                                    this.card21.Source = cardSources1;
                                    this.card22.Source = cardSources2;
                                    break;
                                case 3:
                                    this.card31.Source = cardSources1;
                                    this.card32.Source = cardSources2;
                                    break;
                                case 4:
                                    this.card41.Source = cardSources1;
                                    this.card42.Source = cardSources2;
                                    break;
                                case 5:
                                    this.card51.Source = cardSources1;
                                    this.card52.Source = cardSources2;
                                    break;
                                case 6:
                                    this.card61.Source = cardSources1;
                                    this.card62.Source = cardSources2;
                                    break;
                                case 7:
                                    this.card71.Source = cardSources1;
                                    this.card72.Source = cardSources2;
                                    break;
                                case 8:
                                    this.card81.Source = cardSources1;
                                    this.card82.Source = cardSources2;
                                    break;
                            }
                        }

                    }
                }
            }
            else
            {

            }
        }

        private void LoadHeadPicture()
        {
            try
            {
                string testWebService = new MyService().GetAdministrator().HelloWorld();
            }
            catch
            {
                MessageBox.Show("无法连接到服务器,请确保网络连接和ip(你输入的ip地址: " + App.ip + ")地址正确(正确ip地址示例:121.197.3.168:8080)");
                return;
            }

            DataSet headPicSet = myService.GetRecord().GetRecordByID(recordID);
            if (headPicSet.Tables.Count != 0)
            {
                DataTable headPictureTable = headPicSet.Tables[0];
                string headPic1 = headPictureTable.Rows[0]["HeadPicture1"].ToString();
                string headPic2 = headPictureTable.Rows[0]["HeadPicture2"].ToString();
                string headPic3 = headPictureTable.Rows[0]["HeadPicture3"].ToString();
                string headPic4 = headPictureTable.Rows[0]["HeadPicture4"].ToString();
                string headPic5 = headPictureTable.Rows[0]["HeadPicture5"].ToString();
                string headPic6 = headPictureTable.Rows[0]["HeadPicture6"].ToString();
                string headPic7 = headPictureTable.Rows[0]["HeadPicture7"].ToString();
                string headPic8 = headPictureTable.Rows[0]["HeadPicture8"].ToString();
                if (headPic1.Length != 0)
                {
                    BitmapImage headPicSource = new BitmapImage(new Uri("/Resources/Head/" + headPic1 + ".png", UriKind.Relative));
                    picture1.Source = headPicSource;
                }
                if (headPic2.Length != 0)
                {
                    BitmapImage headPicSource = new BitmapImage(new Uri("/Resources/Head/" + headPic2 + ".png", UriKind.Relative));
                    picture2.Source = headPicSource;
                }
                if (headPic3.Length != 0)
                {
                    BitmapImage headPicSource = new BitmapImage(new Uri("/Resources/Head/" + headPic3 + ".png", UriKind.Relative));
                    picture3.Source = headPicSource;
                }
                if (headPic4.Length != 0)
                {
                    BitmapImage headPicSource = new BitmapImage(new Uri("/Resources/Head/" + headPic4 + ".png", UriKind.Relative));
                    picture4.Source = headPicSource;
                }
                if (headPic5.Length != 0)
                {
                    BitmapImage headPicSource = new BitmapImage(new Uri("/Resources/Head/" + headPic5 + ".png", UriKind.Relative));
                    picture5.Source = headPicSource;
                }
                if (headPic6.Length != 0)
                {
                    BitmapImage headPicSource = new BitmapImage(new Uri("/Resources/Head/" + headPic6 + ".png", UriKind.Relative));
                    picture6.Source = headPicSource;
                }
                if (headPic7.Length != 0)
                {
                    BitmapImage headPicSource = new BitmapImage(new Uri("/Resources/Head/" + headPic7 + ".png", UriKind.Relative));
                    picture7.Source = headPicSource;
                }
                if (headPic8.Length != 0)
                {
                    BitmapImage headPicSource = new BitmapImage(new Uri("/Resources/Head/" + headPic8 + ".png", UriKind.Relative));
                    picture8.Source = headPicSource;
                }

            }

        }

        public void ShowPlayer()
        {
            picture1.Visibility = Visibility.Visible;
            Operation1.Visibility = Visibility.Visible;
            label1.Visibility = Visibility.Visible;
            yue1.Visibility = Visibility.Visible;
            card11.Visibility = Visibility.Visible;
            card12.Visibility = Visibility.Visible;
            Bet1.Visibility = Visibility.Visible;
            this.pictureBack1.Visibility = Visibility.Visible;

            this.PlayerLabel1.Visibility = Visibility.Visible;
            if (playerNumber >= 2)
            {
                picture2.Visibility = Visibility.Visible;
                Operation2.Visibility = Visibility.Visible;
                label2.Visibility = Visibility.Visible;
                yue2.Visibility = Visibility.Visible;
                card21.Visibility = Visibility.Visible;
                card22.Visibility = Visibility.Visible;
                Bet2.Visibility = Visibility.Visible;
                this.pictureBack2.Visibility = Visibility.Visible;

                this.PlayerLabel2.Visibility = Visibility.Visible;
            }
            if (playerNumber >= 3)
            {
                picture3.Visibility = Visibility.Visible;
                Operation3.Visibility = Visibility.Visible;
                label3.Visibility = Visibility.Visible;
                yue3.Visibility = Visibility.Visible;
                card31.Visibility = Visibility.Visible;
                card32.Visibility = Visibility.Visible;
                Bet3.Visibility = Visibility.Visible;
                this.pictureBack3.Visibility = Visibility.Visible;

                this.PlayerLabel3.Visibility = Visibility.Visible;
            }
            if (playerNumber >= 4)
            {
                picture4.Visibility = Visibility.Visible;
                Operation4.Visibility = Visibility.Visible;
                label4.Visibility = Visibility.Visible;
                yue4.Visibility = Visibility.Visible;
                card41.Visibility = Visibility.Visible;
                card42.Visibility = Visibility.Visible;
                Bet4.Visibility = Visibility.Visible;
                this.pictureBack4.Visibility = Visibility.Visible;

                this.PlayerLabel4.Visibility = Visibility.Visible;
            }
            if (playerNumber >= 5)
            {
                picture5.Visibility = Visibility.Visible;
                Operation5.Visibility = Visibility.Visible;
                label5.Visibility = Visibility.Visible;
                yue5.Visibility = Visibility.Visible;
                card51.Visibility = Visibility.Visible;
                card52.Visibility = Visibility.Visible;
                Bet5.Visibility = Visibility.Visible;
                this.pictureBack5.Visibility = Visibility.Visible;

                this.PlayerLabel5.Visibility = Visibility.Visible;
            }
            if (playerNumber >= 6)
            {
                picture6.Visibility = Visibility.Visible;
                Operation6.Visibility = Visibility.Visible;
                label6.Visibility = Visibility.Visible;
                yue6.Visibility = Visibility.Visible;
                card61.Visibility = Visibility.Visible;
                card62.Visibility = Visibility.Visible;
                Bet6.Visibility = Visibility.Visible;
                this.pictureBack6.Visibility = Visibility.Visible;

                this.PlayerLabel6.Visibility = Visibility.Visible;
            }
            if (playerNumber >= 7)
            {
                picture7.Visibility = Visibility.Visible;
                Operation7.Visibility = Visibility.Visible;
                label7.Visibility = Visibility.Visible;
                yue7.Visibility = Visibility.Visible;
                card71.Visibility = Visibility.Visible;
                card72.Visibility = Visibility.Visible;
                Bet7.Visibility = Visibility.Visible;
                this.pictureBack7.Visibility = Visibility.Visible;

                this.PlayerLabel7.Visibility = Visibility.Visible;
            }
            if (playerNumber >= 8)
            {
                picture8.Visibility = Visibility.Visible;
                Operation8.Visibility = Visibility.Visible;
                label8.Visibility = Visibility.Visible;
                yue8.Visibility = Visibility.Visible;
                card81.Visibility = Visibility.Visible;
                card82.Visibility = Visibility.Visible;
                Bet8.Visibility = Visibility.Visible;
                this.pictureBack8.Visibility = Visibility.Visible;

                this.PlayerLabel8.Visibility = Visibility.Visible;
            }

        }

        private void ButtonGameResult_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            new GameResult(recordID,playerNumber).Show();
        }

        private void ButtonPreGame_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            int preGameFirstStep = 0;
            for(int i=0;i<operationTable.Rows.Count;i++)
            {
                int gameIDtemp = int.Parse(operationTable.Rows[i]["GameID"].ToString());
                if(gameID-1>gameIDtemp)
                {
                    preGameFirstStep += 1;
                }
            }
            if(steps!=0)
            {
                steps = preGameFirstStep;
                LoadDesktop();
            }
            else
            {
                MessageBox.Show("已是第一局");
            }
        }

        private void ButtonPreStep_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (steps > 0)
            {
                steps -= 1;
                LoadDesktop();
            }
            else
            {
                MessageBox.Show("已是第一步");
            }

        }

        private void ButtonNextStep_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (steps < operationTable.Rows.Count - 1)
            {
                steps += 1;
                LoadDesktop();
            }
            else
                MessageBox.Show("已是最后一步");
        }

        private void ButtonNextGame_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            int thisGameStepsLeft = 0;
            for (int i = 0; i < operationTable.Rows.Count; i++)
            {
                int gameIDtemp = int.Parse(operationTable.Rows[i]["GameID"].ToString());
                if (gameID == gameIDtemp&&steps<i)
                {
                    thisGameStepsLeft += 1;
                }
            }
            int tempSteps = 0;
            tempSteps =steps + thisGameStepsLeft +1;
            if (tempSteps >= operationTable.Rows.Count)
                MessageBox.Show("已是最后一局游戏");
            else
            {
                steps = tempSteps;
                LoadDesktop();
            }

        }

        private void ButtonHome_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            //new SelectOld().Show();
            this.Close();
        }

        private void LoadDesktop()
        {
            try
            {
                string testWebService = new MyService().GetAdministrator().HelloWorld();
            }
            catch
            {
                MessageBox.Show("无法连接到服务器,请确保网络连接和ip(你输入的ip地址: " + App.ip + ")地址正确(正确ip地址示例:121.197.3.168:8080)");
                return;
            }

            if (this.Operation1.Text.ToString().Equals("弃牌"))
                this.picture1.Opacity = 0.1;
            else
                this.picture1.Opacity = 1;

            if (this.Operation2.Text.ToString().Equals("弃牌"))
                this.picture2.Opacity = 0.1;
            else
                this.picture2.Opacity = 1;

            if (this.Operation3.Text.ToString().Equals("弃牌"))
                this.picture3.Opacity = 0.1;
            else
                this.picture3.Opacity = 1;

            if (this.Operation4.Text.ToString().Equals("弃牌"))
                this.picture4.Opacity = 0.1;
            else
                this.picture4.Opacity = 1;

            if (this.Operation5.Text.ToString().Equals("弃牌"))
                this.picture5.Opacity = 0.1;
            else
                this.picture5.Opacity = 1;

            if (this.Operation6.Text.ToString().Equals("弃牌"))
                this.picture6.Opacity = 0.1;
            else
                this.picture6.Opacity = 1;

            if (this.Operation7.Text.ToString().Equals("弃牌"))
                this.picture7.Opacity = 0.1;
            else
                this.picture7.Opacity = 1;

            if (this.Operation8.Text.ToString().Equals("弃牌"))
                this.picture8.Opacity = 0.1;
            else
                this.picture8.Opacity = 1;

            if (operationTable.Rows.Count == 0)
                return;

            //隐藏池底的筹码
            if (gameID != int.Parse(operationTable.Rows[steps]["GameID"].ToString()))
            {
                this.ChipsInPool1.Visibility = Visibility.Hidden;
                this.ChipsInPool2.Visibility = Visibility.Hidden;
                this.ChipsInPool3.Visibility = Visibility.Hidden;
                this.ChipsInPool4.Visibility = Visibility.Hidden;
                this.ChipsInPool5.Visibility = Visibility.Hidden;
                this.ChipsInPool6.Visibility = Visibility.Hidden;
                this.ChipsInPool7.Visibility = Visibility.Hidden;
                this.imageChips1.Visibility = Visibility.Hidden;
                this.imageChips2.Visibility = Visibility.Hidden;
                this.imageChips3.Visibility = Visibility.Hidden;
                this.imageChips4.Visibility = Visibility.Hidden;
                this.imageChips5.Visibility = Visibility.Hidden;
                this.imageChips6.Visibility = Visibility.Hidden;
                this.imageChips7.Visibility = Visibility.Hidden;
            }

            gameID=int.Parse(operationTable.Rows[steps]["GameID"].ToString());
            DataSet set = myService.GetPlayerChip().GetStartChipsByGameID(gameID);
            if (set.Tables.Count == 0)
                return;
            DataTable startChipsTable = set.Tables[0];
            for (int j = 0; j < startChipsTable.Rows.Count; j++)
            {
                int playerid = int.Parse(startChipsTable.Rows[j]["PlayerID"].ToString());
                string startChips = startChipsTable.Rows[j]["StartChips"].ToString();
                if (playerid == 1)
                    this.yue1.Text = startChips;
                if (playerid == 2)
                    this.yue2.Text = startChips;
                if (playerid == 3)
                    this.yue3.Text = startChips;
                if (playerid == 4)
                    this.yue4.Text = startChips;
                if (playerid == 5)
                    this.yue5.Text = startChips;
                if (playerid == 6)
                    this.yue6.Text = startChips;
                if (playerid == 7)
                    this.yue7.Text = startChips;
                if (playerid == 8)
                    this.yue8.Text = startChips;

            }

            this.Operation1.Text = "等待";
            this.Operation1.Text = "等待";
            this.Operation2.Text = "等待";
            this.Operation3.Text = "等待";
            this.Operation4.Text = "等待";
            this.Operation5.Text = "等待";
            this.Operation6.Text = "等待";
            this.Operation7.Text = "等待";
            this.Operation8.Text = "等待";
            Bet1.Text = "";
            Bet2.Text = "";
            Bet3.Text = "";
            Bet4.Text = "";
            Bet5.Text = "";
            Bet6.Text = "";
            Bet7.Text = "";
            Bet8.Text = "";

            //显示Player操作和筹码余额
            for (int i = 0; i <= steps; i++)
            {
                int playerID = int.Parse(operationTable.Rows[i]["PlayerID"].ToString());
                string operation = operationTable.Rows[i]["Operation"].ToString();
                string chipsBet = operationTable.Rows[i]["ChipsBet"].ToString();
                string chipsInHand = operationTable.Rows[i]["ChipsInHand"].ToString();

                if (operation.Equals("加注"))
                    operation = "加至";
                //荷官 贷款后 ,把Player上的气泡隐藏
                if (operation.Equals("小盲"))
                {
                    BitmapImage publicOld1 = new BitmapImage(new Uri("/Resources/Gray_1.png", UriKind.Relative));
                    BitmapImage publicOld2 = new BitmapImage(new Uri("/Resources/Gray_2.png", UriKind.Relative));
                    BitmapImage publicOld3 = new BitmapImage(new Uri("/Resources/Gray_3.png", UriKind.Relative));
                    this.card1.Source = publicOld1;
                    this.card2.Source = publicOld1;
                    this.card3.Source = publicOld1;
                    this.card4.Source = publicOld2;
                    this.card5.Source = publicOld3;
                    Bubble.Visibility = Visibility.Hidden;
                    Bubble1.Visibility = Visibility.Hidden;
                    Bubble2.Visibility = Visibility.Hidden;
                    Bubble3.Visibility = Visibility.Hidden;
                    Bubble4.Visibility = Visibility.Hidden;
                    Bubble5.Visibility = Visibility.Hidden;
                    Bubble6.Visibility = Visibility.Hidden;
                    Bubble7.Visibility = Visibility.Hidden;
                    Bubble8.Visibility = Visibility.Hidden;
                }

                switch (playerID)
                {
                    case 0:
                        Bubble1.Visibility = Visibility.Hidden;
                        Bubble2.Visibility = Visibility.Hidden;
                        Bubble3.Visibility = Visibility.Hidden;
                        Bubble4.Visibility = Visibility.Hidden;
                        Bubble5.Visibility = Visibility.Hidden;
                        Bubble6.Visibility = Visibility.Hidden;
                        Bubble7.Visibility = Visibility.Hidden;
                        Bubble8.Visibility = Visibility.Hidden;
                        Bubble1.Content.Text = "";
                        Bubble2.Content.Text = "";
                        Bubble3.Content.Text = "";
                        Bubble4.Content.Text = "";
                        Bubble5.Content.Text = "";
                        Bubble6.Content.Text = "";
                        Bubble7.Content.Text = "";
                        Bubble8.Content.Text = "";

                        Bet1.Text = "";
                        Bet2.Text = "";
                        Bet3.Text = "";
                        Bet4.Text = "";
                        Bet5.Text = "";
                        Bet6.Text = "";
                        Bet7.Text = "";
                        Bet8.Text = "";

                        //荷官 操作后 气泡的显示
                        if (operation.Equals("贷款") || operation.Equals("判定"))
                        {
                            if (operation.Equals("贷款"))
                            {
                                Bubble.Visibility = Visibility.Hidden;
                                for (int j = 0; j < startChipsTable.Rows.Count; j++)
                                {
                                    int pID = int.Parse(startChipsTable.Rows[j]["PlayerID"].ToString());
                                    string loanC = startChipsTable.Rows[j]["LoanChips"].ToString();
                                    if (!loanC.Equals("0"))
                                    {
                                        switch (pID)
                                        {
                                            case 1:
                                                Bubble1.Title.Text = "借款";
                                                Bubble1.Content.Text = loanC;
                                                Bubble1.Visibility = Visibility.Visible;
                                                break;
                                            case 2:
                                                Bubble2.Title.Text = "借款";
                                                Bubble2.Content.Text = loanC;
                                                Bubble2.Visibility = Visibility.Visible;
                                                break;
                                            case 3:
                                                Bubble3.Title.Text = "借款";
                                                Bubble3.Content.Text = loanC;
                                                Bubble3.Visibility = Visibility.Visible;
                                                break;
                                            case 4:
                                                Bubble4.Title.Text = "借款";
                                                Bubble4.Content.Text = loanC;
                                                Bubble4.Visibility = Visibility.Visible;
                                                break;
                                            case 5:
                                                Bubble5.Title.Text = "借款";
                                                Bubble5.Content.Text = loanC;
                                                Bubble5.Visibility = Visibility.Visible;
                                                break;
                                            case 6:
                                                Bubble6.Title.Text = "借款";
                                                Bubble6.Content.Text = loanC;
                                                Bubble6.Visibility = Visibility.Visible;
                                                break;
                                            case 7:
                                                Bubble7.Title.Text = "借款";
                                                Bubble7.Content.Text = loanC;
                                                Bubble7.Visibility = Visibility.Visible;
                                                break;
                                            case 8:
                                                Bubble8.Title.Text = "借款";
                                                Bubble8.Content.Text = loanC;
                                                Bubble8.Visibility = Visibility.Visible;
                                                break;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                DataSet tempJudge = myService.GetPlayerChip().GetGameResultByGameID(gameID);
                                if (tempJudge.Tables.Count == 0)
                                    return;
                                DataTable lastGameResultTable = tempJudge.Tables[0];
                                Bubble.Visibility = Visibility.Hidden;

                                for (int j = 0; j < lastGameResultTable.Rows.Count; j++)
                                {
                                    int pID = int.Parse(lastGameResultTable.Rows[j]["PlayerID"].ToString());
                                    string gainC = lastGameResultTable.Rows[j]["GainChips"].ToString();
                                    if (!gainC.Equals("0"))
                                    {
                                        switch (pID)
                                        {
                                            case 1:
                                                Bubble1.Title.Text = "赢得";
                                                Bubble1.Content.Text = gainC;
                                                Bubble1.Visibility = Visibility.Visible;
                                                break;
                                            case 2:
                                                Bubble2.Title.Text = "赢得";
                                                Bubble2.Content.Text = gainC;
                                                Bubble2.Visibility = Visibility.Visible;
                                                break;
                                            case 3:
                                                Bubble3.Title.Text = "赢得";
                                                Bubble3.Content.Text = gainC;
                                                Bubble3.Visibility = Visibility.Visible;
                                                break;
                                            case 4:
                                                Bubble4.Title.Text = "赢得";
                                                Bubble4.Content.Text = gainC;
                                                Bubble4.Visibility = Visibility.Visible;
                                                break;
                                            case 5:
                                                Bubble5.Title.Text = "赢得";
                                                Bubble5.Content.Text = gainC;
                                                Bubble5.Visibility = Visibility.Visible;
                                                break;
                                            case 6:
                                                Bubble6.Title.Text = "赢得";
                                                Bubble6.Content.Text = gainC;
                                                Bubble6.Visibility = Visibility.Visible;
                                                break;
                                            case 7:
                                                Bubble7.Title.Text = "赢得";
                                                Bubble7.Content.Text = gainC;
                                                Bubble7.Visibility = Visibility.Visible;
                                                break;
                                            case 8:
                                                Bubble8.Title.Text = "赢得";
                                                Bubble8.Content.Text = gainC;
                                                Bubble8.Visibility = Visibility.Visible;
                                                break;
                                        }
                                    }
                                }
                            }

                            this.Operation1.Text = "等待";
                            this.Operation1.Text = "等待";
                            this.Operation2.Text = "等待";
                            this.Operation3.Text = "等待";
                            this.Operation4.Text = "等待";
                            this.Operation5.Text = "等待";
                            this.Operation6.Text = "等待";
                            this.Operation7.Text = "等待";
                            this.Operation8.Text = "等待";

                            //DataSet set = new ServicePlayerChip.PlayerChipSoapClient().GetStartChipsForJudgeShow();
                            //DataTable startChipsTable=set.Tables[0];
                            for (int j = 0; j < startChipsTable.Rows.Count; j++)
                            {
                                int playerid = int.Parse(startChipsTable.Rows[j]["PlayerID"].ToString());
                                string startChips = startChipsTable.Rows[j]["StartChips"].ToString();
                                if (playerid == 1)
                                    this.yue1.Text = startChips;
                                if (playerid == 2)
                                    this.yue2.Text = startChips;
                                if (playerid == 3)
                                    this.yue3.Text = startChips;
                                if (playerid == 4)
                                    this.yue4.Text = startChips;
                                if (playerid == 5)
                                    this.yue5.Text = startChips;
                                if (playerid == 6)
                                    this.yue6.Text = startChips;
                                if (playerid == 7)
                                    this.yue7.Text = startChips;
                                if (playerid == 8)
                                    this.yue8.Text = startChips;

                            }
                        }
                        else if (operation.Equals("发牌"))
                        {

                            Bubble.Visibility = Visibility.Visible;
                            Bubble.Title.Text = "发牌";
                            Bubble.Content.Text = "";

                            string fapaiZhangshu=operationTable.Rows[i]["ChipsBet"].ToString();
                            DataSet gameset = myService.GetGame().GetGameByGameID(gameID);
                            if(gameset.Tables.Count!=0)
                            {
                                DataTable gameTable = gameset.Tables[0];
                                string publiccard1=gameTable.Rows[0]["FirstCard"].ToString();
                                string publiccard2 = gameTable.Rows[0]["SecondCard"].ToString();
                                string publiccard3 = gameTable.Rows[0]["ThirdCard"].ToString();
                                string publiccard4 = gameTable.Rows[0]["FourthCard"].ToString();
                                string publiccard5 = gameTable.Rows[0]["FifthCard"].ToString();
                                BitmapImage cardSource1 = new BitmapImage(new Uri("/Resources/Cards/" + publiccard1 + ".png", UriKind.Relative));
                                BitmapImage cardSource2 = new BitmapImage(new Uri("/Resources/Cards/" + publiccard2 + ".png", UriKind.Relative));
                                BitmapImage cardSource3 = new BitmapImage(new Uri("/Resources/Cards/" + publiccard3 + ".png", UriKind.Relative));
                                BitmapImage cardSource4 = new BitmapImage(new Uri("/Resources/Cards/" + publiccard4 + ".png", UriKind.Relative));
                                BitmapImage cardSource5 = new BitmapImage(new Uri("/Resources/Cards/" + publiccard5 + ".png", UriKind.Relative));

                                BitmapImage publicOld1 = new BitmapImage(new Uri("/Resources/Gray_1.png", UriKind.Relative));
                                BitmapImage publicOld2 = new BitmapImage(new Uri("/Resources/Gray_2.png", UriKind.Relative));
                                BitmapImage publicOld3 = new BitmapImage(new Uri("/Resources/Gray_3.png", UriKind.Relative));
                                if(fapaiZhangshu.Equals("1"))
                                {
                                    this.card1.Source = cardSource1;
                                    this.card2.Source = cardSource2;
                                    this.card3.Source = cardSource3;
                                    this.card4.Source = publicOld2;
                                    this.card5.Source = publicOld3;
                                }
                                else if(fapaiZhangshu.Equals("2"))
                                {
                                    this.card1.Source = cardSource1;
                                    this.card2.Source = cardSource2;
                                    this.card3.Source = cardSource3;
                                    this.card4.Source = cardSource4;
                                    this.card5.Source = publicOld3;
                                }
                                else if(fapaiZhangshu.Equals("3"))
                                {
                                    this.card1.Source = cardSource1;
                                    this.card2.Source = cardSource2;
                                    this.card3.Source = cardSource3;
                                    this.card4.Source = cardSource4;
                                    this.card5.Source = cardSource5;
                                }
                            }

                            if (!this.Operation1.Text.ToString().Equals("弃牌") && !this.Operation1.Text.ToString().Equals("全下"))
                                this.Operation1.Text = "等待";
                            if (!this.Operation2.Text.ToString().Equals("弃牌") && !this.Operation2.Text.ToString().Equals("全下"))
                                this.Operation2.Text = "等待";
                            if (!this.Operation3.Text.ToString().Equals("弃牌") && !this.Operation3.Text.ToString().Equals("全下"))
                                this.Operation3.Text = "等待";
                            if (!this.Operation4.Text.ToString().Equals("弃牌") && !this.Operation4.Text.ToString().Equals("全下"))
                                this.Operation4.Text = "等待";
                            if (!this.Operation5.Text.ToString().Equals("弃牌") && !this.Operation5.Text.ToString().Equals("全下"))
                                this.Operation5.Text = "等待";
                            if (!this.Operation6.Text.ToString().Equals("弃牌") && !this.Operation6.Text.ToString().Equals("全下"))
                                this.Operation6.Text = "等待";
                            if (!this.Operation7.Text.ToString().Equals("弃牌") && !this.Operation7.Text.ToString().Equals("全下"))
                                this.Operation7.Text = "等待";
                            if (!this.Operation8.Text.ToString().Equals("弃牌") && !this.Operation8.Text.ToString().Equals("全下"))
                                this.Operation8.Text = "等待";

                        }

                        break;
                    case 1:
                        this.Operation1.Text = operation;
                        this.yue1.Text = chipsInHand;
                        if (!(operation.Equals("弃牌") || operation.Equals("看牌")))
                        {
                            Bet1.Text = ":  " + chipsBet;
                            this.Bubble1.Content.Text = chipsBet;
                        }
                        this.Bubble1.Title.Text = operation;
                        Bubble1.Visibility = Visibility.Visible;
                        break;
                    case 2:
                        this.Operation2.Text = operation;
                        this.yue2.Text = chipsInHand;
                        if (!(operation.Equals("弃牌") || operation.Equals("看牌")))
                        {
                            Bet2.Text = ":  " + chipsBet;
                            this.Bubble2.Content.Text = chipsBet;
                        }
                        this.Bubble2.Title.Text = operation;
                        Bubble2.Visibility = Visibility.Visible;
                        break;
                    case 3:
                        this.Operation3.Text = operation;
                        this.yue3.Text = chipsInHand;
                        if (!(operation.Equals("弃牌") || operation.Equals("看牌")))
                        {
                            Bet3.Text = ":  " + chipsBet;
                            this.Bubble3.Content.Text = chipsBet;
                        }
                        this.Bubble3.Title.Text = operation;
                        Bubble3.Visibility = Visibility.Visible;
                        break;
                    case 4:
                        this.Operation4.Text = operation;
                        this.yue4.Text = chipsInHand;
                        if (!(operation.Equals("弃牌") || operation.Equals("看牌")))
                        {
                            Bet4.Text = ":  " + chipsBet;
                            this.Bubble4.Content.Text = chipsBet;
                        }
                        this.Bubble4.Title.Text = operation;
                        Bubble4.Visibility = Visibility.Visible;
                        break;
                    case 5:
                        this.Operation5.Text = operation;
                        this.yue5.Text = chipsInHand;
                        if (!(operation.Equals("弃牌") || operation.Equals("看牌")))
                        {
                            Bet5.Text = ":  " + chipsBet;
                            this.Bubble5.Content.Text = chipsBet;
                        }
                        this.Bubble5.Title.Text = operation;
                        Bubble5.Visibility = Visibility.Visible;
                        break;
                    case 6:
                        this.Operation6.Text = operation;
                        this.yue6.Text = chipsInHand;
                        if (!(operation.Equals("弃牌") || operation.Equals("看牌")))
                        {
                            Bet6.Text = ":  " + chipsBet;
                            this.Bubble6.Content.Text = chipsBet;
                        }
                        this.Bubble6.Title.Text = operation;
                        Bubble6.Visibility = Visibility.Visible;
                        break;
                    case 7:
                        this.Operation7.Text = operation;
                        this.yue7.Text = chipsInHand;
                        if (!(operation.Equals("弃牌") || operation.Equals("看牌")))
                        {
                            Bet7.Text = ":  " + chipsBet;
                            this.Bubble7.Content.Text = chipsBet;
                        }
                        this.Bubble7.Title.Text = operation;
                        Bubble7.Visibility = Visibility.Visible;
                        break;
                    case 8:
                        this.Operation8.Text = operation;
                        this.yue8.Text = chipsInHand;
                        if (!(operation.Equals("弃牌") || operation.Equals("看牌")))
                        {
                            Bet8.Text = ":  " + chipsBet;
                            this.Bubble8.Content.Text = chipsBet;
                        }
                        this.Bubble8.Title.Text = operation;
                        Bubble8.Visibility = Visibility.Visible;
                        break;
                }

            }
            LoadPrivateCard();
            DeterminNextPlayer();
        }

        private void ButtonPreGame_MouseEnter(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Pre_Game_hover.png", UriKind.Relative));
            ButtonPreGame.Source = imagetemp;
        }

        private void ButtonPreGame_MouseLeave(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Pre_Game.png", UriKind.Relative));
            ButtonPreGame.Source = imagetemp;
        }

        private void ButtonPreStep_MouseEnter(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Pre_Step_hover.png", UriKind.Relative));
            ButtonPreStep.Source = imagetemp;
        }

        private void ButtonPreStep_MouseLeave(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Pre_Step.png", UriKind.Relative));
            ButtonPreStep.Source = imagetemp;
        }

        private void ButtonNextStep_MouseEnter(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Next_Step_hover.png", UriKind.Relative));
            ButtonNextStep.Source = imagetemp;
        }

        private void ButtonNextStep_MouseLeave(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Next_Step.png", UriKind.Relative));
            ButtonNextStep.Source = imagetemp;
        }

        private void ButtonNextGame_MouseEnter(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Next_Game_hover.png", UriKind.Relative));
            ButtonNextGame.Source = imagetemp;
        }

        private void ButtonNextGame_MouseLeave(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Next_Game.png", UriKind.Relative));
            ButtonNextGame.Source = imagetemp;
        }

        private void ButtonHome_MouseEnter(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Home_hover.png", UriKind.Relative));
            ButtonHome.Source = imagetemp;
        }

        private void ButtonHome_MouseLeave(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Home.png", UriKind.Relative));
            ButtonHome.Source = imagetemp;
        }

        private void ButtonGameResult_MouseEnter(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Result_hover.png", UriKind.Relative));
            ButtonGameResult.Source = imagetemp;
        }

        private void ButtonGameResult_MouseLeave(object sender, MouseEventArgs e)
        {
            BitmapImage imagetemp = new BitmapImage(new Uri("/Resources/Result.png", UriKind.Relative));
            ButtonGameResult.Source = imagetemp;
        }

        private BitmapImage back = new BitmapImage(new Uri("/Resources/HeadBack.png", UriKind.Relative));
        private BitmapImage backHove = new BitmapImage(new Uri("/Resources/HeadBack_hover.png", UriKind.Relative));

        private void pictureBack_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack.Source = backHove;
        }

        private void pictureBack_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack.Source = back;
        }

        private void pictureBack1_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack1.Source = backHove;
        }

        private void pictureBack1_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack1.Source = back;
        }

        private void pictureBack2_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack2.Source = backHove;
        }

        private void pictureBack2_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack2.Source = back;
        }

        private void pictureBack3_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack3.Source = backHove;
        }

        private void pictureBack3_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack3.Source = back;
        }

        private void pictureBack4_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack4.Source = backHove;
        }

        private void pictureBack4_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack4.Source = back;
        }

        private void pictureBack5_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack5.Source = backHove;
        }

        private void pictureBack5_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack5.Source = back;
        }

        private void pictureBack6_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack6.Source = backHove;
        }

        private void pictureBack6_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack6.Source = back;
        }

        private void pictureBack7_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack7.Source = backHove;
        }

        private void pictureBack7_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack7.Source = back;
        }

        private void pictureBack8_MouseEnter(object sender, MouseEventArgs e)
        {
            this.pictureBack8.Source = backHove;
        }

        private void pictureBack8_MouseLeave(object sender, MouseEventArgs e)
        {
            this.pictureBack8.Source = back;
        }

        private void Window_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.Key==Key.Left)
            {
                if (steps > 0)
                {
                    steps -= 1;
                    LoadDesktop();
                }
                else
                {
                    MessageBox.Show("已是第一步");
                }
            }
            if(e.Key==Key.Right)
            {
                if (steps < operationTable.Rows.Count - 1)
                {
                    steps += 1;
                    LoadDesktop();
                }
                else
                    MessageBox.Show("已是最后一步");
            }
            if(e.Key==Key.Up)
            {
                int preGameFirstStep = 0;
                for (int i = 0; i < operationTable.Rows.Count; i++)
                {
                    int gameIDtemp = int.Parse(operationTable.Rows[i]["GameID"].ToString());
                    if (gameID - 1 > gameIDtemp)
                    {
                        preGameFirstStep += 1;
                    }
                }
                if (steps != 0)
                {
                    steps = preGameFirstStep;
                    LoadDesktop();
                }
                else
                {
                    MessageBox.Show("已是第一局");
                }
            }
            if(e.Key==Key.Down)
            {
                int thisGameStepsLeft = 0;
                for (int i = 0; i < operationTable.Rows.Count; i++)
                {
                    int gameIDtemp = int.Parse(operationTable.Rows[i]["GameID"].ToString());
                    if (gameID == gameIDtemp && steps < i)
                    {
                        thisGameStepsLeft += 1;
                    }
                }
                int tempSteps = 0;
                tempSteps = steps + thisGameStepsLeft + 1;
                if (tempSteps >= operationTable.Rows.Count)
                    MessageBox.Show("已是最后一局游戏");
                else
                {
                    steps = tempSteps;
                    LoadDesktop();
                }
            }
        }

    }
}


Imagine being able to have a professional handler through every step of the shopping process from purchase to shipment to Kenya.
One of the most important services that we are proud to offer at Commercial Cargo Ltd is the ability for our clients to shop online from anywhere in the world and have their purchases shipped to our London facility to be forwarded to their final destination in Kenya.
The benefits are truly amazing. Many online retailers offer free shipping to the UK but do not even offer a shipping option at all to Kenya. Now Commercial Cargo Ltd provides you with a safe and effective solution.
Make your purchases, use the seller's free shipping to the United Kingdom, and simply send the item to our facility in London, where we will take care of getting it shipped to you in Kenya.
We are also pleased to offer an optimized service wherein Cargo Commercial Ltd can purchase products on your behalf in the UK and the EU to be shipped through our London office and on to Kenyan cities that we serve.


'Terra Firma – very large, about which nothing is known', was how Columbus described the mainland of South America. David finds himself on anything but firm ground when he arrives in Venezuela to work for Jordi's uncle Manuel, the Minister of Planning. Jordi's exotic family befriend him – the uncles who chased out the last dictator, the grandfather, too old for deep-sea fishing but still chasing young women at ninety and Christina, Jordi's sister. He finds cliffs to indulge his passion for rock climbing. And at work he meets Chelo and falls in love. He discovers that the site of the new town he is helping plan is on an earthquake fault and that his boss, Manuel, owns the land.
What d'you think?' Jordi asked, after David had gone.
'He's neat,' mused Mariella, in the mirror, brushing her hair.
'Have you noticed the way he walks?' Jordi nodded, but she knew he would not have. 'He plants his feet firmly, not heavily, just well balanced.' She walked across the bedroom, imitating him.
'He's no push-over you mean?' laughed Jordi.
I have to say this is a FANTASTIC work! It is more than a record of the trip with memories. This is the treasure of life for you, your family and your FRIENDS. I can learn a lot from this journey! Thank you Steve.


If there's one flavor that I hate, it's the aftertaste of failure. Call me a perfectionist or a spoiled little snot: either is an apt description. When something doesn't go my way, I sulk. I'm a master of the silent treatment. I can pout so hard that my lower lip sticks out a full inch. Worst of all, when said failure involves a chocolate malted cupcake, I've been known to air my dirty disappointment in the most public of places: on the Internet, sneakily disguised as a bowl of lima beans. Maybe it would be smarter to take up yoga or meditation, or to sign myself up for anger management classes, and maybe I will. Or maybe I'll just bake more cupcakes.
As the old saying goes, if at first you don't succeed, try, try another recipe.
My first—and failed—attempt came from the pages of Nigella Lawson's Feast, but feast, I'm afraid, it was not. I dutifully followed her recipe for a "Chocolate Malteser Cake," but the resulting offense tasted neither of chocolate nor of malt, and its crumb was a mousy brown, dull and rubbery. Before the cupcakes so much as saw my icing spatula, they were rerouted to the trashcan. Given my previous statements about Ms. Lawson—we're no longer on a first-name basis—you can well understand my need to sulk.
But because I still wanted dessert, I began to slowly prepare myself for a second go-round. I did a little research, thumbed through a cookbook or two, and then I took down the trusty accordion file of recipes that sits atop my refrigerator. To start anew, I figured, sometimes a girl must retreat to familiar territory, so I pulled out an old, tried-and-true recipe for chocolate cake, and I tried, tried again.
The cupcake itself, I decided, didn't need to contain malt; what I wanted was a good, stand-alone chocolate cake, something that needs no adornment. In the same way that a good ice cream sets the tone for a milkshake, this cake would be a solid base on which to build my malted flavor. From there, I could fuss with the frosting until I had something creamy, toasty, and tinted with cocoa, a flavor that tasted as though it could be slurped through a straw. And that, dear reader, is success for you.
With two types of chocolate and a half-cup of buttermilk, these cakes bake up to a pretty shade of brunette, with a rich, tender crumb that shines under the light. Capped with a lazy swirl of soft, malted frosting, it's like a milkshake, but with a more satisfying chew.
This cake recipe is very delicious and very, very delicate. Its tender crumb makes it one of the best cakes I know of, but it's almost too fragile for a cupcake. Plan to eat these with a plate nearby, and with a napkin to erase the evidence.
Preheat the oven to 300 degrees Fahrenheit. Line 12 cups of a muffin tin with paper liners.
Place the chocolate in a medium bowl with the hot coffee. Let stand, stirring occasionally, until the chocolate is melted and the mixture is smooth and opaque.
In another medium bowl, combine the sugar, flour, cocoa powder, baking soda, baking powder, and salt, and whisk to combine well.
In a large bowl, beat the egg with an electric mixer until it is pale yellow in color, about a minute or two. Slowly add the oil, buttermilk, and vanilla extract, beating to combine well. Slowly add the melted chocolate mixture, and beat to thoroughly combine. Add the dry ingredients, and beat on medium speed until the batter is just combined. Using a rubber spatula, scrape the sides of the bowl and briefly fold the batter to be certain that all of the dry ingredients are incorporated.
Divide the batter evenly among the 12 prepared muffin cups. Bake for 20-25 minutes, or until a toothpick inserted in the center of a cupcake comes out clean. Cool the cupcakes for 15 minutes in the pan; then gently transfer them to a rack to cool completely. They are very delicate and tender, so take care.
When the cupcakes are cool, make the frosting. In the bowl of a food processor, combine the powdered sugar, cocoa, and malted milk powder, and process to mix well. Add the butter, and process to blend. Stop the motor, and scrape down the sides of the bowl with a rubber spatula. Then, with the motor running, add the water. Process briefly, until the frosting is smooth. Frost the cupcakes in loose swirls, and serve.


Saez-Rodriguez, Julio, Leonidas G. Alexopoulos, Jonathan Epperlein, Regina Samaga, Douglas A. Lauffenburger, Steffen Klamt, and Peter K. Sorger. 2009. Discrete logic modelling as a means to link protein signalling networks with functional analysis of mammalian signal transduction. Molecular Systems Biology 5:331.
Large-scale protein signalling networks are useful for exploring complex biochemical pathways but do not reveal how pathways respond to specific stimuli. Such specificity is critical for understanding disease and designing drugs. Here we describe a computational approach—implemented in the free CNO software—for turning signalling networks into logical models and calibrating the models against experimental data. When a literature-derived network of 82 proteins covering the immediate-early responses of human cells to seven cytokines was modelled, we found that training against experimental data dramatically increased predictive power, despite the crudeness of Boolean approximations, while significantly reducing the number of interactions. Thus, many interactions in literature-derived networks do not appear to be functional in the liver cells from which we collected our data. At the same time, CNO identified several new interactions that improved the match of model to data. Although missing from the starting network, these interactions have literature support. Our approach, therefore, represents a means to generate predictive, cell-type-specific models of mammalian signalling from generic protein signalling networks.


Finca for sale in Benissa. A beautiful three bedroom, two bathroom finca built in 2004 on a plot of 13000m2 close to Benissa, Senija and Lliber. Electric automatic gates lead you to the long driveway and to the entrance of the finca set in delightful countryside. Double carport and a spacious garage with internal access to the house. Covered entrance porch to the main entrance door. Open plan living and dining area with a high specification and beautiful kitchen with high quality appliances. Access from the kitchen, living and master bedroom to the impressive five arched naya overlooking the pool, terraces and countryside. To the left the master bedroom en suite. Also on this level a guest cloakroom. Internal staircase with beautiful tiling takes you to the upper floor with an open plan sitting area (which could be turned in to the fourth bedroom) and two further big double bedrooms on either side. Separately a spacious complete bathroom. Because of the high ceilings, you get a great feeling of space. Underfloor heating by oil.


text:
Q: Storyboard Segue with popup button and detailview I am creating a news app that has title, description, video and details.
this is displayed on UIViewCell on TableView, when a user clicks on that
particular cell, corresponding news is displayed as shown below
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    NewsViewController *newsdetail = [[NewsViewController alloc] initWithNibName:@"NewsDetailView" bundle:nil];
    self.newsdetails = detail;
    [detail release];

    newsdetails.title = [NSString stringWithFormat:@"%@",[titleData objectAtIndex:indexPath.row]];
    newsdetails.itemID = [NSString stringWithFormat:@"%@",[NewsIds objectAtIndex:indexPath.row]];

    [self.navigationController pushViewController:newsdetails animated:YES];

}

The variables (which hold JSON data) are properly defined in NewsViewController and synthesised as follows
NSMutableArray *NewsIds;
NSMutableArray *titleData;
NSMutableArray *descriptionData; etc

Now, what I want is to add a video button as shown on the storyboard, so that a user can click it and be able to see details of corresponding video through modal /popup
any suggestions or help?

A: In the Storyboard, just use an Action segue on the UIButton and select modal. Control Drag from the button to the Video Details VC. Give that segue a name, let's say
playVideo

Then inside the prepareForSegue method in your PlayersViewController.m you just add this:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"playVideo"]) {
    // set properties on your destinationVieController to pass the data you need
    }
}

Also use unwind segues on the buttons 'Cancel' and 'Done' in your destination VC to return to the previous TVC. Alternatively you could also use dismissViewControllerAnimated: that will be passed to the calling VC.

A: you should have a custom table view cell which will be handling actions and data on cell.

redpajama_set_name: RedPajamaStackExchange


Learning how to use a pistol without any professional training can be rather difficult. This is especially true if it's your first time handling a firearm. Regardless if you are using the pistol for recreational purposes or professional use, you will need to put in ample practice to get better at aiming and shooting.
For quicker acquisition, though, you can also consider getting a red dot sight. The best red dot sight for pistols will feature adjustable settings, enhanced durability, and compatibility with almost any firearm. Do you think these can all be found in a single device?
If you'd like to know more, keep reading, and we will introduce you to the top 5 models of 2018.
For our first pick among the best red dot sight for pistols, we will take a close look at the Feyachi Reflex Sight. Those hunting in poor lighting conditions will benefit from this reliable sight as it can improve both aim and accuracy almost instantly. It boasts an intelligent design that allows the unit to work and deliver quality performance even after consistent use.
The Feyachi Reflex Sight features four different sight styles for different uses. These include dot, circle/dot, crosshair/dot, and crosshair/circle/dot combinations. Aside from that, it also boasts a broad 33mm lens that is really helpful in enhancing one's range of field. This helps in maintaining situational awareness at the same time.
In addition to that, the Feyachi Reflex Sight is also designed to be sturdy and long-lasting. It is equipped with parallax-corrected and unlimited eye-relief, which helps with the accuracy of your shots as well. Lastly, this sight is designed with a waterproof and shock-resistant body that is also very lightweight. This sight runs on a single 3V battery.
The next sight on our list is the Tacticon Laser Sight. This unit comes with a lifetime warranty, which simply goes to show how dedicated the company is to their clients. Tacticon is owned by a former veteran who ensures that all of their products are tested and refined to help improve accuracy and performance.
The Tacticon Laser Sight is specifically designed to be compatible with any firearm that has a Picatinny-Weaver rail. Once successfully installed, you can easily adjust and zero in on your target because this is a user-friendly sight. With your convenience in mind, this unit comes with a set of elevation and windage wrenches for hassle-free adjustments too.
Unlike other sights, though, the Tacticon Laser Sight does not rely on a scope to give you the best aim. Instead, this device uses a very accurate and very powerful laser technology that can be seen clearly even up to 100 meters away. For this reason, you won't need any other tools to enhance your visibility during your hunt.
The Ade RD3-011 Night Vision Sight is an excellent choice for hunters who want to track their prey in dimly lit environments. Use it on rainy days, at night, or in poorly lit conditions. The unit features multiple brightness levels, which can help enhance your overall vision while hunting. Use the scope to get a better vision on your targets and to ensure that you will hit your mark every time.
The Ade RD3-011 Night Vision Sight boasts a whopping six brightness levels that you can manually adjust depending on your current hunting requirements. This makes it possible for this sight to be used in different environments and settings. Aside from that, it is also guaranteed to be heavy-duty in that its shell is shock-, rain-, and fog-proof.
In addition to that feature, this sight also boasts 1 MOA windage and elevation adjustments. An audible click will let you know every time you have changed the setting. As for magnification, you can enjoy 1.0 times zoom with an exit pupil of 22mm to 33mm.
Lastly, this sight has a high-quality lens that is made from optical-grade glass. What does this mean, though? To put simply, this means that this lens is impact-resistant.
When it comes to mounting the unit, you only need to have at least a 21-mm weaver mount base. This makes it compatible with a wide selection of different firearms.
The OTW Red Dot Sight is an extremely durable device that holds zero well even after years of use. This unit is specially designed to withstand the harsh environments that sights are usually faced with. It can be attached to firearms with Picatinny weaver rail bases.
Aside from improved durability, this device also features a fast-centering, parallax-free red dots. This allows the unit to provide its user with enhanced accuracy and better overall performance. Its red and green dots each come with five brightness levels, which is adjusted to meet varying weather and light conditions.
In fact, this sight performs well in both sunny and dim-lit environments. Because of its waterproof shell, you can also be sure that your device will stay safe from the elements. It is compatible with firearms that have a Picatinny weaver rail base that measures 20mm.
This sight has a two-eyed, open sight design, which presents the red dot right in the middle of the target. With this feature, you can rest assured that your situational awareness will greatly improve on your next hunt or target practice.
The RioRand Generic Sight is an excellent pick when it comes to increasing your success rate for shooting. This unit has been made to be used with integral Weaver-Picatinny rail bases for mounting. It has a unique coated lens, which is easy on the eyes and can assist in enhancing your vision. As for the exterior, it has a unique matte black finish that looks modernized.
The RioRand Generic Sight features three different reticles, ranging from red and green to different settings. This feature means that it can be used in various settings. The parallax correction helps relieve your eyes, as you won't have to squint or stare into a bright lens.
As for the unit, it's been built to be very lightweight and portable. This makes it an excellent sight for hunting or other expeditions. Installing the unit is easy too. Since it uses integrated rails for standard bases, you don't need to re-zero it when planning to dismount it.
For a durable exterior, it's been crafted from an aircraft grade aluminum alloy that is shock-, fog-, and water-resistant. The reflex lens is 33mm in diameter and provides you with a large field of view. This makes it suitable for rapid firing and moving targets.
Anyone in the military, law enforcement, or hunting will find this product to be the most useful.
Pistols are small firearms that are designed to be used with one hand. Many times you will see government officials training their officers to use guns with a sight. This is because this device can increase not only their accuracy but also their overall performance.
So, which one of these five is the best red dot sight for pistols? If you are looking for a sight that has multiple settings and is guaranteed to be durable, then trust us when we say that you will find that in the Tacticon Laser Sight. But what makes it stand out from the rest?
The Tacticon Laser Sight comes with a lifetime warranty, which protects your purchase and ensures that you get the most out of your money. However, that is definitely not the only reason why we chose this sight among the others.
As a pistol owner, you are going to want to make sure that the sight can be installed onto your gun. This model can be used on rifles, shotguns, and handguns. The fact that it relies on laser instead of scope is also a big turn-on!
With that said, we can confidently say that you can have increased accuracy wherever you go, so long as you have the Tacticon Laser Sight with you!


text:
enm-lille » Funk » The Staple Singers - Be What You Are
🎸 The Staple Singers - Be What You Are Album
Title: Be What You Are
Genre: Funk
Cat #: STS-3015
Label: Stax
Style: Soul
Record From Vinyl, LP, Album, Promo
Staple Singers Stax Soul 1973
Written-By – Terry Manning
2 Be What You Are
Written-By – C. Hampton, H. Banks, R. Jackson
3 That's What Friends Are For
Written-By – Mark Rice
4 Love Comes In All Colors
Written-By – Bettye Crutcher
5 Grandma's Hands
Written-By – Bill Withers
6 I Ain't Raisin' No Sand
Written-By – Darryl Carter, Mack Rice
7 If You're Ready (Come Go With Me)
8 Touch A Hand, Make A Friend
9 I'm On Your Side
10 Tellin' Lies
Written-By – Carl Smith
11 Bridges Instead Of Walls
12 Drown Yourself
STS-3015 The Staple Singers Be What You Are (LP, Album, Son) Stax STS-3015 US 1973
ST8-3015 The Staple Singers Be What You Are (8-Trk, Album) Stax ST8-3015 US 1973
STS-3015 The Staple Singers Be What You Are (LP, Album, Mon) Stax STS-3015 US 1973
2369 027 The Staple Singers Be What You Are (LP, Album) Stax 2369 027 France 1973
SCD-8553-2, STS-3015 The Staple Singers Be What You Are (CD, Album, RE, RM) Stax, Stax SCD-8553-2, STS-3015 US Unknown
"D.J. Copy Not for Sale" printed on the labels to the right of the spindle hole. Front cover is embossed.
8:49 is the total time for tracks A3 & A4 which are mixed together.
Phonographic Copyright (p) – Stax Records, Inc.
Copyright (c) – Stax Records, Inc.
Be What You Are is a 1973 soul album by The Staple Singers. It reached number 13 on the Billboard Top Soul LPs chart. The first single, Be What You Are, fared poorly however, the follow-up, If You're Ready Come Go with Me, was a top ten hit, peaking at number nine on the Billboard Hot 100 and number one on the R&B Singles chart. The third single, Touch a Hand, Make a Friend charting at number 23 on the Hot 100 and number three on the R&B chart in 1974. The Staple Singers: все альбомы, включая Will the Circle Be Unbroken , A Gospel Program , Come Go With Me: The Stax Collection и другие. Over the next few years, The Staple Singers saw 12 chart hits, including Respect Yourself and I'll Take You There, both off their 1972 breakthrough album, Be Altitude: Respect Yourself. The Staple Singers, signed to the label in the late '60s, always provided hit singles and respected album efforts. Despite their gospel beginnings, the Staple Singers' biggest draws became Pops Staples' blues-based devil's music guitar and Mavis Staples' breathy and sexy vocals. Their 1972 album, Be Altitude: Respect Yourself, all but set the template for their subsequent work. Be What You Are in some respects is an often overly cautious follow-up. The Staple Singers - If You're Ready Come Go With Me. The Staple Singers - Medley: Love Comes In All Colors, Tellin' Lies. The Staple Singers - Touch A Hand, Make A Friend. The Staple Singers - Drown Yourself. The Staple Singers - I Ain't Raisin' No Sand. The Staple Singers - Grandma's Hands. The Staple Singers - Bridges Instead Of Walls. The Staple Singers - I'm On Your Side. Update Required To play the media you will need to either update your browser to a recent version or update your Flash plugin. Album 1973 11 Songs. More by The Staple Singers. Come Go with Me: The Stax Collection. Be Altitude: Respect Yourself. The Staple Swingers. Soul Folk In Action. We'll Get Over. More places to buy metal & THE STAPLE SINGERS, THE STAPLES music. CDUniverse - Specializing in the sale of domestic and imported music CDs and Imports. You must be logged in to writ. The Staple Singers 01-01-1973. Całkowity czas trwania:51 min. Be What You Are. The Staple Singers. Be What You Are Reissue. If You're Ready Come Go With Me. Medley: Love Comes In All Colors - Tellin' Lies Album Version. Touch A Hand Make A Friend. Drown Yourself Album Version. I Ain't Raisin' No Sand Album Version. Listen online to The Staple Singers - Be What You Are and see which albums it appears on. Scrobble songs and get recommendations on other tracks and artists. The Staple Singers were an American gospel, soul and R&B singing group. Roebuck Pops Staples December 28, 1914 December 19, 2000, the patriarch of the family, formed the group with his children Cleotha April 11, 1934 February 21, 2013, Pervis b. 1935, and Mavis b. Yvonne October 23, 1937 April 10, 2018 replaced her brother when he was drafted into the U. Army, and again in 1970. They are best known for their 1970s hits Respect Yourself, I'll Take You There, If You're
Albums Similar to The Staple Singers - Be What You Are
Hampton Grease Band - Music To Eat
Chris Renshaw With The Keepers - Banksie (A Tribute To Gordon Banks)
Mushrooms Project - Banks!
Buddy Banks Sextette - I Need It Bad / Banks' Boogie
The Hampton Hawes Quartet - All Night Session, Vol. 1
BANKS - Goddess
Earles And Jensen - Just Farr The Record
Slide Hampton - World Of Trombones
Lionel Hampton - Lionel Hampton A L'Olympia
Azealia Banks - Count Contessa

redpajama_set_name: RedPajamaCommonCrawl


Since 1984 the Worlddidac Foundation presents the Worlddidac Award, an internationally recognized distinction for educational resources.
In Fall 2016, the Worlddidac Award will take place for the 17th time. The Award is very appreciated and a sign of quality in the educational industry, thanks to the professional evaluation and continuity.
The BETT Awards are a celebration of the inspiring creativity and innovation that can be found throughout technology for education..
The BETT Awards are considered the highest recognition in the industry.
The "Family Choice Awards" recognize the best in children's and parenting products. Now in its 20th year, the "Family Choice Award" is one of the most coveted, family friendly consumer award programs in the nation.
The AblePlay Awards is a toy rating system for children of all abilities from the National Lekotek Center.
Dr. Toy's Awards provide a unique, original, copyrighted review of children's products. With 30 years of direct experience, Dr. Toy includes educationally oriented, developmental and skill building products from the best large and small companies in its four annual Award programs.
The Old Schoolhouse Magazine - Family education magazine that has been around since 2001.
My son was now able to read his schoolwork outload and hear himself as he read. This took his reading assignments from simply a visual exercise to also tapping into his auditory learning abilities.
Into Tomorrow - Dave Graveline and the Into Tomorrow team are deeply passionate about consumer tech.
"Forbrain is [...] truly beneficial for both children and adults. It has augmented and enhanced my own speech and heightened my awareness for enunciating and pronouncing words. Forbrain is a perfect complementary tool to any therapeutic programs."
Nature's Pathways is a monthly magazine and online resource that provides accurate, relevant information on living a healthy lifestyle.
"I have experienced and seen immediate benefits and results. It has augmented and improved speech and sharpened awareness for enunciating and pronouncing words."
"A new device called Forbrain promises to help you stay focused by blocking environmental noises."
Published six times a year by Optimus Education, Special Children magazine brings you case studies, expert guidance and practical ideas to help you to support the learning and progression of every child in your school or setting.
"Forbrain is a very functional, exciting device that is easy to use, readily portable and suits a classroom situation."
"Forbrain is an interesting piece of technology very useful on enhancing speech and language acquisition. It helps all kinds of people from people with disabilities to public speakers."
" After a few weeks of using this we were pleasantly surprised by how our own voices focused us better and made us more aware of not only what we were saying, but how we were saying it. "
" Forbrain can have positive impact at work, home and school in areas such as reading and writing, verbal or short-term memory, attention and ability to stay on task... "
"Forbrain offers a different approach to working with speech and language problem with possible uses for developing attention span, and maybe dyslexia"
" In the short period of time I used it, forbrain has improved a few problem areas! "
"Forbrain is the first device of its kind specifically designed to make audio-vocal loops available to home users for practice purposes"
Assistive Technology for Hoosiers with disalibities.
"Forbrain can significantly improve one's attention, concentration, verbal working memory and short-term memory."
"Forbrain [...] was the winner of the ICT Special Educational Needs Solutions Award at the Bett Show"
" The Forbrain is a unique piece of equipment which I cannot find any equivalent for available anywhere online. "
" Not only an effective tool for children with learning difficulties, Forbrain can also be used by anyone wanting to improve their communication skills, attention span and memory. "
"Forbrain increases your attentiveness to what you're saying. Then, as your ears become more skilled at picking up external sounds, Forbrain trains your brain to focus more efficiently on what others are saying — boosting attention and listening skills. "
"Communication is clearer as you participate easily in conversations and comprehend the sounds you hear. Forbrain progressively teaches your voice to efficiently stimulate your brain."
"With a range of applications, struggling students can find themselves reading, writing, speaking, remembering, and concentrating better while improving their confidence by using the Forbrain to help with the learning process."
"BETT Award judges said they were impressed with the technology behind Forbrain and added that Forbrain is a distinctive and innovative resource that helps the engagement of students in their learning."
"Forbrain is one of the top tools for both adults and children to improve hearing/listening and keep it sharp."
Sipariş VerÖZEL TEKLİF: Ücretsiz gönderi!


Next month, representatives of nearly 200 countries will meet in Paris to try to reach a universal, binding agreement to address global climate change. Two of the biggest obstacles to such an agreement have been the fact that emissions of carbon dioxide and other greenhouse gases vary widely from country to country, and that many leaders fear limiting emissions could impede economic growth, particularly for newly industrializing countries trying to lift people out of poverty.
One metric that ties both of those notions together is energy intensity – the total energy used by a country per unit of gross domestic product (energy consumption being closely related to carbon emissions). Though not without its drawbacks and criticisms, energy intensity is useful as a sort of Energy Star rating for an entire economy: All else being equal, you'd probably prefer to use less energy to generate a given amount of economic output.
While energy intensity can be calculated several ways, for simplicity we use the version adopted by the U.S. Energy Information Administration (EIA): the total energy used by a country in a year (in British thermal units, or Btu) divided by the country's GDP for that year (in constant 2005 U.S. dollars on a purchasing-power parity basis, so the data are comparable across time and national borders). The resulting figure represents how many Btu the country used per dollar of GDP.
Between 1993 and 2011, the most recent year for which data are available, worldwide energy intensity fell 18.7%, according to a Pew Research Center analysis of data from nearly 200 nations and territories compiled by the EIA; most nations (112) reduced their energy intensities over that time period.
Many of the countries that have made the biggest reductions are former Soviet bloc nations (such as Azerbaijan, Estonia and Slovakia), which historically were very energy-intensive. While several factors likely were responsible, one significant one appears to be the post-1989 decline of steel and other heavy industries and the subsequent closure of many inefficient plants. Conversely, many of the countries where energy intensity has increased since 1993 are developing economies that are industrializing and/or extending their electricity grids, such as Benin, Laos and Cambodia; to the extent that new power plants use coal, natural gas or other fossil fuels, greater energy intensity implies higher carbon emissions.
Most of the countries with the lowest energy intensities in 2011 tend to be poor, largely agricultural nations in Africa. Chad, whose GDP per capita last year was $2,082 (according to the World Bank) ranked last out of 199 countries and territories in energy intensity, using less than 195 Btu per dollar of GDP.
But there was one notable exception: Macau, a special administrative region of China, used only about 761 Btu per dollar of GDP but still has one of the highest per-capita GDPs in the world: $133,341 last year. The secret? Macau's economy is dominated by casino gambling and other hospitality- and tourism-related businesses, which generate vast amounts of cash ($44 billion from the casinos alone last year) while using relative little energy (all those flashing lights and ringing bells notwithstanding).
Among OECD nations, Iceland, Canada and South Korea are the most energy-intensive, while Estonia, Ireland and the U.K. are the least. Estonia, in fact, reduced its energy intensity the most of any OECD member state: a 59.8% decrease since 1993, largely due to structural changes in the country's manufacturing base.
That brings up an important point: Energy efficiency is not the only factor in determining a nation's energy intensity. Structural changes in an economy – the industrialization of an agrarian society, say, or a developed nation's manufacturing sector shifting away from energy-intensive industries such as steel-making and chemicals – can increase or decrease energy intensity. So can changes in people's behavior, such as moving toward warmer or colder regions or choosing apartments rather than single-family detached houses, as well as demographic changes (women bearing fewer children, multiple generations living under the same roof).


The Deanta Primed Door range are ready made to be painted any colour you like. Check out our full range of information below where you can see examples of how your Deanta Primed door may look in the various colours popular this year, as we have displayed in collaboration with Fleetwooods paints. Also discover the best practices when painting your own doors with our information on tips and tricks below.
Step 2. Remove any dust and grime from the door using a clean watered cloth, then allow time for it to dry or wipe dry with a 2nd dry cloth.
Step 3. Once dry the the touch apply masking tape to the edges of the doors handles, windows, hinges and other details you want to protect from paint.
Step 4. You're now ready to paint. To get the finest finish remember to paint evenly and take your time.
Step 5. Once dry you can apply the 2nd coat.
When the 2nd coat has dried all that is left is to carefully remove the masking tape and admire the beauty of your newly painted Deanta Primed Door.
Check out Fleetwoods Popular Collection of colours this year, and see how they could transform your Deanta Primed doors today.