- 在线时间
- 140 小时
- 最后登录
- 2016-8-2
- 注册时间
- 2011-9-15
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 1198 点
- 威望
- 0 点
- 阅读权限
- 40
- 积分
- 449
- 相册
- 0
- 日志
- 0
- 记录
- 1
- 帖子
- 187
- 主题
- 16
- 精华
- 0
- 分享
- 0
- 好友
- 35
升级 49.67% TA的每日心情 | 开心 2016-8-2 21:43 |
---|
签到天数: 40 天 [LV.5]常住居民I
群组: C 语言讨论组 群组: 学术交流C 群组: 学术交流A 群组: 学术交流D 群组: 学术交流B |
本帖最后由 Vir 于 2013-3-23 14:58 编辑 - l6 R' A$ M) J9 R
! }! G7 [8 s( H1 |! C
1 课程背景 _, s6 }# C2 s5 H
- B1 O$ `( ~9 y3 X" y3 Y2 j C++是世界上最复杂的综合范式语言,IT业的软件开发行业和公司普遍共识是,C++很熟练的人,转向其它业务和技术都将会相对更容易,能掌握C++的人,解决技术问题的能力也普遍会比较彻底。涉及到C++的3D图形引擎、游戏客户端、服务器端程序、图像处理软件、高响应网络架构的底层、科学计算等,几乎都有它的身影。如果你熟练了C++,那么C语言是不需要再重复学习就自然会的,转向Java/C#/VB/Python等语言,对他们的基础语法熟练度大概最多两星期内可以磨合完毕(不包含这些语言的库和框架的熟悉,事实上大部分语言基于的SDK/APIs都可以临时查询,现查现用)。
+ B5 u3 |+ x! w. x
+ \% e* h& p+ } Y- Z7 x: X+ T( S b4 W. F, e
2 课程对象及目的 `. B" f2 [4 _; [
- X% Q# l. F( ?4 e& ? L 2.1 需要基础:具备C/C++/Java/C#几种语言任意一种的基本语法知识,代码量大于450行; ~7 r' t' d" w0 b# U
2.2 直接效果:一个没C++任何小项目经验但有语法基础的人,通过此课程,坚持练习,可以逐步写出一款多人网络五子棋对战游戏(将会体验单机版、局域网对等对战版、互联网服务器版、图形界面版、多人在线版、人工智能机器等若干个版本的项目建立)
7 j; I4 v8 w, o) N$ I: o& ~9 n" K4 m 2.3 更深层次目的:阶梯式提高C++语法熟练度、各类算法的学习和构造、代码复用技巧、业务逻辑的分析思路、学会运用部分设计模式及MVC思想、项目开发思路、Socket网络编程、如何封装公共复用库、熟练Windows SDK及多线程、Linux服务器端程序、图形学基础、简单3D软渲染引擎设计
# _5 T/ @) H$ E2 Q
' O! d& }/ g; w. t1 o, h0 p9 f# R& g1 g7 d2 x& K4 T r8 }& k
3 课程目录8 i# s P: m$ _" _- [9 O
& g/ Y2 u5 H- k+ l5 F
第一期 大道至简:控制台下的五子棋( l: |1 n: V! K( P- y/ n! e- Z
# _% a9 F+ O6 O0 M& K6 l( C' ~ 第零课 C++基于及热身
" A# `3 m$ u" k: r$ U E 第一课 单机双人五子棋
1 I5 E+ N. `$ q: Q9 q2 x9 ?: U* Y, A 第二课 命令行远程控制程序: ^" S& J' f% i: t
第三课 Server/Client双人五子棋(Windows版)# g) b2 V$ [9 n8 u `3 u0 @ ]
第三课附加 Server/Client双人五子棋(Linux版)4 [/ w Y: w: c5 @4 b
) A* ]! {8 F8 P" g# n1 |, z 第二期 图形世界:图形特效的五子棋
! c( T5 [3 b! B/ j, G/ |1 x) w: V- [* ]) n0 X* L2 F0 F! e
第四课 基于EasyX的图形界面五子棋: E" g9 d/ g- l! V# W
第五课 重构五子棋框架' i! ~: G( D& ^& b
第六课 基于Windows SDK的图形界面五子棋1 V9 L9 l3 ^' H* ^% i1 ~" I
第七课 AI引擎:单机版人机对战五子棋
7 w9 Q6 E/ P: h! w; n 第八课 记录器:录制下棋过程版五子棋
0 x' E1 K. \" a: n: v+ k6 u2 s. ` 第九课 第二次重构五子棋框架
! v4 y/ S# `% o5 k 第十课 网络版多人/多个性定制化机器人在线五子棋
# M5 ^/ \, x5 [4 p
% t- B- E* c8 @. j c- O 第三期 高级课程:3D图形世界7 k: G1 i- q" y9 N1 E; J. G, r
* H) G% d& T; w2 y2 E0 ]( m 第十一课 3D引擎的原理基础9 I+ E8 l3 M3 Z8 z5 m" L2 O) Y9 G
第十二课 使用现成3D引擎设计3D网络五子棋! `+ w" F- N9 ~ K+ S! n1 X" K
第十三课 用GDI设计自己的3D软渲染引擎& Z9 W# Y" E# {6 {/ y) f
第十四课 3D软渲染器:线渲染! s7 A0 v0 a1 n$ ?2 N+ y( J
第十五课 3D软渲染器:三角渲染6 r; b9 T" B4 }/ S
第十六课 3D软渲染器:空间变换与投影
2 ~5 u5 n( c/ B s% u6 [: d 第十七课 3D软渲染器:Alpha混合, R$ }4 g9 Z6 Y0 Z2 n
第十八课 3D软渲染器:纹理映射: J6 L3 k; {% N1 K& y* [3 S
第十九课 3D软渲染器:Ray Tracing4 c/ W# e; H" A3 G2 e
第二十课 3D软渲染器:防走样算法
r' K; S7 }1 [- E E/ a! { 第二十一课 引擎测试:3D坦克大战Prototype
4 D3 L! s# G" B) d$ ? 第二十二课 引擎测试:3D超级玛丽Prototype# ?- w9 _' L' y: [5 z$ L; I
第二十三课 基于web2.0的MMO3D游戏Prototype
: w( c# E; D& |; E
! |% p6 X: u d0 s" K) S1 m 第四期 脚本引擎:设计基于面向对象的脚本语言及其解释器(子提纲待定)# n8 P& T) m. j
@2 g- \0 c' }; a9 f1 J2 V
第五期 编译原理:设计新型数据库语言及其虚拟机(子提纲待定)% m/ i* Q" Y% v& c$ }4 _5 a
$ x5 }: b# T4 T" O' L! ^; J 第六期 分布式系统及云计算:分布式计算与云计算基础架构设计Prototype(子提纲待定)0 y& F; C) f9 f
3 O% k; n8 X0 C$ ^" U0 E2 k7 v! j- v" e: \( V; z
4 授课作者声明:
& I0 H# e* a. z! J
/ _/ e0 Y+ ^# b2 w0 V# g3 W 以上内容,授课作者均有能力独立实现(5、6期略需要准备时间),但不保证该连载课程能坚持执行到底,这取决于多方面因素(比如大家是否对该课程感兴趣,以及该课程的讲解可行性,作者本人的日常精力时间,作者的少的可怜的授课经验),只能尽力而为,毕竟写项目和教人写项目在投入精力上是完全不同的,但作者本人也相信这也是乐趣所在,每课之间的时间间距完全取决于连载作者的业余时间空闲程度。4 X! v; _* M8 k, w( l) \" w: T
4 r2 z3 o/ j3 o+ ` 半年内可能会逐步实施以上计划并可能加入一些有趣的东西,看到以上的提纲,有想法或者idea可以告诉我。
5 H `8 m( c$ h6 }1 H4 j4 S/ k" v- P9 [2 X# c T9 d6 J
授课作者:zblc (www.cppblog.com/zblc), I' x; s5 W& n+ h2 R* p
+ } @& l, p# d5 N' O5 |& g 联系方式:zblcving@hotmail.com
1 r- z( {* y8 a, _3 I. U. Z, J S: i: }% h7 ]: L
授课平台:数学中国(MADIO)
1 z) D4 G9 D" e/ S
1 D' {" v" u" J F 具体开始时间:待定,大概1.5个月内进行第一期(有需要实时更新最新课程信息的可以发帖留下邮件)4 |0 a; i7 W" m" c8 ^9 ]. [1 |/ s
2 W# T" B6 v) X# p 2013-03-23, Z7 {7 h% p8 g z$ }0 Y/ b
|
zan
|