博客园 - 台哥编程课堂
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=16440
2020-09-14T09:33:11Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
feed.cnblogs.com
https://www.cnblogs.com/chaohi/p/13667988.html
产品和推广 - 台哥编程课堂
产品是池,推广是渠,渠宽流多,池好流存。 池中生产,丰减在流,流之活跃,决定于池。 池好流活,流活产丰,池差流走,池渠俱废。 先建中池,再引小渠,持续强池,逐步扩渠。 渠流不断,池大成湖,湖再出渠,导流新池。 池又成湖,湖又生池,池湖一体,遂成生态。
2020-09-14T09:33:00Z
2020-09-14T09:33:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】产品是池,推广是渠,渠宽流多,池好流存。 池中生产,丰减在流,流之活跃,决定于池。 池好流活,流活产丰,池差流走,池渠俱废。 先建中池,再引小渠,持续强池,逐步扩渠。 渠流不断,池大成湖,湖再出渠,导流新池。 池又成湖,湖又生池,池湖一体,遂成生态。 <a href="https://www.cnblogs.com/chaohi/p/13667988.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/13667985.html
优秀的程序员和一般的程序员 - 台哥编程课堂
优秀的程序员,写的代码,像一组唐诗。一般的程序员,写的代码,像一团乱麻。优秀的程序员,做的设计,轻巧而稳定。一般的程序员,做的设计,混乱而脆弱。 优秀的程序员,理清思路,然后才编程。一般的程序员,立刻编程,然后改漏洞。优秀的程序员,一蹴而就,功能全实现。一般的程序员,大干快干,问题一堆堆。 优秀的程
2020-09-14T09:32:00Z
2020-09-14T09:32:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】优秀的程序员,写的代码,像一组唐诗。一般的程序员,写的代码,像一团乱麻。优秀的程序员,做的设计,轻巧而稳定。一般的程序员,做的设计,混乱而脆弱。 优秀的程序员,理清思路,然后才编程。一般的程序员,立刻编程,然后改漏洞。优秀的程序员,一蹴而就,功能全实现。一般的程序员,大干快干,问题一堆堆。 优秀的程 <a href="https://www.cnblogs.com/chaohi/p/13667985.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/13667967.html
两种做项目的人 - 台哥编程课堂
一种人,把项目做的很复杂,别人看来,这么复杂的项目他都搞得了,看来他是个人才。 因为项目搞得很复杂,别人不容易看懂,也就没法替代他。他如果要走,公司得尽力挽留,除非这个项目不做了。 另一种人,擅长把项目简单化,分清主次,理清步骤,文档细致,方方面面都明明白白。 大家一看,噢,这项目很简单嘛,看来你也
2020-09-14T09:30:00Z
2020-09-14T09:30:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】一种人,把项目做的很复杂,别人看来,这么复杂的项目他都搞得了,看来他是个人才。 因为项目搞得很复杂,别人不容易看懂,也就没法替代他。他如果要走,公司得尽力挽留,除非这个项目不做了。 另一种人,擅长把项目简单化,分清主次,理清步骤,文档细致,方方面面都明明白白。 大家一看,噢,这项目很简单嘛,看来你也 <a href="https://www.cnblogs.com/chaohi/p/13667967.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/13667959.html
产品需求怎么定? - 台哥编程课堂
一款产品,一开始设计它的时候,我们经常会冒出很多的想法,希望把它做的非常全面、强大。 其实这是不可取的,一款产品之所以诞生,是为了解决某个问题,我们应该抓住这个最核心的需求,设计最相关的功能,把所有的人手精力都投注在这上面,尽快的完成第一个版本的产品。 然后把产品投入市场,看看市场的反映如何,吸取客
2020-09-14T09:29:00Z
2020-09-14T09:29:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】一款产品,一开始设计它的时候,我们经常会冒出很多的想法,希望把它做的非常全面、强大。 其实这是不可取的,一款产品之所以诞生,是为了解决某个问题,我们应该抓住这个最核心的需求,设计最相关的功能,把所有的人手精力都投注在这上面,尽快的完成第一个版本的产品。 然后把产品投入市场,看看市场的反映如何,吸取客 <a href="https://www.cnblogs.com/chaohi/p/13667959.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/13667949.html
设计模式,不能照搬 - 台哥编程课堂
设计模式,是人们在长期的编程实践中,总结的一些用来指导设计的规则。 我们不能一味套用设计模式,要理解它的内涵,才能活学活用。 一切设计模式的核心,都是为了:高内聚、低耦合,这也是面向对象思想的精髓。 先有高内聚,才能低耦合。 系统的稳定性、扩展性、复用性、灵活性,全都依赖于设计上的聚合水平!! 完美
2020-09-14T09:28:00Z
2020-09-14T09:28:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】设计模式,是人们在长期的编程实践中,总结的一些用来指导设计的规则。 我们不能一味套用设计模式,要理解它的内涵,才能活学活用。 一切设计模式的核心,都是为了:高内聚、低耦合,这也是面向对象思想的精髓。 先有高内聚,才能低耦合。 系统的稳定性、扩展性、复用性、灵活性,全都依赖于设计上的聚合水平!! 完美 <a href="https://www.cnblogs.com/chaohi/p/13667949.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/13667930.html
软件功能的开发顺序 - 台哥编程课堂
一个软件项目,它的所有功能,组合在一起的形状,像一颗树。 架构是树干,模块是树叉,模块的功能是树枝。 做项目,先搭架构,也就是树干,毋庸置疑。 在树叉和树枝的实现上,就要认真评估: 是先把树叉都实现,再做所有树叉的树枝; 还是做完一个树叉,接着做这个树叉的全部树枝,然后做下一个树叉。。如此往复; 或
2020-09-14T09:26:00Z
2020-09-14T09:26:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】一个软件项目,它的所有功能,组合在一起的形状,像一颗树。 架构是树干,模块是树叉,模块的功能是树枝。 做项目,先搭架构,也就是树干,毋庸置疑。 在树叉和树枝的实现上,就要认真评估: 是先把树叉都实现,再做所有树叉的树枝; 还是做完一个树叉,接着做这个树叉的全部树枝,然后做下一个树叉。。如此往复; 或 <a href="https://www.cnblogs.com/chaohi/p/13667930.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10942653.html
台哥原创:java 俄罗斯方块源码 - 台哥编程课堂
大四的时候,用java开发,耗时一周 界面参照当时用的联想手机里的俄罗斯方块 这里的级别,标识难度,1是初级,方块下降速度很慢,5是最高级,下降速度最快 得分:每消除一行,会给10分,同时消除的行数越多,加的分数越大。 界面会提前给出下一个要出现的方块,并且有暂停功能。 俄罗斯方块里是有
2019-05-29T03:18:00Z
2019-05-29T03:18:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】大四的时候,用java开发,耗时一周 界面参照当时用的联想手机里的俄罗斯方块 这里的级别,标识难度,1是初级,方块下降速度很慢,5是最高级,下降速度最快 得分:每消除一行,会给10分,同时消除的行数越多,加的分数越大。 界面会提前给出下一个要出现的方块,并且有暂停功能。 俄罗斯方块里是有 <a href="https://www.cnblogs.com/chaohi/p/10942653.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10935432.html
台哥原创:java 连连看源码 - 台哥编程课堂
2010年,迷上了玩连连看 随手就做了这个,正好手头有这些图片素材 游戏启动时,界面先铺上了一层透明幕布,然后这些兵器图片交替从上到下,从左到右出现。。 鼠标停在兵器格子上时,所在格子会有红色光标。鼠标点击后,格子背景变为黑色。 游戏底部有完成的进度条,左下角的完成按钮点击后,游戏会自动开始
2019-05-28T01:59:00Z
2019-05-28T01:59:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】2010年,迷上了玩连连看 随手就做了这个,正好手头有这些图片素材 游戏启动时,界面先铺上了一层透明幕布,然后这些兵器图片交替从上到下,从左到右出现。。 鼠标停在兵器格子上时,所在格子会有红色光标。鼠标点击后,格子背景变为黑色。 游戏底部有完成的进度条,左下角的完成按钮点击后,游戏会自动开始 <a href="https://www.cnblogs.com/chaohi/p/10935432.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10918816.html
台哥原创:java 扫雷源码 - 台哥编程课堂
扫雷,十年前大学时候开发的,界面参照的电脑自带扫雷游戏。 一直是我最喜欢的单机游戏,现在微软的新系统都不能玩了。 幸好还有自己开发的,可以过下瘾。程序员就有这点好处嘛。 这几年陆陆续续,把这个扫雷源码,重构了三四次。 代码精简了很多,力求简单易看懂,加了不少注释。 游戏分初级、中级、高级,三
2019-05-24T08:23:00Z
2019-05-24T08:23:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】扫雷,十年前大学时候开发的,界面参照的电脑自带扫雷游戏。 一直是我最喜欢的单机游戏,现在微软的新系统都不能玩了。 幸好还有自己开发的,可以过下瘾。程序员就有这点好处嘛。 这几年陆陆续续,把这个扫雷源码,重构了三四次。 代码精简了很多,力求简单易看懂,加了不少注释。 游戏分初级、中级、高级,三 <a href="https://www.cnblogs.com/chaohi/p/10918816.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10915966.html
台哥原创:java 数独源码 - 台哥编程课堂
2010年,当时正在做手机游戏的客户端开发工作。 每天加班之余,用了两三个晚上,开发了这个数独。 主要是生成数独数组的算法,有点难度。。 如下图:点选数字栏里的数字后,界面上所有该数字会高亮显示。 鼠标点击还空着的格子,可以把该处赋值为该数字。 如果点选的是0,鼠标点哪个格子,会把哪个格子清空。
2019-05-24T01:03:00Z
2019-05-24T01:03:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】2010年,当时正在做手机游戏的客户端开发工作。 每天加班之余,用了两三个晚上,开发了这个数独。 主要是生成数独数组的算法,有点难度。。 如下图:点选数字栏里的数字后,界面上所有该数字会高亮显示。 鼠标点击还空着的格子,可以把该处赋值为该数字。 如果点选的是0,鼠标点哪个格子,会把哪个格子清空。 <a href="https://www.cnblogs.com/chaohi/p/10915966.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10868363.html
台哥原创:java五子棋源码(人机对弈) - 台哥编程课堂
最近整理以前的代码,发现一些项目还不错,发出来展示下,嘿嘿。 第一个,就是我的五子棋,这是当初学习java编程做的第一个项目。 算起来已经有12年了,后面对源码做了几次重构完善,清爽了很多。 有三种大小的棋盘可以设置,人机对弈,有悔棋的功能。 程序运行的截图如下: 对源码有兴趣的同学可以
2019-05-15T03:27:00Z
2019-05-15T03:27:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】最近整理以前的代码,发现一些项目还不错,发出来展示下,嘿嘿。 第一个,就是我的五子棋,这是当初学习java编程做的第一个项目。 算起来已经有12年了,后面对源码做了几次重构完善,清爽了很多。 有三种大小的棋盘可以设置,人机对弈,有悔棋的功能。 程序运行的截图如下: 对源码有兴趣的同学可以 <a href="https://www.cnblogs.com/chaohi/p/10868363.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10782259.html
java游戏开发杂谈 - 游戏物体 - 台哥编程课堂
现实生活中,有很多物体,每个物体的长相、行为都不同。 物体存在于不同的空间内,它只在这个空间内发生作用。 物体没用了,空间就把它剔除,不然既占地方,又需要花精力管理。 需要它的时候,就把它造出来,不需要它的时候,就把它销毁。 按照面向对象的设计思想,游戏里的物体,我们也把它定义为一个类。 一个类就定
2019-04-28T01:54:00Z
2019-04-28T01:54:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】现实生活中,有很多物体,每个物体的长相、行为都不同。 物体存在于不同的空间内,它只在这个空间内发生作用。 物体没用了,空间就把它剔除,不然既占地方,又需要花精力管理。 需要它的时候,就把它造出来,不需要它的时候,就把它销毁。 按照面向对象的设计思想,游戏里的物体,我们也把它定义为一个类。 一个类就定 <a href="https://www.cnblogs.com/chaohi/p/10782259.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10773608.html
java游戏开发杂谈 - 有限状态机 - 台哥编程课堂
在不同的阶段,游戏所运行的逻辑、所显示的界面,都是不同的。 以五子棋举例,游戏开始、游戏中、胜负已分,对应的界面和逻辑都不同。 在游戏中,又分为:自己下棋、对方下棋、游戏暂停、悔棋等多个状态。 再比如RPG游戏的人物,站立、行走、奔跑、攻击、死亡都是不同的动画, 发出一颗子弹,从出现,到往前运动、打
2019-04-26T04:20:00Z
2019-04-26T04:20:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】在不同的阶段,游戏所运行的逻辑、所显示的界面,都是不同的。 以五子棋举例,游戏开始、游戏中、胜负已分,对应的界面和逻辑都不同。 在游戏中,又分为:自己下棋、对方下棋、游戏暂停、悔棋等多个状态。 再比如RPG游戏的人物,站立、行走、奔跑、攻击、死亡都是不同的动画, 发出一颗子弹,从出现,到往前运动、打 <a href="https://www.cnblogs.com/chaohi/p/10773608.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10766790.html
java游戏开发杂谈 - 线程 - 台哥编程课堂
线程,让游戏拥有了动态变化的能力。 java的图形界面,在启动的时候,就开始了一个线程。 这个线程负责处理:JFrame、JPanel等的绘制、事件处理。 它是由操作系统调用的,在程序启动时开启,程序关闭时消亡。 这个线程里执行的逻辑,支撑着图形框架的基础逻辑,我们无法控制它。 想一下,游戏里那些动
2019-04-25T02:27:00Z
2019-04-25T02:27:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】线程,让游戏拥有了动态变化的能力。 java的图形界面,在启动的时候,就开始了一个线程。 这个线程负责处理:JFrame、JPanel等的绘制、事件处理。 它是由操作系统调用的,在程序启动时开启,程序关闭时消亡。 这个线程里执行的逻辑,支撑着图形框架的基础逻辑,我们无法控制它。 想一下,游戏里那些动 <a href="https://www.cnblogs.com/chaohi/p/10766790.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10766687.html
java游戏开发杂谈 - 界面刷新、坐标系 - 台哥编程课堂
之前几篇博客里的例子,大家运行过的话,就能看出来,界面是需要刷新的。 JPanel里的绘制方法是paintComponent,界面上的东西都是这个方法画出来的。 JPanel对象有一个repaint方法,从字面意思大家也看的懂,这个是重绘方法。 可以粗浅的这么认为:每调用一次repaint,就会执行
2019-04-25T02:15:00Z
2019-04-25T02:15:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】之前几篇博客里的例子,大家运行过的话,就能看出来,界面是需要刷新的。 JPanel里的绘制方法是paintComponent,界面上的东西都是这个方法画出来的。 JPanel对象有一个repaint方法,从字面意思大家也看的懂,这个是重绘方法。 可以粗浅的这么认为:每调用一次repaint,就会执行 <a href="https://www.cnblogs.com/chaohi/p/10766687.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10697985.html
java游戏开发杂谈 - 实现游戏主菜单 - 台哥编程课堂
经常玩游戏的同学,大家都知道,游戏都会有个主菜单,里面有多个菜单选项:开始游戏、游戏设置、关于游戏、退出游戏等等,这个菜单是怎么实现的呢。 有一定桌面软件开发基础的同学可能会想到,用JButton组件就可以实现,每个选项就是一个按钮嘛。 嗯,这样做是可以的。但是,系统自带的JButton按钮,样式是
2019-04-12T08:11:00Z
2019-04-12T08:11:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】经常玩游戏的同学,大家都知道,游戏都会有个主菜单,里面有多个菜单选项:开始游戏、游戏设置、关于游戏、退出游戏等等,这个菜单是怎么实现的呢。 有一定桌面软件开发基础的同学可能会想到,用JButton组件就可以实现,每个选项就是一个按钮嘛。 嗯,这样做是可以的。但是,系统自带的JButton按钮,样式是 <a href="https://www.cnblogs.com/chaohi/p/10697985.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10697986.html
java游戏开发杂谈 - 事件处理 - 台哥编程课堂
大家都知道,游戏需要跟玩家交互,需要接收玩家的鼠标、键盘发出的命令,比如在地图上点击一下,人物就自动寻路走过去;键盘上按下某个键,就弹出一个背包界面。 这些逻辑是怎么处理的呢? 大家先不用深究太详细的,只需要知道,当我们按下键盘时,操作系统会接收到指令,然后把指令传递给java虚拟机,java虚拟机
2019-04-09T07:18:00Z
2019-04-09T07:18:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】大家都知道,游戏需要跟玩家交互,需要接收玩家的鼠标、键盘发出的命令,比如在地图上点击一下,人物就自动寻路走过去;键盘上按下某个键,就弹出一个背包界面。 这些逻辑是怎么处理的呢? 大家先不用深究太详细的,只需要知道,当我们按下键盘时,操作系统会接收到指令,然后把指令传递给java虚拟机,java虚拟机 <a href="https://www.cnblogs.com/chaohi/p/10697986.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10697987.html
java游戏开发杂谈 - 画布和画笔 - 台哥编程课堂
在Eclipse里,编写如下两个类: 运行效果,如下图所示: 窗体JFrame,表示操作系统的一个窗口,可以想象成绘画用的画板。 画布JPanel, 用来放到JFrame中,可在上面作画,可以想象成绘画用的画纸。 画笔Graphics, 用来绘画,提供了一些最基础的绘制方法。比如drawRect绘制
2019-04-02T04:22:00Z
2019-04-02T04:22:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】在Eclipse里,编写如下两个类: 运行效果,如下图所示: 窗体JFrame,表示操作系统的一个窗口,可以想象成绘画用的画板。 画布JPanel, 用来放到JFrame中,可在上面作画,可以想象成绘画用的画纸。 画笔Graphics, 用来绘画,提供了一些最基础的绘制方法。比如drawRect绘制 <a href="https://www.cnblogs.com/chaohi/p/10697987.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10697988.html
java游戏开发杂谈 - 创建一个窗体 - 台哥编程课堂
在Eclipse里编写如上代码,运行,就会出现一个窗体,如下图所示: 窗体,就是游戏运行的环境,把它看作一个容器,或者一个舞台。 游戏里的各种人物、物体,都会在这里出现、接受指令、完成动作。 笔者曾经是一名游戏程序员,这系列文字是几年前写了发在放鹤亭BBS上的。现在重新整理出来,希望带给更多的jav
2019-04-02T02:47:00Z
2019-04-02T02:47:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】在Eclipse里编写如上代码,运行,就会出现一个窗体,如下图所示: 窗体,就是游戏运行的环境,把它看作一个容器,或者一个舞台。 游戏里的各种人物、物体,都会在这里出现、接受指令、完成动作。 笔者曾经是一名游戏程序员,这系列文字是几年前写了发在放鹤亭BBS上的。现在重新整理出来,希望带给更多的jav <a href="https://www.cnblogs.com/chaohi/p/10697988.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/chaohi/p/10697989.html
java游戏开发杂谈 - 游戏编程浅析 - 台哥编程课堂
每个游戏,你所看到的它的一切,都是计算机画出来的! 地图是画出来,人物是画出来的,树木建筑是画出来的,菜单按钮是画出来的,滚动的文字、闪烁的图标、云雾烟火,都是画出来的。 游戏编程,所要做的,就是控制程序,在什么时间,界面上画出什么东西! 大多数游戏,需要不断的重新绘制,以达到动态的效果。比如植物大
2019-03-27T08:17:00Z
2019-03-27T08:17:00Z
台哥编程课堂
https://www.cnblogs.com/chaohi/
【摘要】每个游戏,你所看到的它的一切,都是计算机画出来的! 地图是画出来,人物是画出来的,树木建筑是画出来的,菜单按钮是画出来的,滚动的文字、闪烁的图标、云雾烟火,都是画出来的。 游戏编程,所要做的,就是控制程序,在什么时间,界面上画出什么东西! 大多数游戏,需要不断的重新绘制,以达到动态的效果。比如植物大 <a href="https://www.cnblogs.com/chaohi/p/10697989.html" target="_blank">阅读全文</a>