private void Form1_Load(object sender, EventArgs e) { if (File.Exists("D:\\2048记录")) //监测是否有存档 { ToLoad(); } else //如果没有存档,生成新的游戏。 { _2048messageBox mes1 = new _2048messageBox(); mes1.a = "提示"; mes1.b = " 检测到您是第一次打开,可按F1打开帮助。\r\n 游戏为无限模式,直到GameOver才会终止。"; mes1.StartPosition = FormStartPosition.CenterScreen; mes1.ShowDialog(); c = new Class1(); c.Reset(); } mes.a = "提示"; //生成帮助菜单 mes.b = "F2:窗口总在最前\r\nF3:解锁/锁定窗口\r\nF4:隐藏任务栏图标\r\nF5:重新开始\r\nF6:截图并保存\r\nShife + ↑↓:调整透明度\r\n↑↓←→:控制方块移动\r\nESC:退出"; drow(); Num_pictureBox.Refresh(); } //窗口加载前的操作
} //窗口加载前的操作 private void Form1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Up: if (e.Modifiers == Keys.Shift) this.Opacity -= 0.1; else { c.Up(); if (c.change) c.Add(); } break; case Keys.Down: if (e.Modifiers == Keys.Shift) this.Opacity += 0.1; else { c.Down(); if (c.change) c.Add(); } break; case Keys.Left: c.Left(); if (c.change) c.Add(); break; case Keys.Right: c.Right(); if (c.change) c.Add(); break; case Keys.F1: mes.ShowDialog(); break; case Keys.F2: this.TopMost = !this.TopMost; break; case Keys.F3: if (this.FormBorderStyle == FormBorderStyle.FixedToolWindow) this.FormBorderStyle = FormBorderStyle.None; else this.FormBorderStyle = FormBorderStyle.FixedToolWindow; break; case Keys.F4: this.ShowInTaskbar = !this.ShowInTaskbar; break; case Keys.F5: c = new Class1(); c.Reset(); Num_pictureBox.Refresh(); break; case Keys.F6: _2048Screen(); _2048messageBox mes2 = new _2048messageBox(); mes2.a = "保存成功"; mes2.b = "保存在" + Directory.GetCurrentDirectory() + "\\成绩截图.bmp"; mes2.ShowDialog(); break; case Keys.Escape: this.Close(); break; } drow(); Num_pictureBox.Refresh(); grade.Text = c.grade.ToString(); if (c.die) { gameOver(); } } //捕捉键盘按下的键,做出相应操作
}//序列化Class1类,并保存,相当于存档 private void ToLoad() { FileStream fr = new FileStream("D:\\2048记录", FileMode.Open, FileAccess.Read); BinaryFormatter formatter_r = new BinaryFormatter(); c = (Class1)formatter_r.Deserialize(fr); grade.Text = c.grade.ToString(); bestgrade.Text = c.bestGrade.ToString(); fr.Close(); }//从文件反序列化读取存档