编程技术 - 军军小站|张军博客
Python

python实现五子棋人机对战游戏

本文代码基于python3.6和pygame1.9.4。五子棋比起我之前写的几款游戏来说,难度提高了不少。如果是人与人对战,那么,电脑只需要判断是否赢了就可以。如果是人机对战,那你还得让电脑知道怎么下。我们先从简单的问题来看。开端画棋盘首先肯定是要画出棋盘来,用pygame画出一个19×19或15×15的棋盘并不是什么难事,这在之前的文章中已经多次用到,就不赘述了。画棋子需要说一下的是画棋子,因为没找到什么合适的棋子图片,所以只要自己来画棋子。我们用pyg

系统 2019-09-27 17:48:42 2331

Python

python123测验9: Python计算生态纵览 (第5周)

单选题1以下选项不是Python网站开发框架方向第三方库的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬ADjangoBredis-pyCFlaskDPyramid正确答案:Bredis-py是redis数据的Python访问接口。2‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬

系统 2019-09-27 17:45:43 2331

编程技术

设计模式学习

组合模式:组合模式可以形象的比如成树,有叶子节点(Leaf),树枝节点(Composite),这两个节点都需要继承节点的属性(Component),这样用户使用起来才能达到透明性。且需要具备子节点的管理特点。子节点管理操作的不同可以分两种组合结构:子节点操作放在Component中观察者模式:观察者(Observer)模式又名发布-订阅(Publish/Subscribe)模式。GOF给观察者模式如下定义:定义对象间的一种一对多的依赖关系,当一个对象的状态

系统 2019-08-29 23:49:35 2331

编程技术

