public Form2(ucGame uc) { InitializeComponent(); currentUcGame = uc; this.Text = "משחק"; this.Controls.Add(uc); //this.pnlPlayer1.Controls.Add(uc.playersBoards[0]); //uc.playersBoards[0].Location = new Point(103, 551); uc.playersBoards[uc.turn].Location = new Point(113, 551); uc.playersBoards[uc.turn].Name = "ucPlayerBoard" + (uc.turn + 1).ToString(); lblPlayerName.Text = currentUcGame.playersBoards[currentUcGame.turn].name; // uc.playersBoards[0].Name = "ucPlayerBoard1"; this.Controls.Add(uc.playersBoards[uc.turn]); // this.pnlPlayer2.Controls.Add(uc.playersBoards[1]); //labelnmp1.Text = uc.playersBoards[0].name; //labelnp2.Text = uc.playersBoards[1].name; if (uc.playersBoards.Count() > 2) { pnlPlayer3.Visible = true; // this.pnlPlayer3.Controls.Add(uc.playersBoards[2]); } if (uc.playersBoards.Count() > 3) { pnlPlayer4.Visible = true; // this.pnlPlayer4.Controls.Add(uc.playersBoards[3]); } }
private void btnOkNamesKinds_Click(object sender, EventArgs e) { //חיבים לוודא שכל השדות מולאו // try { //אתחול רשימת השמות List <string> names = new List <string>(); names.Add(txtNamePlayer1.Text); names.Add(txtNamePlayer2.Text); if (numOfPlayers.Value > 2) { names.Add(txtNamePlayer3.Text); } if (numOfPlayers.Value > 3) { names.Add(txtNamePlayer4.Text); } //אתחול רשימת סוגי שחקנים List <bool> kinds = new List <bool>(); kinds.Add(cbKindPlayer1.SelectedItem.ToString() == "מחשב" ? true : false); kinds.Add(cbKindPlayer2.SelectedItem.ToString() == "מחשב" ? true : false); if (numOfPlayers.Value > 2) { kinds.Add(cbKindPlayer3.SelectedItem.ToString() == "מחשב" ? true : false); } if (numOfPlayers.Value > 3) { kinds.Add(cbKindPlayer4.SelectedItem.ToString() == "מחשב" ? true : false); } ucGame ucg = new ucGame((int)numOfPlayers.Value, names, kinds); //names.Add("אני"); //names.Add("Rutty"); //kinds.Add(false); //kinds.Add(false); //ucGame ucg = new ucGame(2, names, kinds); f2 = new Form2(ucg); f2.Show(); } //catch (Exception ex) //{ // if(ex.GetType().Name=="NullReferenceException") // MessageBox.Show("!!חובה למלא את שמות וסוגי השחקנים"); //} //this.Close(); }
private void timer2_Tick(object sender, EventArgs e) { try { //if (File.Exists(path + txtNamePlayer1.Text + cbJoinersNames.Text+".xml")) //if (File.Exists(path + txtNamePlayer1.Text + cbJoinersNames.Text + ".xml")) if (File.Exists(path + cbJoinersNames.Text + txtNamePlayer1.Text + ".xml")) { // 10.6.2011- לקרוא לטעינת המשחק מקובץ ה-XML ולשלוף ממנו timer2.Stop(); File.Delete(path + cbJoinersNames.Text + ".rom"); //חיבים לוודא שכל השדות מולאו try { a.Play(RammyCube.Properties.Resources.chimes, Microsoft.VisualBasic.AudioPlayMode.Background); //InitializNamesAttrib(); names.Reverse(0, 2); ucg = new ucGame((int)numOfPlayers.Value, names, kinds, networkGame, mainForm.userName); FormGame fGame; fGame = new FormGame(ucg, mainForm); fGame.MdiParent = mainForm; fGame.WindowState = FormWindowState.Maximized; fGame.Show(); this.Close(); } catch (Exception ex) { if (ex.GetType().Name == "NullReferenceException") { MessageBox.Show("!!חובה למלא את שמות וסוגי השחקנים"); } } MessageBox.Show("Game start", "Rammi", MessageBoxButtons.OK, MessageBoxIcon.Information); //stRead.Close(); ucg.startPlayNetwork(ucg.turn); } //stRead.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void timer1_Tick(object sender, EventArgs e) { try { stRead = File.OpenText(path + txtNamePlayer1.Text + ".rom"); string player = stRead.ReadLine(); if (player == "2") { nameplay2 = stRead.ReadLine(); stRead.Close(); File.Delete(path + txtNamePlayer1.Text + ".rom"); timer1.Stop(); MessageBox.Show("!" + nameplay2 + " join for you", "Rammi", MessageBoxButtons.OK, MessageBoxIcon.Information); //חיבים לוודא שכל השדות מולאו try { a.Play(RammyCube.Properties.Resources.chimes, Microsoft.VisualBasic.AudioPlayMode.Background); InitializNamesAttrib(); ucg = new ucGame((int)numOfPlayers.Value, names, kinds, networkGame, mainForm.userName); FormGame fGame; fGame = new FormGame(ucg, mainForm); fGame.MdiParent = mainForm; fGame.WindowState = FormWindowState.Maximized; fGame.Show(); this.Close(); } catch (Exception ex) { if (ex.GetType().Name == "NullReferenceException") { MessageBox.Show("!!חובה למלא את שמות וסוגי השחקנים"); } } } stRead.Close(); } catch (Exception ex) { } }
public FormGame(ucGame uc, MDIParent1 mdi) { InitializeComponent(); mainForm = mdi; currentUcGame = uc; //רישום לאירוע currentUcGame.eComputerFinished += new dComputerFinishedEventHandler(currentUcGame_eComputerFinished); currentUcGame.eLoadChangesFinished += new dLoadChangesFinishedEventHandler(currentUcGame_eLoadChangesFinished);//@@ this.Text = "משחק"; if (mainForm.isNetworkGame) { if (currentUcGame.playersBoards[0].name == mainForm.userName) { indCurrPlayer = 0; } else { indCurrPlayer = 1; } uc.playersBoards[indCurrPlayer].Location = new Point(pnlMainPlayBoard.Location.X + 100, pnlMainPlayBoard.Location.Y + pnlMainPlayBoard.Height + 5); uc.playersBoards[indCurrPlayer].Name = "ucPlayerBoard1"; } else { //this.pnlPlayer1.Controls.Add(uc.playersBoards[0]); //uc.playersBoards[0].Location = new Point(103, 551); uc.playersBoards[uc.turn].Location = new Point(pnlMainPlayBoard.Location.X + 100, pnlMainPlayBoard.Location.Y + pnlMainPlayBoard.Height + 5); uc.playersBoards[uc.turn].Name = "ucPlayerBoard" + (uc.turn + 1).ToString(); } #region network//@@ if (currentUcGame.netWorkGame) { if (currentUcGame.turn == 0) { if (mainForm.userName == currentUcGame.playersBoards[0].name) { lblPlayerName.Text = currentUcGame.playersBoards[0].name; } else { lblPlayerName.Text = currentUcGame.playersBoards[1].name; } } else { if (mainForm.userName == currentUcGame.playersBoards[1].name) { lblPlayerName.Text = currentUcGame.playersBoards[1].name; } else { lblPlayerName.Text = currentUcGame.playersBoards[0].name; } } currentUcGame.setCurrentName(mainForm.userName); } else { lblPlayerName.Text = currentUcGame.playersBoards[currentUcGame.turn].name; } #endregion // uc.playersBoards[0].Name = "ucPlayerBoard1"; if (mainForm.isNetworkGame) { this.Controls.Add(uc.playersBoards[indCurrPlayer]); } else { this.Controls.Add(uc.playersBoards[uc.turn]); } // this.pnlPlayer2.Controls.Add(uc.playersBoards[1]); //labelnmp1.Text = uc.playersBoards[0].name; //labelnp2.Text = uc.playersBoards[1].name; if (uc.playersBoards.Count() > 2) { this.BackgroundImage = global::RammyCube.Properties.Resources._2; //pnlPlayer3.Visible = true;//כשמוסיפיפ תמונה- למחק // this.pnlPlayer3.Controls.Add(uc.playersBoards[2]); } if (uc.playersBoards.Count() > 3) { this.BackgroundImage = global::RammyCube.Properties.Resources._3; // pnlPlayer4.Visible = true;//כשמוסיפיפ תמונה- למחק // this.pnlPlayer4.Controls.Add(uc.playersBoards[3]); } if (mainForm.isOpenSaveGame) { LoadSerias("SavedGame"); } }
private void btnOkNamesKinds_Click(object sender, EventArgs e) { if (rbNetwork.Checked == true) { if (rbNew.Checked == true) { int drive = Microsoft.VisualBasic.FileIO.FileSystem.Drives.Count; int i; for (i = 0; i < drive; i++) { if (Microsoft.VisualBasic.FileIO.FileSystem.Drives[i].DriveType == DriveType.Removable) { path = Microsoft.VisualBasic.FileIO.FileSystem.Drives[i].Name; break; } } stWrite = File.CreateText(txtNamePlayer1.Text + ".rom"); stWrite.WriteLine("1"); stWrite.WriteLine(txtNamePlayer1.Text); stWrite.Close(); timer1.Start(); MessageBox.Show("wait for joiner", "Rammy", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); progressBar1.Visible = true; } else if (rbJoiner.Checked == true) { if (cbJoinersNames.Text == "") { MessageBox.Show("fill name of player", "Rammi", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); cbJoinersNames.Focus(); } else { InitializNamesAttrib(); //stWrite = File.CreateText(path + txtNamePlayer1.Text + ".rom"); stWrite = File.CreateText(path + cbJoinersNames.Text + ".rom"); stWrite.WriteLine("2"); //stWrite.WriteLine(cbJoinersNames.Text); stWrite.WriteLine(txtNamePlayer1.Text); stWrite.Close(); timer2.Start(); MessageBox.Show("wait for ok that someone join for you", "Rammi", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); progressBar1.Visible = true; } } } else { //חיבים לוודא שכל השדות מולאו try { //@@ TODO: להוציא מהערה כשמעתיקים a.Play(RammyCube.Properties.Resources.chimes, Microsoft.VisualBasic.AudioPlayMode.Background); InitializNamesAttrib(); if (mainForm.isOpenSaveGame) { LoadUcGame(); } else { ucg = new ucGame((int)numOfPlayers.Value, names, kinds, false, mainForm.userName); } FormGame fGame; fGame = new FormGame(ucg, mainForm); fGame.MdiParent = mainForm; fGame.WindowState = FormWindowState.Maximized; fGame.Show(); this.Close(); } catch (Exception ex) { if (ex.GetType().Name == "NullReferenceException") { MessageBox.Show("you must fill the names and the kinds of players"); } } } }
public void LoadUcGame() { ucg = new ucGame(); try { eColor tmpec = new eColor(); eStatus tmpes = new eStatus(); string curName; bool curKind; List <ccCard> curCards = new List <ccCard> { }; //InitializNamesAttrib(); XDocument doc = XDocument.Load("SavedGame.xml"); var prop = doc.Element("properties"); //שליפת מספר השחקנים ucg.numOfPlayers = (int)prop.Attribute("numOfPlayers"); // שליפת התור הנוכחי ucg.turn = (int)prop.Attribute("turn"); ucg.playersBoards = new ucPlayerBoard[ucg.numOfPlayers]; // שליפת מאפייני השחקנים ואבניהם for (int i = 0; i < ucg.numOfPlayers; i++) { curName = (string)prop.Element("player" + (i + 1)).Attribute("name"); curKind = (bool)prop.Element("player" + (i + 1)).Attribute("computer"); var curPlyr = prop.Element("player" + (i + 1)); //ריקון רשימת הקלפים של השחקן כדי לאתחלה לפי המשחק השמור //ucg.playersBoards[i].listCards.Clear(); curCards.Clear(); for (int j = 0; j < (int)curPlyr.Attribute("cntCard"); j++) { int curNum = (int)curPlyr.Element("card" + (j + 1)).Attribute("number"); string curColor = (string)curPlyr.Element("card" + (j + 1)).Attribute("color"); tmpec = ucg.ToEColor(curColor); curCards.Add(new ccCard((byte)curNum, tmpec)); } ucg.playersBoards[i] = new ucPlayerBoard(curCards.ToList(), curName, curKind); } // שליפת אבני הקופה ucg.box.Clear(); //ריקון אבני הקופה כדי לאתחלה לפי המשחק השמור foreach (XElement crd in prop.Element("box").Elements()) { int curNum = (int)crd.Attribute("number"); string curColor = (string)crd.Attribute("color"); string stt = (string)crd.Attribute("status"); tmpec = ucg.ToEColor(curColor); tmpes = ucg.ToEStatus(stt); ucg.box.Add(new ccCard((byte)curNum, tmpec, tmpes)); } // שליפת לוח המשחק if (ucg.mainBoard.Count > 0) { ucg.mainBoard.Clear(); //ריקון לוח המשחק כדי לאתחלה לפי המשחק השמור } else { ucg.mainBoard = new List <List <ccCard> > { } }; foreach (XElement seria in prop.Element("mainBoard").Elements()) { List <ccCard> tmp = new List <ccCard> { }; int i = 0; foreach (XElement crd in seria.Elements()) { int curNum = (int)crd.Attribute("number"); string curColor = (string)crd.Attribute("color"); string stt = (string)crd.Attribute("status"); tmpec = ucg.ToEColor(curColor); tmpes = ucg.ToEStatus(stt); tmp.Add(new ccCard((byte)curNum, tmpec, tmpes)); } ucg.mainBoard.Add(tmp); i++; } ucg.Show_Cards(ucg.turn); } catch (Exception e) { MessageBox.Show(e.Message); } }