随笔分类 - 非主流玩一玩
1
摘要:对于所有类似斗地主这种卡牌类游戏,其实游戏思路都是差不多的。先判断出牌是否是‘有效牌型’,若是,再判断该牌型的权重值用来比较大小。本篇文章将介绍如何实现一个斗地主的卡牌游戏引擎,洗牌、发牌、牌型检查并比较大小。核心代码比较完整,后面给了一个GUI的demo,完成了洗牌、发牌、选牌出牌,牌型检查,但是
阅读全文
摘要:0 - 有没有觉得Linux标准终端界面输入输出枯燥无味? 1 - 什么?vmstat命令的输出数据不直观?有没有想过能够可视化该命令的输出? 2 - 尝试过用浏览器操作Windows中的cmd吗? websocketj可以解决以上所有问题,让你随时随地通过浏览器访问任何平台上的应用程序。 webs
阅读全文
摘要:目录 介绍 API分类 使用‘视觉’API完成的Demo 点击直接看干货 介绍 从3月份Google家的阿尔法狗打败韩国围棋冠军选手李世石,到之后微软Build2016大会宣布的“智能机器人”战略。种种迹象表明未来慢慢会进入“人工智能”时代,人工智能不再像以前那样听起来高大上,普通的码农屌丝也能开发
阅读全文
摘要:目录概述字符串表达式解析图像绘制函数作为属性赋值参考以及说明概述本篇博客主要是在上一篇《每个人都该懂点函数式编程》的基础上,进一步说明“函数”在函数式编程中的重要作用。强调了函数和普通类型一样,可以赋值、存储、传参以及作为另外函数的返回值。本文附带了一个Demo,该Demo可以将任意字符串函数表达式...
阅读全文
摘要:目录一个问题函数式编程中的函数数学与函数式编程混合式编程风格一个问题假设现在我们需要开发一个绘制数学函数平面图像(一元)的工具库,可以提供绘制各种函数图形的功能,比如直线f(x)=ax+b、抛物线f(x)=ax²+bx+c或者三角函数f(x)=asinx+b等等。那么怎么设计公开接口呢?由于每种行数...
阅读全文
摘要:目录介绍解决思路问题一:点与线段的关系问题二:线段与线段的关系问题三:点与多边形的关系问题四:线段与多边形的关系总结源码介绍最近项目中要用到有关几何(Geometry)方面的知识,程序需要判断给定的一条线段(Segment)与指定多边形(Polygon)的位置关系。这种关系分为三种:多边形包含线段、...
阅读全文
摘要:说明:1.本演示稿对函数式编程仅能起到“概念解释”级别上的作用,可能连“入门”都算不上。如需学习函数式编程,可以选择一门函数式编程语言进行全面学习;2.鉴于我们很少(几乎没有)接触函数式编程,本演示稿中的代码统一使用C#模仿;3.作者学习过F#,但对其他函数式编程语言无了解。4.了解一种新的编程范式...
阅读全文
摘要:上一篇博客介绍了函数式编程中的基础知识:1)什么是编程范式;2)编程函数与数学函数的关系。 上篇文章介绍了函数式编程属于声明式编程范式中的一种,它仿照数学概念中的公式演算去解决问题,是一种更接近数学语言的编程方式。并且我们知道函数式编程中所有的函数都是“纯函数(Pure Function)”,...
阅读全文
摘要:编程范式(Programming paradigm) 编程范式指我们在编写程序解决问题的思路和视角。它提供了同时也决定了程序员对程序运行的看法。计算机编程中存在许多编程范式,如命令式编程、声明式编程、面向对象编程以及结构化编程等等。其中面向对象编程范式认为程序是由一系列相互作用的对象组成,而结构化...
阅读全文
摘要:上一篇博客中介绍了怎样使用socket访问web服务器。关键有两个:熟悉Socket编程;熟悉HTTP协议。上一篇主要是通过socket来模拟浏览器向(任何)Web服务器发送(HTTP)请求,重点在浏览器端。本篇博客则反过来讲一下怎样使用socket来实现Web服务器,怎样去接收、分析、处理最后回复...
阅读全文
摘要:最开始我们需要明白一件事情,因为这是这篇文章的前提:HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的。因此,浏览器访问Web服务器的过程必须先有“连接建立”的发生。而有人或许会问:众所周知,HTTP协议有两大特性,一个是“无连接”性,一个是“无状态”性。这里的“无连接”岂不是跟上面的...
阅读全文
摘要:关于如何将地球经纬度坐标系统转换成程序中常用到的平面2D坐标系统,网上的文章很多,参考http://www.cnblogs.com/beniao/archive/2010/04/18/1714544.html(本文图1 图3来自此处).谷歌地图采用的投影方式为“墨卡托投影法”(维基百科网址http:...
阅读全文
摘要:在使用需要授权的软件时,注册付费的目标是软件的使用者,我们开发人员平时用到的一些第三方组件也是需要授权付费的,也就是说,付费者是开发人员,并不是系统(使用了该第三方组件)的最终使用者。以上两者的区别如下图:图1本篇文章介绍.net中怎样开发需要授权的第三方控件(组件),既然授权对象是开发者,不是最终...
阅读全文
摘要:阅读本篇博客之前需要了解VS窗体设计器的工作原理,详细可参见本系列博客(十)、(十一)、(十二)。必须需要知道的一条结论就是:处于窗体设计器(Form Designer)中的任何组件(包含控件,下同),都是实际存在的一个实例。也就是说,拖进去的button1,其实就是实例化一个Button控件。通常...
阅读全文
摘要:在很多场合,我们需要在已有软件程序上增加一些新的功能,几乎所有原因是因为原有软件功能不能满足我们的需要,我们平时做的插件就属于这种情况,最常见的是VS IDE的插件开发,网上老外写的一篇关于插件开发的文章,很详细(网址)。如果我们要给一个已有软件扩展新的功能,一般我们必须知道原有软件提供给二次开发人...
阅读全文
摘要:上一篇博客详细讲到了设计时(DesignTime)和运行时(RunTime)的概念与区别,不过没有给出实际的Demo,今天整理了一下,做了一个例子,贴出来分享一下,巩固前一篇博客讲到的内容。 简单回顾一下:组件有两种状态,即设计时和运行时,组件存在设计器中时,它就处于“设计时”;组件存在运行过...
阅读全文
摘要:设计时和运行时的概念网上的中文资料很少,如果不是做第三方组件开发的或者跟设计器开发有关的,几乎用不到这些概念。为了迎合之前几篇博客,我想有必要说一下它两的概念和区别,以及用在什么地方。博客好久没更新,比较忙。首先,我个人认为“设计时”和“运行时”是针对组件而言的(包括控件),也就是说,一个组件可以处...
阅读全文
摘要:我前面一篇博客讲了自定义窗体设计器,其实功能太简单,主要想阐述的是底层原理(虽然我不保证VS IDE设计器确实是那样去实现的)。编程讲究的是刨根问底,刨到祖坟最好,这篇或者可能以后几篇博客我想说一下VS IDE中的窗体设计器,虽说不能面面俱到,但也能让大家知道个大概。初学者可能阅读起来有些困难。其实...
阅读全文
摘要:其实本文标题说得有点大,一个窗体设计器包含的功能实在是太多而且非常复杂,网上有很多地方也讲到这方面的内容,不过基本上都是E文,http://www.codeproject.com/Articles/24385/Have-a-Great-DesignTime-Experience-with-a-Pow...
阅读全文
摘要:虽然标题为“动态编译”,其实本文包含两个部分,一个就是标题说的动态编译源代码,另外一个应该是动态生成源代码。也就是说,在.Net中可以存在这样一种情况:在程序运行期间,由程序控制动态生成一份源代码(Source Code),然后再编译该源代码,生成一个新的程序集,紧接着再加载生成的程序集,最后运行。...
阅读全文
1