C#记忆小游戏,FORM,控件下载

weixin_39821228 2019-10-29 06:00:18
C#记忆小游戏,FORM,控件,TXT存储功能,声音载入,等
相关下载链接://download.csdn.net/download/campyou/2178573?utm_source=bbsseo
...全文
6 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
c#编程集合资料,不错的应用设计,另附一些开发案例的下载地址,欢迎大家下载学习。 学习完本课程之后,我们需要达到以下目标: (1) 掌握基本的C#语法,熟练运用C#编写基本的程序逻辑。 (2) 能够创建C#控制台应用程序并处理输入输出。 (3) 掌握C#中的数组,并对数组进行相应的排序,查找操作。 (4) 熟练使用C#的字符串对象。 (5) 掌握Windows窗体应用程序的创建,能熟练使用常用的控件设计窗体界面。 (6) 掌握MDI应用程序的开发步骤。 (7) 了解ADO.NET的组成和工作原理。 (8) 通过ADO.NET访问对C#项目开发全程实录视频教程(全10个案例):htt: /cnrdn com/gCxC 课程说明… 第1章C#语法基础…… 核心技能部分 1.1 Net与C#概述. 111Net与C#的产生与应用 1.1.2 Visual studio 10 1.1.3创建C井应用程序 12 2C#语言基础 16 121变量与常量…16 12.2运算符和表达式 19 123C#语言中的注释 1.2.4使用 Console处理输入输出 21 1.3 C#语句结构 25 131条件语句 .25 132循环结构 32 任务实训部分.… 38 1:根据时间输出问候信息…… 38 2:三个数字比较大小 39 3:判断用户输入的字母 .40 输出裴波那契数列…… 翻着音 40 巩固练习 第2章嵌套循环和数组. 44 核心技能部分… .45 2.1 VS2008中的调试技巧 45 2.2 嵌套循环 47 2.3 数组. 50 231数组的定义 50 232数组的基木操作 50 233数组的排序 51 任务实训部分… 55 1打印等腰三角形 55 2:数组的操作 56 3:数组的排序。 错误!定义书签 4:数组的排序 错误!未定义书签 巩固练习 57 第3章方法与字符串 59 C#项目开发全程实录视频教程(全10个案例):htt: /cnrdn com/gCxC 核心技能部分 使用方法 311方法的定义 312方法的调用 63 313参数传递 String类 321C#语言中常用的字符串处理方法... 68 322格式字符串 32.3 String Builder类. 3.3 类型转换…14 331隐式转换 74 332显式转换.…… 74 333常用类型转换方法… 7 任务实训部分 77 1:方法的使用 2:从邮件地址提取用广名 80 3:网址类型分析 81 4:字符串转换 82 巩固练习. 84 第4章指导学习:阶段总结 86 知识总结 翻着 .:::a:a:.:::a:B:a:::::..aa:::.:.aa:.:aa::: 86 41.1核心技能目标 86 412知识体系总结… 86 4.2 综合实训 任务1:制作月份日历 任务2:数组数据添加和排序. 错误!未定义书签 任务3:自杀游戏… 错误未定义书签。 第5章 Win form常用控件 核心技能部分 90 创建 Windows应用稈序 90 511 Windows应用程序概述. 90 512创建第一个 Windows应用程序 5.13项目结构分析 5,2 Windows窗体….97 5.,21窗体中的常用属性. 98 522窗体中的常用事件…… 99 Windows窗体中的常用控件 9 C#项目开发全程实录视频教程(全10个案例):htt: /cnrdn com/gCxC 5.31 Winform控件公共属性… 532标签Labe) 01 533文本框( TextBox) ·,, 101 534按钮( Button)…102 535列表框 ListBox) 102 536组合框 Combobox) 103 53.7单选按钮( Radio Button)和复选框( CheckBox) 104 538图片框( Pictruebo×)..105 54用 Message Box类显示消息窗口 541消息框的显示……106 5.4.2消息框的返回值 107 综合案例:职员信息管理. 109 仟务实训部分…… 115 1:ATM信息查询 115 2:编写建表向导窗体…… 3:火车票预定程厅… 124 巩固练习… 第6章 MD窗体应用程序设计… 核心技能部分…… 130 6.1 SD窗体和MD窗体应用程序简介. 错误!未定义书签。 6.2 单文档应用程序的创建 30 62.1菜单栏( Menustrip) 130 622菜单栏的创建 130 623上下文菜单 ContextMenuStrip) 6.3 多文档应用程序 错误!未定义书签。 631创建多文档界面应用程序. 错误!未定义书签 632排列子窗口 错误未定义书签。 64图像列表( mageList控件… 134 65工具栏( ToolStrip控件) 135 66 状态( StatusStrip) 138 67选项卡( TabControl Timer控件 69 MD综合示例 错误!定义书签 任务实训部分……143 1创建记事本”应用程序 错误!未定义书签 2:增强”记事本”功能∴ 143 3:实现记事本字体样式设置… 144 C#项目开发全程实录视频教程(全10个案例):htt: /cnrdn com/gCxC 4:变色窗体 巩固练习……… 1448 第7章 使用 ADO. NET完成简单的数据库操作…. ·,, 150 核心技能部分 151 ADO. NET概述 151 1 ADO.NET的简介 151 7.12 ADO.NET的优点 152 713 ADO.NET的结 52 NET Framework数据提供程序 1154 7.21 Connection对象…………………………155 72.2使用 Connection对象链接到数据库 7.3异常操作 57 731try和 catch块 158 732数据库链接示例 Command对象 ∴161 741 Command对象简介 161 742 Command综合示例 任务实训部分 1:实现进销存系统用户注册 168 2:实现进销存系统用户登录.… 171 3:实现用户的删除功能…… .:.::::::.:...:::.:.:a.::::.:::::::::.:::.:::::::.:::.: 172 巩固练习 174 第8章使用 Data Reader完成查询功能 177 核心技能部分… 178 8.1 DataReader对象 811 Data reader对象简介 178 812 Data Reader对象常用的属性和方法 813 Data reader对象的使用 179 8.2 控件 81 821 Listview控件介绍…… 81 822 Listview控件的使用 数据库操作综合示例 187 任务实训部分…… L94 1:使用 Listview控件查询部门员工信息… 94 2:部门员工信息删除和修改 3:实现员工信息模糊查询... 203 巩固练习 204 C#项目开发全程实录视频教程(全10个案例):htt: /cnrdn com/gCxC 第9章 使用 Dataset实现断开式数据访问 206 核心技能部分.… 207 91数据集( Dataset) ·,, 207 911数据集( DataSet)简介…207 912数据集的结构 08 91.3数据集的工作原理 914创建 Data set对象…… 211 9,2 DataAdapter对象1211 92.1 DataAdapter对象简介… 211 922 DataAdapter对象的使用.. 213 3 Datagridview控什的使用 219 931 Data gridview控件简介 219 932 Datagridview控件的使用. 221 9 综合示例 226 仟务实训部分.… 229 1:航班查询窗体设计 29 2:显示所有航班信息 232 3:根据两地査询航班 .233 4:航班详细信息查询 234 巩固练习 235 第10章课程总复习… …)误!未定义书签。 101知识总结 错误!未定义书签 1011核心技能目标 错误!定义书签。 101.2知识体系总结 错误!未定义书签。 02任务实训 错误!未定义书签。 第11章项目案例:酒店管理系统…… 错误!未定义书签 111训练技能点…… 错误未定义书签。 112需求说明 错误!未定义书签 113设计与思路分析 错误未定义书签 113.1系统功能分析 错误!未定义书签。 1132数据库设计 错误!定义书签。 114实现步骤…… 错误!未定义书签 115时间分配 错误!定义书签 C#项目开发全程实录视频教程(全10个案例):htt: /cnrdn com/gCxC 第1章C#语法基础 学习内容 c#的发展史 C#的基本语法 C#的流程控制语句 俨能力目标 掌握仗用S2008开发C#NET控制台应用程序 掌握C#语言的基本语法 掌握c#的程序流程控制语句 C#项目开发全程实录视频教程(全10个案例):htt: /cnrdn com/gCxC 本章简介 从本门课开始我们将要开始学习¢#语言和NET平台。本章将使学员对NET和¢#有一个 初步的认识,了解C#的开发环境,编写第一个C#控制台应用程序。C#语言的基本语法和我 们之前的学习的C语言、Java语言一样同属于C语言语法系列,有很多相似的地方,同时也 有一些不同的地方,因此我们在学习的时候需要注意它们之间的区别,不要混淆。在本章中, 我们需要掌握c#中的变量、数据类型、运算符、条件、分攴、循环等基C排基础语法,这些 语言层血的知识是我们编写所有程序的基础,因此必须牢固掌握。 核心技能部分 1.1Net与C#概述 1.1.1Net与C#的产生与应用 1. Anders Hejlsberg-C#之父 Anders hejlsberg原木是曾经大名鼎鼎的 Borland公司的一员,他曾经编写了 Pasca编译 器,又把 Turbo pascal变为面向对象的 Object Pascal,并以此为基础开发了轰动全球、盛极 时的廾发工具 Delphi,为 Boland公司赚了个盆钵满盈。 随着 Delphi日渐成熟, Anders的兴趣转向了Java领域,他在」ava开发领域扩展方面有 很多自己独特的想法,并想在此领域大展宏图,但 Borland的经营者们还要靠他这棵“摇 钱树”继续在 Delphi上人肆捞金,所以他有一段郁郁不得志。 比尔盖茨三顾茅庐,力邀 Anders hejlsberg,并许以重金和宽松的环境,终于把 Anders 挖到了微软的旗下,其后由其主持设计,在2000年6月发布了新的开发语言C#(读做C Sharp),此后微软在2002年推出了 Microsoft net开发平台。 3 1.1.1 Anders He jlsberg C#项目开发全程实录视频教程(全10个案例):http://cnrdn.com/gcxc 2.C#语及其特点 与Java一样,C#语言是一个完全的面向对象语言,它继承了C++、Java和 Delphi的优 点,又借鉴了VB的简单易学。体现了当今最新的程序设计技术的功能和精华。C#继承了C 语言的语法风柊,同时又继承了C+的面冋对象特性。不同的是,c#的对象模犁己经面向 Internet进行了重新设计,使用的是NET框架的类库;C#不再提供对指针类型的支持,使得 程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次 结构中由于多重继承带来的可怕后果。NET框架为C#提供了一个强大的、易用的、逻辑结 构一致的程序设计环境。同时,公共语言运行时( Common Language runtime)为C#程序语 言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。其特点有: 语言简洁。 保留了C++的强大功能 快速应用廾发功能 语言的自由性 强大的Web服务器控件。 支持跨平台 与XML相融合 如果之前没有其他话言的编程经验,使用c#语言编程将是一个良好的开端。如果有其 他语言的编程基础,程序员将发现¢#语言除了像ⅤB一样简单易学外,还是一种拥有强大 功能的语言。而且 ASP NET平台也是完仝通过c#语言开发的,这决定了C语言得天独厚的 优势。但在任何情况下,C#语言都不可能孤立地使用,它必须同 Microsoft. net framework 起使用,因为使用C#语言编写的所有代码总是在 Microsoft .net framework中运行。 1.1.2 Visual studio 微软针对Net推岀了功能强大的集成丌发环境来支持开发人员的№et应用程序丌发,这 就是 Visual studio,它是目前最主要的Net平台开发环境。VS集成了 NET Framework和Net 开发插件,可以用来进行几乎所有Net应用程序的设计和开发L作,如 Windows应用程序 Web应用稈序、 Windows服务、智能设备应用程序等。 随着 NET Framework的不断升级, Visua| Studio也在不断升级,其发展历程可以用表1-1-1 来说明 表1-1-1Vs发展历程 年代 2002 2003 2005 2008 2010 廾发工具版木Vs2002 VS2003 VS2005 VS2008 VS2010 Net 1.0 1.1 2.0 3.5 4.0 Framework 由于本学期的知识点主要集中在C#的基本语法、 Win forms开发和 ADO. NET,这些知识
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Collections; namespace 贪吃蛇 { public partial class Form1 : Form { public int speed = 350; //用于设置贪吃蛇的速度 public static bool ifStart = false; //用于游戏是否开始 public static bool pause = true; //用于游戏是否暂停,游戏暂停为true Snake snake = new Snake();//实例化Snake类 Food food = new Food(); public Form1() { InitializeComponent(); } //绘制游戏场景 public void ProtractTable(Graphics G) { //绘制单元格的纵向线 for (int i = 0; i <= panel1.Width / Snake.SnakeBone; i++) { G.DrawLine(new Pen(Color.LightGreen, 1), new Point(i * Snake.SnakeBone, 0), new Point(i * Snake.SnakeBone, panel1.Height)); } //绘制单元格的横向线 for (int i = 0; i <= panel1.Height / Snake.SnakeBone; i++) { G.DrawLine(new Pen(Color.LightGreen, 1), new Point(0, i * Snake.SnakeBone), new Point(panel1.Width, i * Snake.SnakeBone)); } } private void panel1_Paint(object sender, PaintEventArgs e) { Graphics G = panel1.CreateGraphics();//创建panel1控件的Graphics类 ProtractTable(G); //绘制游戏场景 if (!ifStart) //如果没有开始游戏 { Snake.timer = timer1; Snake.label = label1; //初始化场地及贪吃蛇信息; //Control c = (Control)panel1; Snake.GamePlaceSet(panel1, Snake.SnakeBone); } else { for (int i = 0; i < Snake.List.Count; i++)//绘制蛇体 { e.Graphics.FillRectangle(Snake.SolidSnake, ((Point)Snake.List[i]).X + 1, ((Point)Snake.List[i]).Y + 1, Snake.SnakeBone - 1, Snake.SnakeBone - 1); } //绘制食物 e.Graphics.FillRectangle(Food.SolidFood, Food.FoodPoint.X + 1, Food.FoodPoint.Y + 1, Snake.SnakeBone - 1, Snake.SnakeBone - 1); if (Snake.isGame)//如果游戏结束 { e.Graphics.DrawString("游戏结束!", new Font("宋体", 50, FontStyle.Bold), new SolidBrush(Color.Yellow), new PointF(100, 150)); } } } private void 初级ToolStripMenuItem_Click(object sender, EventArgs e) {//在游戏没有开始和游戏结束时才可以选择设置 if ((ifStart == false) || Snake.isGame) {初级ToolStripMenuItem.Checked = false;//设置初级项被选中 中级ToolStripMenuItem.Checked = false;//设置中级项被选中 高级ToolStripMenuItem.Checked = false;//设置高级项目被选中 ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 speed = 350; label.Focus();//获得焦点 } } private void 中级ToolStripMenuItem_Click(object sender, EventArgs e) { //在游戏没有开始和游戏结束时才可以选择设置 if ((ifStart == false) || Snake.isGame) { 初级ToolStripMenuItem.Checked = false;//设置初级项被选中 中级ToolStripMenuItem.Checked = false;//设置中级项被选中 高级ToolStripMenuItem.Checked = false;//设置高级项目被选中 ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 speed = 250;//中级 label.Focus();//获得焦点 } } private void 高级ToolStripMenuItem_Click(object sender, EventArgs e) {//在游戏没有开始和游戏结束时才可以选择设置 if ((ifStart == false) || (Snake.isGame)) { 初级ToolStripMenuItem.Checked = false;//设置初级项被选中 中级ToolStripMenuItem.Checked = false;//设置中级项被选中 高级ToolStripMenuItem.Checked = false;//设置高级项目被选中 ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 speed = 200;//高级 label.Focus();//获得焦点 } } private void 开始sapceToolStripMenuItem_Click(object sender, EventArgs e) { //控制游戏的开始、暂停、和退出 ifStart = false; Graphics G = panel1.CreateGraphics();//创建panel1控件的Graphics类 //刷新游戏场地 G.FillRectangle(Snake.SolidBack, 0, 0, panel1.Width, panel1.Height); ProtractTable(G);//绘制游戏场地 ifStart = true;//开始游戏 //初始化场地以及贪吃蛇信息 Snake.GamePlaceSet(panel1, Snake.SnakeBone); timer1.Interval = speed;//设置贪吃蛇的移动速度 timer1.Start();//启动计时器 pause = false;//游戏初始状态,暂停取消 label.Text = "0";//显示当前分数 Food.Buildfood(Snake.hasFood, Snake.co);//生成食物 label.Focus();//获得焦点,便于键盘操作 } private void 暂停ToolStripMenuItem_Click(object sender, EventArgs e) { Graphics G = panel1.CreateGraphics();//创建panel1控件的Graphics类 //如果游戏正在运行 if ((pause == false && ifStart == true) && (!Snake.isGame)) { G.DrawString("游戏暂停!", new Font("宋体", 50, FontStyle.Bold), new SolidBrush(Color.Yellow), new PointF(100, 150)); timer1.Stop();//停止当前计时器 pause = true;//当前游戏暂停 } //如果游戏正在运行 else if (pause == true && ifStart == true && (!Snake.isGame)) { G.FillRectangle(Snake.SolidBack, 0, 0, panel1.Width, panel1.Height); ProtractTable(G); timer1.Start();//启动计时器 pause = false;//开始游戏 } } private void 结束F4ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame))//如果游戏正在运行 { if (DialogResult.Yes == MessageBox.Show("是否退出游戏?", "提示", MessageBoxButtons.YesNo)) { timer1.Stop(); //停止计时器 Application.Exit(); //停止运行,退出游戏 } } else MessageBox.Show("游戏正在运行中,暂时不允许退出!", "提示"); } private void 游戏说明ToolStripMenuItem_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Show(); } //控制游戏的开始、暂停、和退出 public void NoviceControl(int n) { Graphics G = panel1.CreateGraphics();//创建panel1控件的Graphics类 switch (n) { case 1://开始游戏 { ifStart = false; //刷新游戏场地 G.FillRectangle(Snake.SolidBack, 0, 0, panel1.Width, panel1.Height); ProtractTable(G);//绘制游戏场地 ifStart = true;//开始游戏 //初始化场地以及贪吃蛇信息 Snake.GamePlaceSet(panel1, Snake.SnakeBone); timer1.Interval = speed;//设置贪吃蛇的移动速度 timer1.Start();//启动计时器 pause = false;//暂停游戏 Food.Buildfood(Snake.hasFood, Snake.co);//生成食物 label.Text = "0";//显示当前分数 break; } case 2://暂停游戏 {//如果游戏正在运行 if ((pause == false && ifStart == true) && (!Snake.isGame)) { G.DrawString("游戏暂停!", new Font("宋体", 50, FontStyle.Bold), new SolidBrush(Color.Yellow), new PointF(100, 150)); timer1.Stop();//停止当前计时器 pause = true;//当前游戏暂停 } //如果游戏正在运行 else if (pause == true && ifStart == true && (!Snake.isGame)) { G.FillRectangle(Snake.SolidBack, 0, 0, panel1.Width, panel1.Height); ProtractTable(G); timer1.Start();//启动计时器 pause = false;//开始游戏 } break; } case 3://退出游戏 { if ((ifStart == false) || (Snake.isGame))//如果游戏正在运行 { timer1.Stop(); //停止计时器 Application.Exit(); //停止运行,退出游戏 } break; } // case 4://打开帮助信息 // ' { if ((ifStart == false) || (Snake.isGame))//如果游戏正在运行 { // help temp = new help();//初始 一个 help实例 // if (temp.ShowDialog(this) == DialogResult.OK) // temp.Dispose(); // } // break; // } // } } } } private void Form1_KeyDown(object sender, KeyEventArgs e) { int tem_p = -1;//记录控件键值 if (e.KeyCode == Keys.F2)//如果按F2 tem_p = 1;//开始游戏 if (e.KeyCode == Keys.Space)//如果按F3 tem_p = 2;//暂停游戏或者继续游戏 if (e.KeyCode == Keys.F4)//如果按F4 tem_p = 3;//关闭游戏 if (e.KeyCode==Keys.F3) tem_p = 4;//打开帮助信息 if (tem_p != -1)//如果当前是操作标识 NoviceControl(tem_p);     //控制游戏的暂停和关闭 if (ifStart == true && pause == false)//如果游戏启动,键盘方向键才起作用 { int tem_n = -1;//记录移动键值 if (e.KeyCode == Keys.Right || e.KeyCode == Keys.D)//按下右键向右移动 tem_n = 0; if (e.KeyCode == Keys.Left || e.KeyCode == Keys.A)//按下左键向左移动 tem_n = 1; if (e.KeyCode == Keys.Up || e.KeyCode == Keys.W)//按下上键向上移动 tem_n = 2; if (e.KeyCode == Keys.Down || e.KeyCode == Keys.S)//按下键向下移动 tem_n = 3; if (tem_n != -1 && tem_n != Snake.Direct) { if (Snake.isGame == false) {//如果移动的方向不是相反方向 if (!((tem_n == 0 && Snake.Direct == 1 || tem_n == 1 && Snake.Direct == 0) || (tem_n == 2 && Snake.Direct == 3 || tem_n == 3 && Snake.Direct == 2))) { Snake.Direct = tem_n;//记录移动的方向 snake.SnakeMove(tem_n, this);//移动贪吃蛇 } } } } } private void 绿色ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 绿色ToolStripMenuItem.Checked = false; 红色ToolStripMenuItem.Checked = false; 蓝色ToolStripMenuItem.Checked = false; 黑色ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Snake.SolidSnake = new SolidBrush(Color.Green); } } private void 红色ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 绿色ToolStripMenuItem.Checked = false; 红色ToolStripMenuItem.Checked = false; 蓝色ToolStripMenuItem.Checked = false; 黑色ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Snake.SolidSnake = new SolidBrush(Color.Red); } } private void 蓝色ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 绿色ToolStripMenuItem.Checked = false; 红色ToolStripMenuItem.Checked = false; 蓝色ToolStripMenuItem.Checked = false; 黑色ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Snake.SolidSnake = new SolidBrush(Color.Blue); } } private void 黑色ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 绿色ToolStripMenuItem.Checked = false; 红色ToolStripMenuItem.Checked = false; 蓝色ToolStripMenuItem.Checked = false; 黑色ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Snake.SolidSnake = new SolidBrush(Color.Black); } } private void 原始大小ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 原始大小ToolStripMenuItem.Checked = false; 放大两倍ToolStripMenuItem.Checked = false; 放大三倍ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Snake.SnakeBone = 10; } } private void 放大两倍ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 原始大小ToolStripMenuItem.Checked = false; 放大两倍ToolStripMenuItem.Checked = false; 放大三倍ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Snake.SnakeBone = 20; } } private void 放大三倍ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 原始大小ToolStripMenuItem.Checked = false; 放大两倍ToolStripMenuItem.Checked = false; 放大三倍ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Snake.SnakeBone = 30; } } private void 橙色ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) {橙色ToolStripMenuItem.Checked = false; 黄色ToolStripMenuItem.Checked = false; 紫色ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Food.SolidFood = new SolidBrush(Color.Orange); } } private void 黄色ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 橙色ToolStripMenuItem.Checked = false; 黄色ToolStripMenuItem.Checked = false; 紫色ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Food.SolidFood = new SolidBrush(Color.Yellow); } } private void 紫色ToolStripMenuItem_Click(object sender, EventArgs e) { if ((ifStart == false) || (Snake.isGame)) { 橙色ToolStripMenuItem.Checked = false; 黄色ToolStripMenuItem.Checked = false; 紫色ToolStripMenuItem.Checked = false; ((ToolStripMenuItem)sender).Checked = true;//设置当前项选中 Food.SolidFood = new SolidBrush(Color.Purple); } } private void timer1_Tick(object sender, EventArgs e) { snake.SnakeMove(Snake.Direct, this);//移动贪吃蛇 } private void textBox1_TextChanged(object sender, EventArgs e) { } private void label_Click(object sender, EventArgs e) { } } }
作者简介 余志龙,来自于手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及J2EE、JSP、Servlet、JavaBeans、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、Netbeans开发工具,积累多年大型项目开发、跨系统整合经验。 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装AndroidSDK与ADTplug-in 2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的对话框——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView的交互 3.14 控制不同的文字字体——Typeface对象使用 3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮覆盖——动态产生按钮并最大化 3.20 今晚到哪儿打牙祭?——具选择功能的对话框 3.21 Android变脸——主题(Theme)实现 第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞——setOnKeyListener事件 4.2 设计具有背景图的按钮——ImageButton的焦点及事件处理 4.3 给耶诞老人的信息——Toast对象的使用 4.4 我同意条款——CheckBox的isChecked属性 4.5 消费券采购列表——多选项CheckBox的应用 4.6 向左或向右——RadioGroup组与onCheckedChanged事件 4.7 专业相框设计——ImageView的堆栈应用 4.8 自定义下拉菜单模式——Spinner与setDropDownViewResource 4.9 动态添加/删除的Spinner菜单——ArrayList与Widget的依赖性 4.10 心爱小宝贝相片集——Gallery与衍生BaseAdapter容器 4.11 快速的搜索手机文件引擎——JavaI/O的应用 4.12 按钮也能随点击变换——ImageButton选择特效 4.13 具自动提示功能的菜单——AutoCompleteTextView与数组 4.14 数字及模拟小时钟设计——AnalogClock与DigitalClock的原理 4.15 动态输入日期与时间——DatePicker与TimePicker应用 4.16 猜猜红心A在那儿——ImageView点击事件与透明度处理 4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与Menu整合技巧 4.21 查找程序根目录下所有文件——JavaI/O与ListActivity的结合.. 4.22 加载手机磁盘里的图文件——使用decodeFile方法 4.23 动态放大缩小ImageView里的图片——运用Matrix对象来缩放图文件 4.24 动态旋转图片——Bitmap与Matrix旋转ImageView 4.25 猜猜我在想什么——RadioButtonID 4.26 离开与关闭程序的弹出窗口——对话窗口上的ICON图标 第5章 交互式通信服务与手机控制 5.1 具有正则表达式的TextView——Linkify规则 5.2 ACTION!CALL!拨打电话——Intent.ACTION.CALL的使用 5.3 自制发送短信程序——SmsManager与PendingIntent对象 5.4 自制发送Email程序——Intent在Email上的使用 5.5 自制日历手机数据库——实现SQLiteOpenHelper 5.6 手机震动的节奏——Vibrator对象及周期运用 5.7 图文可视化提醒——Toast与LinearLayoutView 5.8 状态栏的图标与文字提醒——NotificationManager与Notification对象的应用 5.9 搜索手机通讯录自动完成——使用ContentResolver 5.10 取得联系人资料——Provider.Contact的使用 5.11 制作有图标的文件资源管理器——自定义Adapter对象 5.12 还原手机默认桌面——重写clearWallpaper方法 5.13 置换手机背景图——Gallery与setWallpaper整合实现 5.14 撷取手机现存桌面——getWallpaper与setImageDrawable 5.15 文件资源管理器再进化——JavaI/O修改文件名及删除 5.16 取得目前File与Cache的路径——getCacheDir与getFilesDir 5.17 打开/关闭WiFi服务——WifiManager状态判断 5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少——使用BroadcastReceiver捕捉Intent.ACTION_BATTERY_CHANGED 6.3 群发拜年短信给联系人——ACTION_PICK与Uri对象 6.4 开始与停止系统服务——Service与Runnable整合并用 6.5 通过短信发送email通知——BroadcastReceiver与Intent整合 6.6 手机拨接状态——PhoneStateListener之onCallStateChanged 6.7 有来电,发送邮件通知——PhoneStateListener与ACTION_SEND 6.8 存储卡剩余多少容量——Environment加StatFs 6.9 访问本机内存与存储卡——File的创建与删除 6.10 实现可定时响起的闹钟——PendingIntent与AlarmManager的运用 6.11 黑名单来电自动静音——PhoneStateListener与AudioManager 6.12 手机翻背面即静音震动——SensorListener及AudioManager整合应用 6.13 指定时间置换桌面背景——多AlarmManager事件处理 6.14 判断发送短信后的状态——BroadcastReceiver聆听PendingIntent 6.15 后台服务送出广播信息——sendBroadcast与BroadcastReceiver 6.16 开机程序设计——receiver与intent-filter协同作业 6.17 双向短信常驻服务——Service与receiver实例 第7章 娱乐多媒体 7.1 访问Drawable资源的宽高——ContextMenu与Bitmap的应用 7.2 绘制几何图形——使用android.graphics类 7.3 手机屏幕保护程序——FadeIn/FadeOut特效与运行线程 7.4 用手指移动画面里的照片——onTouchEvent事件判断 7.5 加载存储卡的Gallery相簿——FileArrayList 7.6 取得手机内置媒体里的图文件——ACTION_GET_CONTENT取回InputStream 7.7 相片导航向导与设置背景桌面——ImageSwitcher与Gallery 7.8 调整音量大小声——AudioManager控制音量 7.9 播放mp3资源文件——raw文件夹与MediaPlayer的使用 7.10 播放存储卡里的mp3音乐——MediaPlayer.setDataSource 7.11 自制录音/播放录音程序——MediaRecorder与AudioEncoder 7.12 通过收到短信开始秘密录音——MediaRecorder与BroadcastReceiver实例 7.13 内置影片播放器载入3gp电影——VideoViewWidget 7.14 自制3gp影片播放器——MediaPlayer与实现SurfaceView 7.15 相机预览及拍照临时文件——Camera及PictureCallback事件 第8章 当Android与Internet接轨 8.1 HTTPGET/POST传递参数——HTTP连接示范 8.2 在程序里浏览网页——WebView.loadUrl 8.3 嵌入HTML标记的程序——WebView.loadData 8.4 设计前往打开网页功能——Intent与Uri.parse 8.5 将网络图像网址放入Gallery中显示——URL.URLConnection.BaseAdapter 8.6 即时访问网络图文件展示——HttpURLConnection 8.7 手机气象局,实时卫星云图——HttpURLConnection与URLConnection和运行线程 8.8 通过网络播放MP3——Runnable存储FileOutputStream技巧 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORM的POSTACTION 8.12 移动博客发布器——以XML-RPC达成远程过程调用 8.13 移动RSS阅读器——利用SAXParser解析XML 8.14 远程下载安装Android程序——APKInstaller的应用 8.15 手机下载看3gp影片——Runnable混搭SurfaceView 8.16 访问网站LoginAPI——远程服务器验证程序运行权限 8.17 地震速报!——HttpURLConnection与Service侦测服务 第9章 Google服务与Android混搭 9.1 Google帐号验证Token——AuthSub 9.2 Google搜索——AutoCompleteTextView与GoogleSearchAPI 9.3 前端产生QRCode二维条形码——GoogleChartAPI 9.4 以经纬度查找目的地位置——GeoPoint与MapView的搭配运用 9.5 GPSGoogle地图——LocationListener与MapView实时更新 9.6 移动版GoogleMap——Geocoder反查Address对象 9.7 规划导航路径——DirectionsRoute 9.8 移动设备上的Picasa相册——GooglePicasaAPI 9.9 随身翻译机——GoogleTranslateAPI 第10章 创意Android程序设计 10.1 手机手电筒——PowerManager控制WakeLock并改变手机亮度 10.2 GPS轨迹记录器——利用LocationListener在地图上画图并换算距离 10.3 女性贴身看护——AlarmManager.DatePicker.TimePicker 10.4 手机QRCode二维条形码生成器——Canvas与SurfaceHolder绘图 10.5 AndroidQRCode二维条形码扫描仪——BitmapFactory.decodeByteArray 10.6 上班族今天中午要吃什么——热量骰子地图 10.7 掷杯筊——把手机放在空中甩事件处理...

12,797

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