悄然无声的 Blog
不是我不明白,这世界变化快!
摘要: 一般学习模拟退火算法的时候,都是用全排列问题作为例子讲解,所谓全排列问题,就是说解的长度(或者步骤)是确定的,只不过排列顺序不同罢了,其中任何一种排列顺序都是问题的一个解,我们通过不断尝试不同的排列顺序,找到其中最优的一个。象TSP旅行商问题就是典型的全排列问题,所有的城市都是两两互联的,每个城市都要去一次(且只能去一次),先去那个后去那个,顺序不同只不过花费的代价不一样,但都是问题的一个解决方案。注意:任何一种排列都是问题的一个解。这是一种很好的特性,这种情况下,可以直接应用典型的模拟退火算法。模拟退火算法的核心就是对解的取舍。第一步:首先生成一个初始解。生成初始解的时候,你可以随机生成,也 阅读全文
posted @ 2011-05-17 23:03 左洸 阅读(3220) 评论(4) 推荐(3) 编辑
摘要: {{{wxPython 程序在调试过程中经常会出现这种情况:一个白色的窗口一闪就结束了,到底程序哪里出了问题根本看不清楚,而控制台窗口什么提示也没有。会出现这种问题是因为在 Windows 平台下 wxPython 会将输出流定向到一个默认的窗口中,如果我们想留住这个窗口看清里面的错误信息,在运行程序的时候可以加一个 i 参数,如下:python -i test.py但是大多数时候我们还是希望在控制台窗口里看见错误信息,毕竟控制台窗口比较简单,交互性强,为了达到这个目的,就需要重定向 wx.App 的输出。}}}{{{我们可以先看一下 wx.App 的构造函数:__init__(self,r 阅读全文
posted @ 2011-02-08 14:22 左洸 阅读(1382) 评论(0) 推荐(0) 编辑
摘要: 前面的笔记主要学习了 wx.Frame 的用法,在我们创建一个 Frame 的时候,总是要用到一个应用程序对象 wx.App ,每个程序中必不可少的两行代码是: 1、创建应用程序对象 wx.App() 2、开始主循环 app.MainLoop() 以前用 Delphi 或者 VB 的时候我们是看不到这个对象的(其实也有),我们一般都把窗体就当作了一个程序,其实窗体对象和应用程序对象还是有很大区别的,具体的区别要说起来比较复杂,简单说它主要有以下几个作用: 1、创建和管理消息循环,这个不用说了吧。 2、初始化程序进程,就是程序运行必要的一些资源。 3、缺省的事件处理 4、应用程序对象的其他一些属 阅读全文
posted @ 2010-12-25 22:42 左洸 阅读(1195) 评论(1) 推荐(0) 编辑
摘要: 前面几篇的学习笔记中,对 wx.Frame 已经有了一个大概的了解,wx.Frame 就是一个窗体框架,他有标题栏、有客户绘制区、有菜单条、有工具条、有状态栏、可以最大最小化、可以改变尺寸等等。 但是,这个 wx.Frame 窗体和 VB 、Delphi 、WinForm 等等的窗体有一点不一样的地方:一般情况下我们并不直接在窗体上放置控件。 如果你直接将控件放置在 wx.Frame 上,则控件的大小和位置设置都将不起作用,控件将充满整个 Frame 的客户区域,如果你放置两个按钮,则这两个按钮将共同填充整个客户区域。 所以,一般情况下,我们会先放置一个 wx.Panel 面板在 Frame 阅读全文
posted @ 2010-12-25 21:49 左洸 阅读(1208) 评论(0) 推荐(0) 编辑
摘要: 在前面的学习笔记中,我们已经学习过了wx.Frame 初始化函数的几个参数,现在来回顾一下,分别是:第一个参数 parent:父窗体的引用,如果没有则传入None;第二个参数 id:窗口的 id 号码,一般传入wx.ID_ANY;第三个参数 title:窗体的标题;第四个参数 pos:窗体的位置;第五个参数 size:窗体的大小;下面我们学习第六个参数 style:窗体的样式;窗体的样式默认值为 wx.DEFAULT_FRAME_STYLEwx.DEFAULT_FRAME_STYLE 其实是一些列值的组合,即wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX | wx.RESI 阅读全文
posted @ 2010-12-24 22:08 左洸 阅读(1212) 评论(0) 推荐(0) 编辑
摘要: “人生就是不断的做出选择”,在影视作品中,每当主角面对重大抉择或者感慨人生的时候,我们经常可以听到这句台词。园子里的很多朋友、特别是已过而立之年的朋友们,回首过往,一定也感慨甚多吧。有的人花费了巨大的努力、执着的坚持,兜了一大圈,却最终又回到原地,所获甚少;有的人抓住机会,正确选择,只需几步,就获得了他人难以企及的成就。 阅读全文
posted @ 2010-12-07 10:45 左洸 阅读(2280) 评论(6) 推荐(2) 编辑
摘要: 设定窗体的位置和大小 阅读全文
posted @ 2010-11-29 22:20 左洸 阅读(2206) 评论(0) 推荐(0) 编辑
摘要: 设置窗体标题 阅读全文
posted @ 2010-11-29 22:17 左洸 阅读(1005) 评论(1) 推荐(1) 编辑
摘要: 将窗体居中显示 阅读全文
posted @ 2010-11-29 22:13 左洸 阅读(1797) 评论(0) 推荐(0) 编辑
摘要: 自定义一个 Frame ,他继承自原始的 Frame,虽然还没有添加额外的功能,但是框架已经有了。 阅读全文
posted @ 2010-11-29 22:11 左洸 阅读(775) 评论(1) 推荐(0) 编辑
摘要: wxPython程序的基本结构 阅读全文
posted @ 2010-11-29 22:03 左洸 阅读(796) 评论(1) 推荐(0) 编辑
摘要: 这一次在上一篇程序的基础上增加了以下交互控制功能:1、键盘控制;2、开始、暂停;3、消除时候空行的停顿效果;4、随着消除行数的增多,速度加快;5、音效等等。可以看出,在数据模型抽象好的基础上,完成控制和图形接口是非常方便的。 阅读全文
posted @ 2010-10-18 18:19 左洸 阅读(3563) 评论(13) 推荐(7) 编辑
摘要: 要写一个俄罗斯方块小游戏,我们先来一块考虑一下下面几个问题:...... 如果你对上面几个问题思考,每一个答案都和界面、控件、平台有关的话,就是说假如你是用 .Net 的,你的每一个答案都是围绕着如何利用控件、如何使用窗体、在控件的哪个事件里面改变哪个属性等等,那么说明你被微软的 RAD 开发环境毒害的不浅,我建议你立刻扔掉 Visual Studio,改用其他轻量级的编程语言和开发平台,这样你可以更多的关注问题的本身,而不是控件。 阅读全文
posted @ 2010-10-17 22:42 左洸 阅读(3780) 评论(10) 推荐(7) 编辑
摘要: 原来以为象坦克大战、超级玛丽之类的小游戏,开始画面里面的砖块字是静态图片,现在才知道原来都是动态贴图贴出来的,下面用 HTML5 的绘图功能,咱也太做一个坦克大决战的开始画面,顺便研究一下点阵字 阅读全文
posted @ 2010-10-11 23:17 左洸 阅读(3183) 评论(3) 推荐(0) 编辑
摘要: 一、为什么选择 HTML5 HTML5 边玩边学算上这篇已经是第七篇了,在这篇开始之前,我想先说明一下为什么叫“HTML5” 边玩边学,因为有人对 HTML5 提出质疑,毕竟他是一个新生事物。我承认我用 HTML5 来吸引眼球了,如果看过边玩边学系列的每一篇,你会发现前六篇文章内容的和 HTML5 关系不是太大,真正的内容其实是 2D 图形图像编程的学习笔记。 如果我们想学... 阅读全文
posted @ 2010-10-08 00:11 左洸 阅读(3859) 评论(12) 推荐(3) 编辑