学习C#从俄罗斯方块开始(一)概述

aofengdaxia 2010-02-09 12:33:52
前几天和一个在读的本科生聊天,他一直在抱怨学校学习的理论知识太多,实践的机会太少。担心自己因此毕业后可能难以找到工作。我认为一个人要是想投入开发,他总是可以找到项目的。与其把自己的时间浪费在抱怨和指责上,为什么不现在就动手开始开发呢?他的回答是不知道开发啥,没有人指导自己,不知道从何入手。我想想了,那么我们就从俄罗斯方块开始下手吧。

“从俄罗斯方块开始,那个游戏太简单了。我即使可以开发一个俄罗斯方块,又会有那个公司要我呢?如果将来我的建立上写上我做过俄罗斯方块游戏。那也不大会有人要我吧!”

“一个俄罗斯方块无论是从算法上来讲,还是从其他方面上来讲,确实太简单了。但是很多人只能看到俄罗斯方块的简单,却很少有人能把简单做到极致。而一个成功的程序员就是要做到把简单的东西深入下去,把简单的事情做到极致,就不在是简单了。让我来带你开发个俄罗斯方块吧。”

那么也请各位看客跟着我们一起去深入俄罗斯方块,把这个简单的小玩意做到一个极致。这个系列的探讨适合有一定的C#的语法基础。但是尚未做过任何大的项目的童鞋一起学习。如果哪位大侠看到鄙人的东西,热烈欢迎拍砖。



首先说说咱们的学习的大概的规划:

第一步、我们先简单的理解下俄罗斯游戏开发的大概算法和需要的知识,然后把这些知识组

合开发一个小小的俄罗斯游戏Demo。基本上实现俄罗斯方块游戏的控制和操作。
第二步、我们在我们的Demo的基础上,尽可能的提出对我们的算法进行优化。对我们的界面

进行美化,功能进行扩展。从一个简单的Demo变成一个可玩性很强的单机版俄罗斯

方块小游戏。

第三步、我们来尝试把单机版俄罗斯方块做成一个俩人联机版游戏,利用SOCKET通信,让咱

们的俄罗斯方块实现可以双人玩。我们主要使用point-to-point方式来玩。一个当做

服务器端一个当做客户端来玩。

第四步、我们把我们的简单联机版俄罗斯方块做成一个带游戏大厅的服务端和客户端多人连

接俄罗斯方块游戏。让更多的人加入我们来玩。

第五步、从可盈利出发。我们研究深入研究俄罗斯游戏可能产生的盈利模式,我们将在俄罗

斯游戏中把我们的盈利模式实现,我们将在我们的游戏中增加其他的一些道具,而

这些道具有可能需要稍微改变下游戏的规则。至此为止,我们就可以依托一个点逐

渐的拓展成一个面,完成一个俄罗斯方块游戏商业模式。


至此我们的游戏已经可以成为一个可盈利的商业模式。当然能不能依托这个简单的游戏收获金钱需要看咱们做的游戏的好坏。也需要看咱们的机会和宣传了。从极坏的情况下来讲解。咱们赚钱的可能性基本上为零。当然这个也是这次开发最最可能呈现的情况。但是对一个学习计算机的程序员来说。这样的开发过程绝对可以称得是一次工作经历了,而且有了这样的思维和学习的模式,我相信抱怨和指责应该可以远离你的生活了。


最新的代码和例子会第一时间在blog上放映!http://blog.csdn.net/aofengdaxia
...全文
3141 77 打赏 收藏 转发到动态 举报
写回复
用AI写文章
77 条回复
切换为时间正序
请发表友善的回复…
发表回复
hubinyes 2012-08-21
  • 打赏
  • 举报
回复
人生啊、、点点滴滴。。。代码页是、、
hubinyes 2012-08-21
  • 打赏
  • 举报
回复
到此为止了、、、
kenpanyi 2012-08-08
  • 打赏
  • 举报
回复
来看看,正在开始学习中
vichutorf22 2012-06-28
  • 打赏
  • 举报
回复
太好了,靠它入门了
yhnujm##33 2011-11-04
  • 打赏
  • 举报
回复
恩,很好,我喜欢
zj84604741 2011-10-29
  • 打赏
  • 举报
回复
谢谢, 给我的学习提供了资料。
牛人 ,牛贴 顶~~
zLankey 2011-09-28
  • 打赏
  • 举报
回复
太牛了。。鸡冻中,谢谢LZ
fengxuan0312 2011-09-02
  • 打赏
  • 举报
回复
哇哈哈哈,又找到一个俄罗斯方块。开心研究中~~~~
aofengdaxia 2011-08-15
  • 打赏
  • 举报
回复
谢谢大家这么久了还能给我回帖
steady3659 2011-08-14
  • 打赏
  • 举报
回复
谢谢楼主分享,对于我这个初学者来说真的是收益匪浅,更加感谢楼主的是 楼主分享了调试程序,让我从中学到很多, 谢谢楼主
SelectFortune 2011-06-27
  • 打赏
  • 举报
回复
最近在学习C#,没写过程序。感觉有点晕,看了帖子才知道,贪吃蛇和俄罗斯方块是编程中最简单的游戏了。慢慢知道知识产权的重要了。谢谢。
yuwenlanxing 2011-04-29
  • 打赏
  • 举报
回复
运行过代码,不太明白在checkisdown函数中为什么有y + CurrentY 要加一,然后在最初游戏运行时,方块不能掉到最底下一行
yuxh81 2011-04-07
  • 打赏
  • 举报
回复

传说中的智慧。。。
xmx19920120 2011-02-25
  • 打赏
  • 举报
回复
要学C++了···好资源· 支持!
CSDNCFO 2011-01-24
  • 打赏
  • 举报
回复
任何网络中的2人都能连接起来玩;
CSDNCFO 2011-01-24
  • 打赏
  • 举报
回复
期待 aofengdaxia

单机,用户参与设计方块模型,颜色,背景,3D
对战,P2P 人和网络中的2人都能玩;

简单-->精致-->极致

期待ing....
CSDNCFO 2011-01-24
  • 打赏
  • 举报
回复
能不能用户自定义砖块模型,然后 系统自己计算各 能转动的情况,并自动产生转动后的效果;
aofengdaxia 2010-10-27
  • 打赏
  • 举报
回复
我把手里的这个大项目搞定,然后把俄罗斯这个做几个专题,把承诺实现。
popchinale 2010-10-27
  • 打赏
  • 举报
回复
很不错啊!!! 小弟跟着学··感谢大虾~~
ctr54188 2010-10-09
  • 打赏
  • 举报
回复
这个很强!!!!
加载更多回复(54)

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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