NetBeans 时事通讯(刊号 # 45 - Feb 18, 2009)

刊号#45-Feb18,2009项目新闻JavaFXSDK1.1现已发布,并可在NetBeansIDE6.5中使用!JavaFXSDK1.1将JavaFX应用程序带向了移动设备。SDK现在支持JavaFX移动版,并包括一个移动仿真器。NetBeansIDE是JavaFX的推荐开发环境。今天就下载用于JavaFX的NetBeansIDE,实际体验JavaFX移动版!(如果你已经安装了NetBeansIDE6.5,可使用IDE的“更新中心”来添加JavaFX1

系统 2019-08-29 23:33:49 2331

Android

Android 个人通讯录【安卓进化十四】

最近写数据库,我就自己写了个带密码的个人通讯录,感觉sqlite特别好用,和mysql,sqlserver都一样,真是简单的关系型数据库,注意:开启数据库,cursor后一定要记得关闭close()掉,避免浪费资源。另外adapter的notifyDataSetChanged()这个方法也特别好用,就是数据库更新的时候,调用一下,baseAdapter中的getview就会重新加载一遍,这样界面就会更新数据,而不用onCreate()方法来更新,另外可以把

系统 2019-08-29 22:46:07 2331

Java

Mina 高并发短连接导致java.io.IOException: To

转自:http://xmdxzyf.iteye.com/blog/1698819这几天在解决一个用mina开发的高并发通信过程中产生的一个bug。模拟场景为:通过定时触发启动线程模拟高并发短连接测试,测试的服务端有2个,一个是服务有起,一个没起,客户端和服务端均在同一服务器上。执行一段时间后linux主机上通过lsof命令查看,发现有递增的文件句柄,pipe和eventpoll。抛出的异常如下:Java代码2012-10-1310:09:48-org.ap

系统 2019-08-29 22:26:09 2331

编程技术

弹出框插件——dialog

基于jquery和dot.js弹出框插件,兼容IE6+等其他浏览器。思想:弹出框元素插入body节点中,并在页面垂直居中显示(fixed定位),触发确定和关闭事件绑定。注意ie6包含两个问题:一、select、flash不能遮罩,采用iframe。二、fixed属性采用滚动时重新计算高度或在样式中采用表达式计算expression。源码分析:1、creatHtml:采用doT.js初始化元素添加到body中;2、show:设置宽度,高度,居中显示;3、ev

系统 2019-08-29 22:15:24 2331

编程技术

利用一根网线将两台电脑关联起来

为了给客户演示,常常需要自己准备好网络环境,如果只有两台机器,而现场又没有网络环境,那么如何才能让这个演示网络环境搭建好呢?下面介绍一下自己使用的方法:1、用一根网线将两台机器连接起来2、将两台电脑固定的设定IP地址192.168.1.4/5255.255.255.0192.168.1.13、测试两台电脑相互Ping通如何让两台机器彼此之间共享资源?我自己测试的两台电脑分别是XP和WIN7,发现WIN7可以访问XP的共享文件夹,但是XP无法访问WIN7的共

系统 2019-08-29 22:10:44 2331

编程技术

婚宴酒店收集

酒店名称:四海凯悦地址:北京市朝阳区亚运村慧中北里105号电话:010-64886666价格:1280/1580/1880三种价位,不收场地费、开瓶费、服务费等附加费用,无最低消费面积:可摆25桌左右场地描述:大厅容量较大,宽敞、气派。设有专用的吧台,比较方便放置酒水饮料,有柱子但不会影响到主席台。(下面有图片)酒店提供:香槟塔、气球门、红地毯、水牌、舞台、化妆间、龙凤喜帐、喜字、气球、桌椅布置等音响灯光:设有专业的音响设备,提供免费的音响师;灯光效果也很

系统 2019-08-29 21:58:21 2331

编程技术

算法系列15天速成——第四天 五大经典查找【上】

在我们的生活中,无处不存在着查找,比如找一下班里哪个mm最pl,猜一猜mm的芳龄.......对的这些都是查找。在我们的算法中,有一种叫做线性查找。分为:顺序查找。折半查找。查找有两种形态:分为:破坏性查找,比如有一群mm,我猜她们的年龄,第一位猜到了是23+,此时这位mm已经从我脑海里面的mmlist中remove掉了。哥不找23+的,所以此种查找破坏了原来的结构。非破坏性查找,这种就反之了,不破坏结构。顺序查找:这种非常简单,就是过一下数组,一个一个的

系统 2019-08-12 09:29:45 2331

Android

【Android Developers Training】 21. 创建一个

注:本文翻译自Google官方的AndroidDevelopersTraining文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。原文链接:http://developer.android.com/training/basics/fragments/fragment-ui.html当你在设计你的应用时,为了支持不同的屏幕尺寸,你可以在不同的布局配置中重用你的fragment,以此在可用的屏幕空间上获得最优化的用户体验。例如,在一个手持

系统 2019-08-12 01:55:20 2331

编程技术

【第三章】 DI 之 3.1 DI的配置使用 ——跟我学

3.1.1依赖和依赖注入传统应用程序设计中所说的依赖一般指“类之间的关系”,那先让我们复习一下类之间的关系:泛化:表示类与类之间的继承关系、接口与接口之间的继承关系;实现:表示类对接口的实现;依赖:当类与类之间有使用关系时就属于依赖关系,不同于关联关系,依赖不具有“拥有关系”,而是一种“相识关系”,只在某个特定地方(比如某个方法体内)才有关系。关联:表示类与类或类与接口之间的依赖关系,表现为“拥有关系”;具体到代码可以用实例变量来表示;聚合:属于是关联的特

系统 2019-08-12 01:32:58 2331

编程技术

fancybox去除不受待见的水平滚动条

用fancybox在嵌套某个页面时,有时莫名其妙的会出现的消除不掉的幽灵般水平滚动条,如何去除:github上的解决方案:https://github.com/fancyapps/fancyBox/issues/24fancybox去除不受待见的水平滚动条

系统 2019-08-12 01:32:09 2331

Python

那么多人自学Python的后来都放弃了,总结起来就这些原因

目前信息化产业发展势头很好,IT就成为了很多普通人想要涉及的行业,因为相比于传统行业,IT行业涨薪幅度大,机会也多,所以就会大批的人想要转行来学习Python开发。市场上需要的Python人员非常多,而且按照现在的势头,以后会需要更多的Python开发人员,理由是以后每个人公司都会有自己的网站,有自己的开发部,对于用户体验看的非常重要。所以Python程序员就会很吃香。随时时间的推移,企业对于Python开发者的要求也在不断提高,互联网公司注重效率,所以不

系统 2019-09-27 17:52:17 2330

Python

Python CVXOPT模块安装及使用解析

Python中支持ConvexOptimization(凸规划)的模块为CVXOPT,其安装方式为:卸载原Pyhon中的Numpy安装CVXOPT的whl文件,链接为:https://www.lfd.uci.edu/~gohlke/pythonlibs/安装Numpy+mkl的whl文件,链接为:https://www.lfd.uci.edu/~gohlke/pythonlibs/之所以选择这种安装方式,是因为Python的whl和pip直接install

系统 2019-09-27 17:48:47 2330