| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3548 人关注过本帖
标题:无聊至极,弄了一个控制台游标模块,可用于写贪食蛇游戏
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不是指这个效率,是语言代码和机器码很接近,说明语言接近汇编,近似于一条语言指令对应一个机器指令了。其它高级语言没这么小的。很多人说C++写出的程序比C庞大臃肿,其实也未必。

授人以渔,不授人以鱼。
2011-10-07 11:50
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
楼主,来搞OPENGL吧

你这控制台是操作系统相关,且也没啥意义

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2011-10-07 12:55
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
提示: 该帖被管理员或版主屏蔽

我就是真命天子,顺我者生,逆我者死!
2011-10-07 13:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
呵呵,我不做图形的,只管数据,图形设计有美工自己做,何况主业不需要用这些的。写这个东西,是想跟新手说明不要以为控制台总是黑乎乎的界面,其实也可以做到五光十色的,因为DOS时代就靠这样写程序(回想当初看到pctools是何等的钦佩,大家都模仿着那样的界面写程序,早已很成熟了)。很多人说要到Unix或Linux写程序,究其实很大程度是因为丢失了DOS的环境而到那边去寻找,以为在Windows下就只能被MFC之类控制住了。我要说,不是这样的,控制台就是原来的DOS,除了某些系统部分被限制住,对写一般意义上的程序来说,其实没有什么困难,字符窗口也一样是窗口,同样可以使用事件触发流程,不要以为学完控制台黑乎乎的界面就必须转向图形界面才能写程序。

授人以渔,不授人以鱼。
2011-10-07 13:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
有什么意义,在乎人怎么看的。《Hello,world》最没意义,但学任何语言之前,都很自然地先写一个《Hello,world》,意义在于测试一下这种语言输出数据是什么效果的、如何输出数据,看不到这个意义,当然说这个程序毫无意义。

Unix下不用图形处理,纯控制台写同样功能的程序,不使用操作系统的接口?没什么程序是跟系统完全无关的,简单到malloc()这样的函数调用,其实也是向操作系统申请来的,你写一句malloc(),不要以为在Windows下和Unix下是同样的机器码。真要跟操作系统无关,你自己写操作系统,那就跟别人无关,跟自己有关,迫使别人跟你有关。java才可以不重新编译在任何系统上运行,C/C++都要重新编译,它没有什么可移植性,它的所谓可移植性是在源代码上而言的,编译出来实际运行的东西,都跟平台有关,不单被操作系统限制,甚至被编译器限制。


[ 本帖最后由 TonyDeng 于 2011-10-7 13:24 编辑 ]

授人以渔,不授人以鱼。
2011-10-07 13:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
实现这些功能的意义在哪呢?

看看scanf()丑陋的界面吧!有人写学生管理系统,菜单选择,接收一个char那么简单的东西,用scanf(),你尽管试试,连敲几十个回车,界面都被破坏成怎样了?这样写出来的程序,也叫可以见人的?好,就算你懂用getch()接收单个字符,那么对字符串样式的数据怎么办?能像文本框那样进行编辑操作吗?敲了回车键光标下移之后,如何返回来?输出不是象棋中的兵,只能前进不能后退,一个无法随意定位的输出界面,就几乎没有任何美观可言,实用上也过不去。不要总用ghost,用光盘启动安装Windows试试,那个就是控制台字符界面的经典画面,人家的输出可不会只是滚屏。连那样基本的界面都写不出,靠转换平台来解决问题,也敢叫学会了、要深造了?

这个程序演示的功能,就完全解决了这些问题。输出一个金字塔,未必总要靠算法技巧从上向下输出,完全可以很直观地从下往上一层一层地到顶,代码既清晰又易于维护。甚至,可以随机地堆砌砖块垒起金字塔,什么流输出算法可以做到这样?谁又会去费力地研究、学习那样的算法?当我们面临的道路不止一条两条的时候,谁还会去钻牛角尖?

[ 本帖最后由 TonyDeng 于 2011-10-7 13:54 编辑 ]

授人以渔,不授人以鱼。
2011-10-07 13:42
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
这是你自己臆测的,我可没说什么啊

有更简单更快的方式,为何不用?
你可以测试下printf, cout 等控制台输出,对性能影响多大

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2011-10-07 14:33
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
windows 下的控制台,不是真DOS,仅仅是个模拟,而且是很慢的模拟

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2011-10-07 14:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
用main()花括号里的代码计算,影响更大。
实模式和多任务模式有本质的区别,这就是我上面说受到系统某些方面限制的原因。Unix下可以直接对硬件写数据?OpenGL也隔了一层壳是吧?

[ 本帖最后由 TonyDeng 于 2011-10-7 15:16 编辑 ]

授人以渔,不授人以鱼。
2011-10-07 15:13
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
所以说无意义。

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2011-10-07 15:17
快速回复:无聊至极,弄了一个控制台游标模块,可用于写贪食蛇游戏
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052661 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved