本人想学习编程,需要哪些入门书籍
C语言、C++、或者java
具体怎样学编程 :
1明确学习目的
学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
2打好基础
学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发开发工具如 Java 等。 3)网络开发对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
3 注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
4掌握编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程;学习 COM 就要知道 VTALBE 、类厂、接口、idl,关键是学一种思想,有了思想,那么我们就可以触类旁通。
5多实践、多交流
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
6养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
7上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”()主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”()是专门介绍C、VC、VB、Delphi 等的综合编程网站;网站“ VB 编程乐园 ”()提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。
8加强计算机理论知识的再学习
学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。
学习编程语言很久了,学习了java又学习C#,一直想学习开发游戏,但是不知从何入手,那几天看了本书说是使用NET的CLR会比较容易的把多种语言集合到一起,不知道有没有高人给指点一下
觉得游戏开发,语言倒是次要的,关键是对游戏流程的了解,加上可行的实现方法
个人认为,游戏编程:
数学基础--》编程语言(C/C++ OR JAVA)--》算法、数据结构基础--》软件工程基础
这是编软件基本的,没法快速入门的。
然后是涉及游戏具体内容的
图形: 图形学基础--》API(OGL DX )--》游戏引擎?
逻辑,
物理,
AI 等
感觉现在游戏编程分工太细了,想自己做全部不大可能。如果只是制作自己的游戏可以考虑FLash,
现在有个Unity3D什么的,这些不太搭编程的班,属于内容性的设计。
引用 4 楼 zhangci226 的回复:
最重要的就是计算机图形学了,只要学好这个就好了
对
做3D游戏,没有一个扎实的图形学基本功,很难深入下去。
3D游戏不仅是游戏发展的主流,技术发展的方向,同时也是计算机技术进步的一个表现。
不过开始最好还是先熟悉一下DX的使用,等知道怎么回事了,再学图形学,也可以直接做些2D的程序。根据自己需求。
当然,在这之前肯定要把C++学好,以及了解些windows程序的设计方法,特别是窗口的创建、消息循环等
另外建议楼主在初学C++ 到初学DX的阶段,不要过多涉及人工智能(比如寻路算法)、物理甚至引擎的实现。
我认为开始最好是把精力放在如何渲染出自己的图形上面。
然后一个效果一个效果的去尝试和实现,等很多效果像样了,以至于可以组织成像摸像样的游戏了,再考虑更多的问题,比如引擎,AI,物理等问题。。
推荐新人先从OPENGL进入3D世界
楼主既然学了C# 那就从XNA着手吧
学习游戏编程,要看你的动机,高薪开发好玩的游戏
如果是想做一个好玩的游戏,不要求大,比如植物战僵尸,他的技术门槛不高,但却胜过很多"大"引擎做的游戏
开发游戏,技术是辅助,游戏性是第一位!
游戏开发有好多种,2D或者3D的,还有立体3D的;平台也很多样,PC,游戏机,掌机,手机,机顶盒涉及的面是很广的,你要首先确定是哪一类比较符合你的兴趣再有选择地去汲取相关的知识
先,C++肯定要好了。
C语言程序设计
http://bookjqcqcom/product/472414html
语言是国内外广泛使用的计算机语言,是计算机应用人员应掌握的一种程序设计工具。本书全面系统地介绍了C语言编程技术及其相关理论,是一本能使读者全面掌握c语言编程技术的好教程。根据需要,作者除了深入浅出地介绍了C语言的传统编程方法,还别具匠心地介绍了c语言的绘图功能和一些应用开发实例。本书内容新颖、结构合
C++编程风格
http://bookjqcqcom/product/620299html
编程相关的内容,例如增加代码的可读性、可维护性、可扩展性以及执行效率等的方法。本书的示例代码都是从实际程序中抽取出来的,融人了作者的实际开发经验。讲解如何正确地编写代码以及避开一些常见的误区和陷阱,并给出了许多实用的编程规则,可快速提升读者的C++编程功力。本书描述平实,示例丰富,适合有一定编程
C++编程思想第2卷:实用编程技术
http://bookjqcqcom/product/413352html
编程技术和最佳的实践方法,深入探究了异常处理方法和异常安全设计;介绍C++的字符串、输入输出流、STL算法、容器和模板的现代用法,包括模板元编程;解释多重继承问题的难点,展示RTTI的实际使用,描述了典型的设计模式及其实现,特别介绍被认为是标准C++下一版特征之一的多线程处理编程技术,并提供了最新的研究成果
学好C++后,就要掌握数据结构和算法的知识,还是STL。
数据结构与 STL(英文版) 数据结构与 STL(英文版)
http://bookjqcqcom/product/412778html
数据结构及其实现的基础知识。书中引导学生通过对方法接口、示例和应用的学习,逐渐理解和掌握如何高效地使用数据结构。适合课堂教学和自学参考。 本书特色 大多数数据结构用STL(标准模板库)提供,并详细
数据结构 C++语言描述(英文影印版) 数据结构 C++语言描述(英文影印版)
http://bookjqcqcom/product/306107html
数据结构。内容从数据结构的基本原理到面向对象程序设计的方法。书内使用适应面极广的C++语言。全书14章分别为:1绪论;2基本数据类型;3抽象数据类型与类;4集合类;5栈与队列;6抽象运算符;7类属数据类型;8类与动态存储;9链表;10递归;11树;12继承与抽象类;13先进的非线性结构;14构建集合。书后
泛型编程与STL
http://bookjqcqcom/product/332062html
编程与STL》阐述了泛型编程的中心思想:concepts、modeling、refinement,并为你展示这些思想如何导出STL的基础概念:iterators、containers、function objects。循此路线,你可以把STL想像为一个由来的完整优势……
掌握多线程编程是必须的。
C和C++实务精选:C++面向对象多线程编程
http://bookjqcqcom/product/351898html
多线程架构与增量多线程编程技术。第1章介绍了用于构建面向对象程序的不同类型C++组件,以及如何使用这些组件来构建多线程架构。第2、3、4章简要介绍进程、线程、多任务处理、多线程化、规划以及线程优先权的概念。第5章讨论讲程间和线程间通信。第6章讲座线程与进程同步与合作。第6章详细讲座临界区、死锁、数据竞争以
这些掌握了后,开始掌握通行技术。首先是网络协议:
《TCP/IP 基础(第7版)》
http://bookjqcqcom/product/399379html
TCP/IP的体系结构和主要应用程序。全书分为8章,分别介绍TCP/IP体系结构与寻址,TCP/IP应用程序,TCP/IP寻址与子网, TCP/IP协议,TCP/IP服务,TCP/IP路由选择, TCP/IP应用程序原理,以及TCP/IP网络故障诊断。本书是国家网络技术水平考试的指定参考教材,适合网络技术人员和网络管理人员阅读,也可供大中专院校相
TCP/IP详解卷Ⅰ:协议
http://bookjqcqcom/product/404145html
TCP/IP解析》中的第1卷,主要讲述TCP/IP协议方面的内容。与其他的TCP/IP书藉的最大不同在于,本书不仅仅讲述了RFCS的标准协议,而且结合大量实例讲述了TCP/IP协议包的定义原因及在各种不同的操作系统中(如Sunos413、Soloris22、 AIX322)的应用与工作方式,这样可以以动态方式讲述TCP/IP的知识,使读者可以轻松掌
TCP/IP详解卷三:TCP事务协议 HTTP NNTP和UNIX域协议
http://bookjqcqcom/product/310116html
TCP/IP详解系列”的延续。主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快、更高效和更可靠; TCP/IP应用,主要是HTTP和NNTP;UNIX域协议,这些协议提供了进程之间通信的一种手段。当客户与服务器进程在同一台主机上时,UNIX域协议通常要比TCP/IP快一倍。本书同样采用了大量的实例和实现细
然后掌握各种平台下SOCKET的编程技术。
TCP/IP协议及网络编程技术
http://bookjqcqcom/product/580242html
本书是一本关于TCP/IP协议原理编程技术的教材,由两部分组成:第1部分系统地介绍了TCP/IP协议族的体系结构,并分别介绍了IP层、传输层和应用层中各种协议的具体原理和工作机制;第2部分介绍了基于socket编程接口的网络编程技术,重点讲述了客户端和服务器端编程应注意的问题、可用的模式和技术。作为一本TCP/IP协议理
Winsock 2网络编程实用教程 Winsock 2网络编程实用教程
http://bookjqcqcom/product/374343html
Winsock,即基于Windows的套接字,是专门为网络开发人员开发网络应用程序设计的编程接口。由于现今网络应用的普及,使成为了IT发展的重要分支之一。本书的出版正是顺应了这种需求。本书简洁而专业地介绍了Winsock的基本概念和操作方式,指导程序员如何利用现有的主流开发工具进行最流行的Windows网络应用的开发。同时,本书
Windows网络编程
http://bookjqcqcom/product/401079html
Microsoft公司的Visual C++平台不仅具有很强的网络程序处理能力,而且还能提供多种编程风格。与Visual C++捆绑的MFC提供了大量封装良好的网络类,如Winsock、WinInet、ActiveX、DCOM和ATL等,提高了用户在利用Visual C++进行网络开发时的效率。本书主要特色在于对技术细节做了深入的介绍,探讨了大量网络专用函数以及MFC
LINUX网络编程
http://bookjqcqcom/product/105718html
本书详尽而细致地介绍了在Linux操作系统下进行网络编程所需要的各种知识,从基本的进程控制、通信到Berkeley套接字都有讲解。书中还穿插了大量的实例程序,并配以说明,更加方便读者的学习和理解。本书内容的精心安排,简洁的措辞,丰富的实例可以使初学者迅速地掌握Linux网络编程的技术。同时,Linux的高级程序员也可以从
这写掌握完以后,开始学写LINUX下的服务器编程。
Linux 程序设计权威指南(附光盘) Linux 程序设计权威指南(附光盘)
http://bookjqcqcom/product/314783html
本书是“Linux与自由软件资源丛书”之一。目前Linux系统已很普及,但是介绍在Linux上进行开发的书籍并不多,本书的Linux上进行应用开发提供了详细的参考资料。内容包括Linux开发环境、Linux编程的入门知识、系统和网络编程、多线程程序设计、控制台编程、X Window系统编程、国际化编程知识等。本书内容丰富、实用性强,附带
Red HatLINUX 核心技术精解第二版(附盘)
http://bookjqcqcom/product/311825html
Linux是一个性能可以与商业x86 UNIX操作系统相提并论的32位操作系统本书全面介绍了Linux的安装和使用技术,包括Linux的安装和配置,Linux的运行,在Linux中使用各种外设,以及Linux的其他内容,如用SLIP和PPP拨号上网,将Linux用作Internet主机,在Linux上运行WWW,商务的运作,开发软件及X编程等
而GCC是你必须掌握的编译器,VC也不例外。
GCC技术参考大全
http://bookjqcqcom/product/378731html
GCC(GNU编译程序集合)是目前最重要、应用最广的开放源代码软件。在本书中,专家Arthur Griffith提供了大量关于这种开源软件的信息,教您学会使用GCC为几乎所有的平台和语言开发及部署各类软件。本书分为3个部分。第1部分,“自由软件编译程序”,介绍了编译程序的一些基础知识,以及一些可以用来下载和安装编译程序的指
C++面向对象程序设计题解与上机指导
http://bookjqcqcom/product/584574html
GCC在DOS/Windows平台上的版本DJGPP(以及与之配合使用的集成软件开发环境RHIDE);上机实验内容与安排,这部分提出了上机实验的指导思想和上机实验的内容与安排,供教学参考。随本书赠送的光盘中包括《C++面向对象程序设计》一书中的全部例题程序,各章习题解答的程序以及 DOS/Windows环境下的GCC版本(DJGPP及其配套
掌握了这些东西是不够的,你还必须学会服务器方面游戏逻辑的编写,因而要掌握脚本语言的使用,在这方面,一般使用LUA,PYTHON和RUBY来写。
学习Python:第2版(影印版)
http://bookjqcqcom/product/851923html
Python是流行、开源、面向对象的编程语言,既可以用于编写单机运行的程序也可以编写脚本程序,具有可移植、强大、易用等特点。跟随专业教师学习是最快捷的掌握此语言的方式。新版的《学习Python))把你带到Mark Lutz和David Ascher面前,他们是著名的Python专家和培训师,他们的用语亲切、组织良好的文章已经指导了许多编程
Programming Ruby中文版(第2版)
http://bookjqcqcom/product/543520html
Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。它不仅受到广大程序员的欢迎,无数的软件大师亦为其倾倒。Programming Ruby是关于Ruby语言的一本权威著作,也被称为PickAxe Book(镐头书,由封面上的工具得名)。本书是它的第2版,其
我使用PYTHON,这些掌握后,数据库方面是要有的。
在LIUNX下一般使用MYSQL和postgresql来作为数据库:
MySQL 5权威指南(第3版)
http://bookjqcqcom/product/431843html
本书全面深入地介绍了MySQL的功能,主要内容包括MySQL、PHP、Apache、Perl等组件的安装与功能简介,mysql等一些重要系统管理工具和用户操作界面的使用,MySQL数据库系统设计的基础知识与用不同语言设计MySQL数据库的过程,以及SQL语法、工具、选项、API应用指南,最大限度地帮助读者更快地学习和掌握MySQL数据库系统的设计
好这些知识有了后,可以看一些网络游戏服务器是如何编写的,但这方面的书籍很少,即使出版的也是闪闪咄咄的。不过,我还是找到一本,非常的不错。详细地讲解了游戏的逻辑的实现。
MUD游戏编程(配光盘) MUD游戏编程(配光盘)
http://bookjqcqcom/product/584461html
本书从网络基本知识入手,全面阐述了如何开发纯文字MUD游戏。并通过构建SimpleMUD和BetterMUD这两个MUD,重点讲述了如何实现MUD。本书分为4大部分。第1部分介绍了计算机网络的基本知识、Winsock/Berkeley Sockets API以及多线程的概念;展示了本书所用的基本库BasicLib中的所有类和函数;创建了一个套接字库SocketLib;介
最后介绍相关网站:
一个开源的网络游戏,你可以从中看出游戏服务器的编写方法:
http://themanaworldorg
游戏开发交流:
http://wwwgamerescom
其它,你可以搜索这些关键字: RAKNET,OPENTNL。
希望有用!
以上是服务器的,如果是客户端的话,就更多了。
网络游戏开发
http://baikebaiducom/view/691941htmlwtp=tt
恩,杭州有个游戏学院,最近好象在招生,还不错
http://wwwzjgamecollegeorg/
这是学校的网址,你可以看一下
参考资料:
第一部分 准备篇
第1章 初识庐山真面目——Android开发简介 2
11 Android的基本概念 2
111 Android简介 2
112 Android的版本 4
113 Android的系统构架 5
114 Android的应用程序框架 6
12 JIL Widget介绍 7
13 小结 8
第2章 工欲善其事,必先利其器——搭建和使用Android开发环境 9
21 开发包及工具的安装 9
211 开发Android程序都需要些什么 9
212 安装JDK和配置Java开发环境 10
213 Eclipse的安装与汉化 11
214 安装AndroidSDK 12
215 安装Eclipse插件ADT 13
22 真实体验——编写第一个Android程序(随机绘制圆饼) 15
221 创建Android工程 15
222 在模拟器中运行Android程序 17
223 界面控件的布局 19
224 编写代码 20
225 调试程序 23
226 在手机上运行和调试程序 28
23 迁移Android工程可能发生的错误 29
24 不需要写一行代码的开发工具:AppInventor 31
241 AppInventor简介 31
242 AppIntentor的下载和安装 31
243 用拖曳控件的方式设计界面 33
244 像拼图一样拼装代码 34
25 小结 37
第二部分 基础篇
第3章 千里之行始于足下——Android程序设计基础 40
31 Android应用程序框架 40
311 Android项目的目录结构 40
312 AndroidManifestxml文件的结构 42
32 Android应用程序中的资源 44
33 Android的应用程序组件 44
331 Activity(Android的窗体) 45
332 Service(服务) 45
333 Broadcast Receiver(广播接收器) 45
334 Content Provider(内容提供者) 46
34 Android程序的UI设计 46
341 手工配置XML布局文件 46
342 ADT自带的可视化UI设计器 47
343 使用DroidDraw设计UI布局 47
35 小结 48
第4章 我的UI我做主——用户界面开发基础 49
41 Activity的使用方法 49
411 创建Activity 49
412 配置Activity 50
413 显示其他的Activity(Intent与Activity) 52
42 Activity的生命周期 55
43 在不同Activity之间传递数据 60
431 使用Intent传递数据 60
432 使用静态变量传递数据 62
433 使用剪切板传递数据 63
434 使用全局对象传递数据 65
435 返回数据到前一个Activity 67
44 视图(View) 68
441 视图简介 68
442 使用XML布局文件定义视图 69
443 在代码中控制视图 70
45 布局(Layout) 72
451 框架布局(FrameLayout) 72
452 线性布局(LinearLayout) 75
453 相对布局(RelativeLayout) 79
454 表格布局(TableLayout) 81
455 绝对布局(AbsoluteLayout) 82
456 重用XML布局文件 82
457 优化XML布局文件 85
458 查看apk文件中的布局 86
46 小结 87
第5章 良好的学习开端——控件(Widget)详解 88
51 常用XML属性解析 88
511 android:id属性 88
512 控件的宽度(android:layout_width)和高度(android:layout_height) 88
513 android:layout_margin属性 89
514 android:padding属性 89
515 android:layout_weight属性 90
516 android:layout_gravity和android:gravity属性 90
517 android:visibility属性 91
518 android:background属性 91
519 指定单击事件方法(android:onClick属性) 92
5110 控件焦点属性(android:focusable和android:focusable-InTouchMode) 92
52 TextView(显示文本的控件) 93
521 显示富文本(URL、不同大小、字体、颜色的文本) 93
522 在TextView中显示表情图像和文字 97
523 单击链接弹出Activity 100
524 为指定文本添加背景 103
525 带边框的TextView 106
526 设置行间距 110
527 在未显示完的文本后面加省略号(…) 111
528 用TextView实现走马灯效果 113
529 垂直滚动TextView中的文本 114
53 EditText(编辑文本的控件) 115
531 像QQ一样输入表情图像 115
532 在EditText中输入特定的字符 117
533 AutoCompleteText-View(自动完成输入内容的控件) 118
54 按钮和复选框控件 120
541 Button(普通按钮控件) 120
542 图文混排的按钮 122
543 ImageButton(图像按钮控件) 124
544 RadioButton(选项按钮控件) 124
545 ToggleButton(开关状态按钮控件) 125
546 CheckBox(复选框控件) 126
55 ImageView(显示图像的控件) 128
551 ImageView控件的基本用法 128
552 显示指定区域的图像 129
553 缩放和旋转图像 132
56 时间与日期控件 133
561 DatePicker(输入日期的控件) 133
562 TimePicker(输入时间的控件) 134
563 DatePicker、TimePicker与TextView同步显示日期和时间 134
564 AnalogClock和DigitalClock(显示时钟的控件) 136
57 进度条控件 137
571 ProgressBar(进度条控件) 137
572 SeekBar(拖动条控件) 139
573 设置ProgressBar和SeekBar的颜色及背景图 140
574 RatingBar(评分控件) 143
58 列表控件 145
581 ListView(普通列表控件) 145
582 为ListView列表项添加复选框和选项按钮 147
583 对列表项进行增、删、改操作 149
584 改变列表项的背景色 153
585 ListActivity(封装ListView的Activity) 154
586 ExpandableListView(可扩展的列表控件) 155
587 Spinner(下拉列表控件) 157
59 滚动控件 160
591 ScrollView(垂直滚动控件) 160
592 HorizontalScrollView(水平滚动控件) 161
593 可垂直和水平滚动的视图 162
594 Gallery(画廊控件) 163
510 ImageSwitcher(图像切换控件) 164
511 GridView(网格控件) 166
512 TabHost(标签控件) 168
513 ViewStub(惰性装载控件) 169
514 小结 171
第6章 友好的菜单——Menu介绍与实例 172
61 菜单的基本用法 172
611 创建选项菜单(Options Menu) 172
612 带图像的选项菜单 173
613 关联Activity 173
614 响应菜单的单击动作 174
615 动态添加、修改和删除选项菜单 175
616 带复选框和选项按钮的子菜单 176
617 上下文菜单 178
618 菜单事件 179
619 从菜单资源中装载菜单 180
62 菜单特效 181
621 自定义菜单 181
622 模拟UCWeb效果菜单 184
623 QuickContactBadge与联系人菜单 189
63 小结 192
第7章 友好地互动交流——信息提醒(对话框、Toast与Notification) 193
71 对话框的基本用法 193
711 带2个按钮(确认/取消)的对话框 193
712 带3个按钮(覆盖/忽略/取消)的对话框 195
713 简单列表对话框 196
714 单选列表对话框 198
715 多选列表对话框 199
716 进度对话框 201
717 登录对话框 205
718 使用Activity托管对话框 207
72 对话框的高级应用 209
721 阻止单击按钮关闭对话框 209
722 改变对话框的显示位置 213
723 在对话框按钮和内容文本中插入图像 215
724 改变对话框的透明度 216
73 Toast 217
731 Toast的基本用法 217
732 永不关闭的Toast 218
733 用PopupWindow模拟Toast提示信息框 221
74 通知(Notification) 221
741 在状态栏上显示通知信息 222
742 Notification的清除动作 224
743 永久存在的Notification 225
744 自定义Notification 226
75 小结 227
第8章 移动的信息仓库——数据存储 228
81 读写key-value对:SharedPreferences 228
811 SharedPreferences的基本用法 228
812 数据的存储位置和格式 229
813 存取复杂类型的数据 230
814 设置数据文件的访问权限 233
815 可以保存设置的Activity:PreferenceActivity 234
82 文件存储 238
821 openFileOutput和openFileInput方法 238
822 读写SD卡中的文件 239
823 SAX引擎读取XML文件的原理 241
824 将XML文件转换成Java对象 242
825 文件压缩(Jar、Zip) 245
83 SQLite数据库 249
831 SQLite数据库管理工具 249
832 SQLiteOpenHelper类与自动升级数据库 251
833 数据绑定与SimpleCursorAdapter类 252
834 操作SD卡上的数据库 255
835 将数据库与应用程序一起发布 256
836 内存数据库 257
84 小结 258
第9章 Android中的窗口——Activity 259
91 调用其他程序中的Activity 259
911 直接拨号 259
912 将电话号传入拨号程序 259
913 调用拨号程序 260
914 浏览网页 261
915 向E-mail客户端传递E-mail地址 261
916 发送E-mail 261
917 查看联系人 262
918 显示系统设置界面(设置主界面、Wifi设置界面) 263
919 启动处理音频的程序 264
92 自定义Activity Action 264
93 Activity的高级应用 266
931 ActivityGroup 266
932 自定义半透明窗口 268
933 Activity之间切换的动画效果 269
94 小结 270
第10章 全局事件——广播(Broadcast) 271
101 什么是广播 271
102 接收系统广播 272
1021 短信拦截 272
1022 用代码注册广播接收器 274
1023 广播接收器的优先级 275
1024 来去电拦截 276
1025 截获屏幕休眠与唤醒 280
1026 开机自动运行 281
1027 显示手机电池的当前电量 282
103 发送广播 284
104 验证广播接收器是否注册 285
105 小结 286
第11章 跨应用数据源——Content Provider 287
111 Content Provider的作用 287
112 获得系统数据 288
1121 读取联系人信息 288
1122 查看收到的短信 290
113 自定义Content Provider 291
1131 查询城市信息 291
1132 为Content Provider添加访问权限 297
114 小结 298
第12章 一切为用户服务——Service基础与实例 299
121 Service基础 299
1211 Service的生命周期 299
1212 绑定Activity和Service 302
1213 开机启动Service 305
1214 判断Service是否已注册 306
1215 判断Service是否已开始 307
122 跨进程访问(AIDL服务) 308
1221 什么是AIDL服务 308
1222 建立AIDL服务的步骤 308
1223 建立AIDL服务 308
1224 传递复杂数据的AIDL服务 312
1225 AIDL与来去电自动挂断 317
123 小结 319
第13章 做好应用桥梁——网络与通信 320
131 WebView控件 320
1311 用WebView控件浏览网页 320
1312 用WebView控件装载HTML代码 322
132 访问HTTP资源 324
1321 提交HTTP GET和HTTP POST请求 324
1322 HttpURLConnection类 326
1323 上传文件 327
133 客户端Socket 330
1331 连接服务器 331
1332 扫描服务器打开的端口 331
1333 发送和接收数据 333
1334 获得无线路由分配给手机的IP地址 334
1335 设置Socket选项 335
134 服务端Socket 339
1341 手机服务器的实现 339
1342 利用Socket在应用程序之间通信 340
135 蓝牙通信 342
1351 蓝牙简介 342
1352 打开和关闭蓝牙设备 343
1353 搜索蓝牙设备 344
1354 蓝牙数据传输 346
136 小结 351
第14章 炫酷你的应用——多媒体开发 352
141 音乐 352
1411 播放音乐 352
1412 录音 353
142 视频 354
1421 使用VideoView播放视频 354
1422 使用SurfaceView播放视频 355
1423 录制视频 357
143 相机 357
1431 调用系统的拍照功能 358
1432 自定义拍照功能 359
144 铃声 364
145 小结 366
第15章 2D游戏开发 367
151 绘制游戏的画布 367
1511 在View上实现动画效果 367
1512 在SurfaceView上实现动画效果 371
152 图形绘制基础 374
1521 绘制像素点 374
1522 绘制直线 374
1523 绘制圆形 375
1524 绘制弧 375
1525 绘制文本 376
1526 综合绘制各种图形 376
153 高级图像处理技术 380
1531 绘制位图 380
1532 图像的透明度 382
1533 旋转图像 383
1534 路径 384
1535 Shader的渲染效果 388
154 帧(Frame)动画 392
1541 AnimationDrawable与帧动画 392
1542 播放Gif动画 394
155 补间(Tween)动画 397
1551 移动补间动画 397
1552 缩放补间动画 399
1553 旋转补间动画 402
1554 透明度补间动画 403
156 小结 404
第16章 有趣的Android应用 405
161 传感器 405
1611 如何使用传感器 405
1612 加速度传感器(Accelerometer) 409
1613 重力传感器(Gravity) 409
1614 光线传感器(Light) 410
1615 陀螺仪传感器(Gyroscope) 411
1616 方向传感器(Orientation) 411
1617 其他传感器 412
162 输入输出技术 413
1621 语音识别 413
1622 手势输入 415
1623 语音朗读(TTS) 417
163 Google地图 419
164 GPS定位 423
165 桌面上的小东西 425
1651 窗口小部件(AppWidget) 425
1652 快捷方式 431
1653 实时文件夹 433
166 应用更华丽——动态壁纸 435
167 小结 441
第三部分 高级篇
第17章 HTML5与移动Web开发 444
171 HTML5简介 444
172 HTML5精彩效果演示 445
173 HTML5在Android中的应用 447
174 HTML5的画布(Canvas) 448
1741 Canvas概述 448
1742 检测浏览器是否支持Canvas 449
1743 在Web页面中使用Canvas 450
1744 使用路径(Path) 452
1745 设置线条风格 453
1746 设置填充类型 453
1747 填充矩形区域 454
1748 使用渐变色(Gradient) 454
1749 拉伸画布对象 455
17410 在Canvas上绘制文本 456
17411 使用阴影 457
175 调试JavaScript 458
176 小结 459
第18章 输入法开发 460
181 Android输入法简介 460
182 控制输入法 461
183 输入法实战 462
1831 实现输入法的步骤 463
1832 编写输入法程序 463
1833 输入法服务的生命周期 466
1834 预输入文本 467
1835 输入法设置 467
184 小结 468
第19章 Android OpenGL ES开发基础 469
191 OpenGL简介 469
192 什么是OpenGL ES 469
193 多边形 470
194 颜色 474
195 旋转三角形 475
196 旋转立方体 477
197 小结 478
第20章 OpenGL ES的超酷效果 479
201 保持平衡的旋转文本 479
202 左右摇摆的Android机器人 482
203 纠缠在一起的旋转立方体 485
204 透明背景的旋转立方体 486
205 触摸旋转的立方体 487
206 2D和3D的综合旋转效果 489
207 旋转立体天空 491
208 小结 493
第21章 Android NDK编程 494
211 Android NDK简介 494
212 安装、配置和测试NDK开发环境 495
2121 系统和软件要求 495
2122 下载和安装Android NDK 495
2123 下载和安装Cygwin 495
2124 配置Android NDK的开发环境 498
213 第一个NDK程序:世界你好 499
2131 编写和调用NDK程序 499
2132 用命令行方式编译NDK程序 501
2133 在Eclipse中集成Android NDK 502
214 背景不断变化的三角形(NDK 版OpenGL ES) 504
215 使用NDK OpenGL ES API实现千变万化的3D效果 507
216 使用NDK调用音频API 510
217 本地Activity(Native Activity) 511
218 Android NDK配置文件详解 513
2181 Android NDK定义的变量 513
2182 Android NDK定义的函数 514
2183 描述模块的变量 515
2184 配置Application mk文件 516
219 小结 516
第22章 测试驱动开发(TDD) 517
221 JUnit测试框架 517
222 测试Activity 517
223 测试Content Provider 521
224 测试Service 523
225 测试普通类 523
226 小结 525
第四部分 综合实例篇
第23章 Android综合案例一——蓝牙聊天 528
231 蓝牙聊天主界面 528
232 添加选项菜单 530
233 搜索和连接蓝牙设备 530
234 使设备可被其他蓝牙设备发现 533
235 发送和接收聊天信息 533
236 小结 537
第24章 Android综合案例二——月球登陆(游戏) 538
241 游戏的玩法 538
242 实现游戏界面 539
243 设置游戏难度 540
244 开始游戏 541
245 控制飞船喷火 544
246 控制飞船改变飞行方向 544
247 判断飞船是否成功着陆 545
248 小结 546
第25章 Android综合案例三——全键盘输入法(应用) 547
251 安装输入法 547
252 输入法的初始化工作 548
253 响应键盘操作 549
254 根据EditText控件的属性显示不同的软键盘 551
255 小结 553
第26章 Android综合案例四——贪吃蛇(游戏) 554
261 游戏玩法 554
262 游戏主界面设计 555
263 控制小蛇的移动 557
264 小结 560
第27章 Android综合案例五——新浪微博客户端(应用) 561
271 新浪微博简介 561
2711 新浪微博客户端 561
2712 新浪微博开放API 563
272 使用新浪微博开发API 563
273 创建和配置新浪微博客户端工程 564
274 登录新浪微博 564
275 功能按钮 567
276 显示“我的首页”的微博 569
277 评论微博 572
278 转发微博 573
279 写微博 574
2710 小结 576
第28章 Android综合案例六——笑脸连连看(游戏) 577
281 游戏玩法 577
282 准备图像素材 578
283 实现主界面 578
284 随机生成连连看图像 580
285 选中两个相同图像后消失 580
286 用定时器限制游戏时间 581
287 小结 582
不要把编程想得太简单,游戏开发涉及面很广,选择的语言也不同,依赖于你的平台,客户端还是服务器端,产品还是引擎等等。除去图像、音效、网络等等不说,像框架构设、AI系统等也是比较复杂
要是真学的话,推荐C语,自学的话JAVA比较难啃,当然有能力可以同时
日语的话学好五十音图先,俄语则是记好字母表
棋类游戏AI的范围还是挺广的,这里推荐一本讲解象棋和五子棋游戏的书籍《PC游戏编程》,这是王小春著作的一本书,里面讲的基本上是中国象棋人机博弈和五子棋人机博弈方面的内容,里面的算法结构相当经典,你可以仔细研究研究。
推荐6本python入门必备书籍总有一本适合你
一《Python编程:从入门到实践》
本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if 语句、类、文件与异常。代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者解决常见编程问题和困惑。豆瓣书友推荐:很好的入门书,简洁全面,适合小白。learning python之类大砖头太不友好。这本虽然有些地方讲得不深入,但是对新手友好。
二、《"笨办法"学Python》
本书是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。Zed Shaw完善了这个堪称世上最好的Python学习系统。只要跟着学习,你就会和迄今为止数十万Zed教过的初学者一样获得成功。这本书会让你的每一分钟投入都有回报。Python是世界上最强大、最受欢迎的编程语言之一,很快你就会成为一名Python程序员。豆瓣书友推荐:花了一周的时间看完,在以前的基础上零零碎碎学了一些新的东西,还算是有所收获,但是前面讲的很基础很简单,到ex40之后突然难度增加不是很懂在讲些什么
三、《Python学习手册》
Python可移植、功能强大、易于使用,是编写独立应用程序和脚本应用程序的理想选择。无论你是刚接触编程或者刚接触Python,通过学习《Python学习手册(第3版)》你可以迅速高效地精通核心Python语言基础。读完《Python学习手册(第3版)》,你会对这门语言有足够的了解,从而可以在你所从事的任何应用领域中使用它
豆瓣书友推荐:用了两周的时间将这本书啃了一下,还有200多页的电子版没看,但还是忍不住先来评论。既是总结自己,也想帮助别人。本书总评:优点:解释详细,例子丰富;关于Python语言本身的讲解全面详尽而又循序渐进不断重复,同时详述语言现象背后的机制和原理;除语言本身,还包含编程实践和设计以及高级主题。缺点:有些厚;翻译不佳;代码练习题很少;
四、《Python基础教程》
本书是经典教程的全新改版,作者根据Python 30版本的种种
变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。本书层次鲜明、结构严谨、内容翔实,特别是在最后几章,作者将前面讲述的内容应用到了10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程。本书既适合初学者夯实基础,又能帮助Python程序员提升技能,即使是 Python方面的技术专家,也能从书里找到令你耳目一新的东西。豆瓣书友推荐:写得挺生动亲民的,很好的入门书。
五、Python核心编程
学习专业的Python风格、最佳实践和好的编程习惯;加强对Python对象、内存模型和Python面向对象特性的深入理解;·构建更有效的Web、CGI、互联网网络和其他客户端/服务器架构应用程序及软件;·学习如何使用Python中的Tkinter和其他工具来开发自己的GUI应用程序及软件;·通过用C等语言编写扩展来提升Python应用程序的性能,或者通过使用多线程增强1/0相关的应用程序的能力;·学习Python中有关数据库的API,以及如何在Python中使用各种不同的数据库系统,包括MySQL、Postgres和 SQLite。豆瓣书友推荐:了解Python语言方方面面的不错选择,虽然版本有些旧,对于较晚接触Py的人来说,一个“副作用”是可以更多地了解Py的过去。
六、流畅的Python
本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。
0条评论