/// <summary> /// Сохранение текущей позиции /// </summary> public override void SaveGame() { ZLibClass zlibClass = new ZLibClass(); string allInfo = ""; allInfo += "level=" + level.ToString() + ";"; allInfo += "score=" + score.ToString() + ";"; allInfo += "localScore=" + localScore.ToString() + ";"; allInfo += "speed=" + speed.ToString() + ";"; allInfo += "clearRows=" + clearRows[0].ToString(); for (int i = 1; i < 4; i++) { allInfo += "," + clearRows[i].ToString(); } allInfo += ";"; allInfo += "fieldSize=" + maxTop.ToString() + "," + maxWidth.ToString() + ";"; allInfo += "field="; for (int i = 0; i < maxTop; i++) { for (int j = 0; j < maxWidth; j++) { if (field[i, j] != 10) { allInfo += field[i, j] + ","; } else { allInfo += "0,"; } } } allInfo = allInfo.Substring(0, allInfo.Length - 1); byte[] arrInfo = Encoding.GetEncoding("windows-1251").GetBytes(allInfo); byte[] packInfo = zlibClass.Pack(arrInfo); using (FileStream fs = new FileStream(pathSave, FileMode.Create)) { fs.Write(packInfo, 0, packInfo.Length); } }
/// <summary> /// Сохранить /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { try { int n = Convert.ToInt32(textBox1.Text); if (n < 0 && n > 100) { MessageBox.Show("Неправильная запись параметра. Допустимое значение от 0 до 100", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox1.Focus(); return; } } catch { MessageBox.Show("Неправильная запись параметра", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox1.Focus(); return; } try { int n = Convert.ToInt32(textBox2.Text); if (n < 0 && n > 100) { MessageBox.Show("Неправильная запись параметра. Допустимое значение от 0 до 100", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox2.Focus(); return; } } catch { MessageBox.Show("Неправильная запись параметра", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox2.Focus(); return; } try { int n = Convert.ToInt32(textBox3.Text); if (n < 0 && n > 100) { MessageBox.Show("Неправильная запись параметра. Допустимое значение от 0 до 100", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox3.Focus(); return; } } catch { MessageBox.Show("Неправильная запись параметра", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox3.Focus(); return; } try { int n = Convert.ToInt32(textBox4.Text); if (n < 0 && n > 100) { MessageBox.Show("Неправильная запись параметра. Допустимое значение от 0 до 100", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox4.Focus(); return; } } catch { MessageBox.Show("Неправильная запись параметра", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox4.Focus(); return; } if (Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text) + Convert.ToInt32(textBox3.Text) + Convert.ToInt32(textBox4.Text) == 0) { MessageBox.Show("Неправильная запись параметров. Хотя бы одно значение должно быть больше 0", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox1.Focus(); return; } if (saveFileDialog.ShowDialog() == DialogResult.OK) { ZLibClass zlibClass = new ZLibClass(); string allInfo = ""; allInfo += textBox1.Text + "," + textBox2.Text + "," + textBox3.Text + "," + textBox4.Text + ","; for (int i = 0; i < board.MaxTop; i++) { for (int j = 0; j < board.MaxWidth; j++) { allInfo += board.field[i, j] + ","; } } allInfo = allInfo.Substring(0, allInfo.Length - 1); byte[] arrInfo = Encoding.GetEncoding("windows-1251").GetBytes(allInfo); byte[] packInfo = zlibClass.Pack(arrInfo); FileStream fs = new FileStream(saveFileDialog.FileName, FileMode.Create); fs.Write(packInfo, 0, packInfo.Length); fs.Close(); } }