Slitherlink数回.zip
用WxPython开发的数回(Slither Link)小游戏,带有自动求解功能!
左键点击是连接或取消连接,右键点击是锁定或取消锁定该连接的状态,如果已被连上则加粗,如果是空白则打上红叉,表明被连接的状态是确定的
重点是自动求解功能。相信大家也不会真用这个软件玩数回,不过如果遇到了实在解不出的数回,可以把盘面输入到这个游戏中(修改levels.py文件,一看就明白了),然后点下solute……
开发这个游戏的本意是设计一个自动求解数回的算法并验证,顺便学习一下python的界面开发。前前后后折腾了一个月,总算搞定了。
如有兴趣了解,可看我的blog。https://blog.csdn.net/whycadi
特别注意,需要wxpython库!
AES加密算法学习笔记+代码
本人学习AES加密算法所写的学习笔记,同时还包括了本人学习过程中用Python语言编写的AES加密程序,该程序不考虑效率,为了便于学习,完全按照文档描述的过程来实现,并编写了大量注释。
另外附一个从网上下载的C++版本的代码,以及AES的英文版规范
TComm串口类for CBuilder6
原来本人上传过一个串口类,虽然能用,不过后来发现有点小bug,所以又改了改。为表以前发表带bug的程序的歉意,这次就免分了。
自编的一个BCB的串口类,使用超级简单,当然功能也超级简单,支持10以上的串口,只支持全双工。不过对于大多数的使用情况来说是足够了。编这个的目的是由于自己下载的串口控件基本上都实现了太多的功能,弄得代码很复杂,不容易分析,本着能用就够和简单最美的原则,同时也为了学习串口编程,自己编了一个串口类。自己在几个程序中用着还挺好的。 该串口类就两个.cpp文件和他们的头文件 (TComm.cpp,TCommThread.cpp),使用超级简单#include "TComm.h"TComm Comm=new TComm(this); //生成串口类if(Comm) Comm->fCommReceived=&ReceiveFunc; //你的接收处理函数Comm->Open(1); //打开你要用的串口,可以填数字,也可以填“com1"等名称,建议填数字,可以支持超过10的数字Comm->SetComm( 波特率,字长,校验位,停止位 );//校样位0为无,1为奇,2为偶//好了,可以发数了Comm->SendData(data,leng);当收到数的时候会调用你的接收处理函数,比如ReceiveFunc(TComm *Comm){ char buf[256]; int len; if((len=Comm->GetReceivedCount())!=0){ len=Comm->ReadComm(buf,len); }}最后使用完后记得关串口喔 Comm->Close();上传的文件是一个包含有测试例子的项目,很简单的,看一看就明白了。
cygwin的ioperm源代码和windows下使用其控制io的例子
Windows下面要控制IO是很麻烦的,我发现有人把Linux下的ioperm给移植到了windows下面,使用它来控制io就很简单了。只不过在网上没找到怎么在windows下面使用的说明,只能自己看了看例子,发现还是很简单的。于是就自己根据它的例子编了个小程序,原来的代码在C++ Builder下面不能直接编译成功,折腾了一天,总算搞定了。它的使用实在是简单,大家一看例子就明白了。大家可以直接把例子里面的函数拿来用,改改端口地址就可以使用到自己的程序里了。
TComm串口类
自编的一个BCB的串口类,使用超级简单,当然功能也超级简单,支持10以上的串口,只支持全双工。不过对于大多数的使用情况来说是足够了。编这个的目的是由于自己下载的串口控件基本上都实现了太多的功能,弄得代码很复杂,不容易分析,本着能用就够和简单最美的原则,同时也为了学习串口编程,自己编了一个串口类。自己在几个程序中用着还挺好的。<br><br> 该串口类就两个.cpp文件和他们的头文件 (TComm.cpp,TCommThread.cpp),使用超级简单<br>#include "TComm.h"<br>TComm Comm=new TComm(this); //生成串口类<br>if(Comm) Comm->fCommReceived=&ReceiveFunc; //你的接收处理函数<br><br>Comm->Open(1); //打开你要用的串口,可以填数字,也可以填“com1"等名称,建议填数字,可以支持超过10的数字<br>Comm->SetComm( 波特率,字长,校验位,停止位 );//校样位0为无,1为奇,2为偶<br>//好了,可以发数了<br>Comm->SendData(data,leng);<br><br>当收到数的时候会调用你的接收处理函数,比如<br>ReceiveFunc(TComm *Comm){<br> char buf[256];<br> int len;<br> if((len=Comm->GetReceivedCount())!=0){<br> len=Comm->ReadComm(buf,len);<br> }<br>}<br>最后使用完后记得关串口喔<br> Comm->Close();<br>上传的文件是一个包含有测试例子的项目,很简单的,看一看就明白了。