首页 » 软件开发

C++实战项目:坦克大战(三)

       战场范围  之前我们的坦克从战场的一边走出之后会从另一边重新进入战场。这样不符合我们游戏的定义。我们需要把它们改成遇到战场边就不能再继续向前走了。  主战坦克  修改MainTank.cpp中的Move方法...阅读全文 »

2016年12月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

C++实战项目:坦克大战(二)

       这一篇中,我们继续继续进行我们的坦克大战。 位置信息数据结构  在游戏设计过程中,需要记录大量的位置信息,如果仅仅使用(x,y)坐标很容易出错。这一篇中,我们先定义两个简单的数据结构用来保存点和矩形的信息。 在项目中新建Model目录,创建下面四个文件:... 这个头文件创建了一个Point类,有两个成员变量m_x,m_y用来记录一个点的横、纵坐标。阅读全文 »

2016年12月13日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

C++实战项目:坦克大战(一)

       对坦克大战情有独钟是因为大学时候第一次参加程序设计比赛就做的这个游戏。当时用的语言是Java,那个比赛让我悟出了面向对象的强大之处,我也是从那时开始接触设计模式的。对我而言,坦克大战有着非同寻常的意义,所以一定要带大家用C++实现一下。 知识准备 建议大家先看看面向对象编程的三个重要特性,之后再来学习后面的内容。 代码分享 这个项目中的代码会在GitHub上发布,里面的每一个分支对应着简书中的每阅读全文 »

2016年12月7日
作者:鸡啄米 分类:软件开发 浏览: 评论:8

三层架构和MVC那点事儿

       据说在上个世纪40年代, 有个叫IBM的公司宣称, 全世界只需要5台计算机就够了! 当时的人们肯定预料不到未来蓬勃发展的PC, 更想不到人们对计算有着多么大的需求。 那时候电脑是一个称为 哑终端 的东西, 这个东西可怜到只能用来发送、接收和显示字符, 不能安装程序, 没有复杂的交互, 即使是这样, 还只能是少数人有机会去使用。 但是,这个哑终端和一个无所不能的庞然大物相连接阅读全文 »

2016年12月5日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

手机移动端HTML5 Canvas的幸运大奖盘特效

       这是一款基于jquery和HTML5 Canvas的幸运大奖盘特效。该幸运大奖品特效支持移动端,它通过动态构造Canvas元素来生成大奖盘,并通过jquery代码来随机获取奖品。 使用方法 HTML结构 抽奖用的大转盘使用图片来制作,开始时它们被隐藏。整个抽奖大奖盘放置在一个容器中,控制容器的大小即可以控制奖盘的大小。阅读全文 »

2016年11月28日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

详解PHP的执行原理和流程

       简介 先看看下面这个过程: 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的; PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口); PHP总共有三个模块:内核、Zend引擎、以及扩展层; PHP内核用来处理请求、文件流、错误处理等相关操作阅读全文 »

2016年11月23日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

十几年程序员生涯带给我的几点感悟

       眼瞅着毕业快15年了,15年间从一个刚毕业的菜鸟,成长为技术骨干,做到架构师的职位,回头看看,当年听取亲戚的一句话,误入计算机行业,看来并没有走错,编程虽然枯燥辛苦,但是如果真的感兴趣,你就能体会到其中的乐趣,并且获得可观的回报。 1.好奇心  刘慈欣在《朝闻道》中描绘过这么一个情节:在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些阅读全文 »

2016年11月18日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

为Java说几句公道话

       有些人问我,在现有的语言里面,有什么好的推荐?我说:“Java。”他们很惊讶:“什么?Java!” 所以我现在来解释一下。 Java超越了所有咒骂它的“动态语言” 也许是因为年轻人的逆反心理,人们都不把自己的入门语言当回事。很早的时候,计算机系的学生用Scheme或者Pascal入门,现在大部分学校用Java。这也许就是为什么很多人恨Java,瞧不起用Java的人。阅读全文 »

2016年11月14日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

看前端技术趋势 展望前端未来

       让我们先看看一些技术亮点~~。 前端在可见的未来 Vue.js ,如果你在使用Vue.js,那么你更应该找到相当的自信了,现在它已经被列入了评估期了。Vue.js是一个简单易上手的框架,并且相当的轻量,在最近的这段时间里,它发挥得相当的出色。 可惜,宝宝现在在用Angular.js 和 Angular 2,毕竟我现在是开发混合应用的。阅读全文 »

2016年11月9日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

用JS写一个连连看小程序

       思路 1. 决定内容区域的大小和图片种类数量 图片应该放多少行,多少列。必须是偶数 整个区域应该是在图片外多围上一圈,也就是行数和列数都应该比图片的多1  放多少对图片,一对两张。注意对数不能超过所有图片总数  2. 根据行列数来创建两个必要的数组  一个数组保存所有小格子的行数和列数 阅读全文 »

2016年11月8日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

我用 Python 写了一个颜色色值转换的小工具

       需求说明  公司的 UI 设计小哥,已经转用 Zeplin 很久了。Zeplin 的设计稿展示页面的颜色色值使用十进制的 RGB 表示的,在 Android 中的颜色表示大多情况下都需要十六进制的 RGB 表示。我的数学没有好到直接看到十进制就可以心算得到十六进制的结果,所以我需要一个工具,输入十进制的 RGB ,得到十六进制的色值,最好可以方便复制。 Zeplin 的颜色色值显示示例阅读全文 »

2016年10月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

让人回味的Java踩坑之路

       本文来自博友biakia,学习Java这些坑似乎都遇到过,看他是怎样坎坷前行的。 陆陆续续学Java也快一年多了,从开始的一窍不通到现在的初窥门径,我努力过,迷茫过,痛过,乐过,反思过,沉淀过。趁着新年,我希望能把这些东西记下来,就当是我一路走来的脚印。  一、初识网站应用  记得第一次接触Java,是写一个小网站,当时用servlet+tomcat做服务端,数据库是mysql。阅读全文 »

2016年10月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

为何很多互联网公司弃C#转向Java?

       从我之前的一些博客文章看,大家也能知道之前是一个微软技术栈的程序员,也就是主要C#,.net MVC的东东,后来换了工作,算是国内的一二线的一些互联网公司,所以在技术方向和储备上都有一些调整,开发语言也慢慢跳出微软技术栈,工作中使用了其他 的开源开发语言,新项目基本是开源语言,框架也使用了不少,所以就.net 和 类java一样的开源语言框架都有一定的了解阅读全文 »

2016年10月24日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

Mysql InnoDB引擎的锁和隔离机制那些事儿

       对于DB来说,经常会面对并发问题,但是开发的时候DB总是能很好的解决并发的问题。那么面对并发DB是怎么进行控制的呢?之前一段时间总是对Mysql的锁机制概念十分模糊,什么时候加锁?加什么锁?锁住之后会是怎么样? 需要明确的点 首先,锁是为了解决数据库事务并发问题引入的特性,在Mysql中锁的行为是和mysql隔离机制有关的,毕竟锁是用来解决DB的隔离性和一致性的。并不是任何操作都是需要加锁的,读操阅读全文 »

2016年10月14日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

再来重新认识JavaEE完整体系架构

       JavaEE是一套使用Java进行企业级Web应用开发的大家一致遵循的工业标准。 JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。 相较于Microsoft的.NET,Sun公司的Java*E和一系列标准、技术及协议更接近或更满足互联网在智能化Web服务方面对开放性、分布性和平台无关性的要求。阅读全文 »

2016年10月12日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

写个微信小程序项目练练手

       学会一项开发技能最快的步骤就是:准备,开火,瞄准。最慢的就是:准备,瞄准,瞄准,瞄准……  因为微信小程序比较简单,直接开撸就行,千万别瞄准。 功能介绍 功能比较简单,调用了百度ApiStore的接口即时查询空气质量。 我计划多加一些功能,争取把微信小程序提供的功能全用一遍。阅读全文 »

2016年10月10日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

编程语言间的战争

       1 桌面时代  古老的C 王国从1972诞生以后, 一直都非常强大, 这里的臣民对它又爱又恨, 因为它的法律允许它的臣民直接操作内存,执行效率极高, 但是又对内存分配回收不管不顾,全部扔给子民们去处理。  其实纯粹的C语言还是比较简单的, 只要你能真正的搞懂指针是怎么回事 , C++诞生以后,在C的基础上又加入了面向对象, 泛型编程等“时髦”概念阅读全文 »

2016年9月28日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

Javascript父子窗口相互操作取值赋值的方法

       JS子父窗口互相操作取值赋值的方法介绍,需要的朋友可以参考一下 $("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx_x("父窗口元素ID"); 取父窗口的元素方法:$(selector, window.parent.document); 那么你取父窗口的父窗口的元素就阅读全文 »

2016年9月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

C/C++面试中碰到这种字符串指针的题你能得几分

       许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者可从本文看到 strcpy函数从2分到10分解答的例子,看看自己属于什么样的层次。此外,还有一些面试题考查面试者敏捷的思维能力。阅读全文 »

2016年9月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:2

说说Javascript闭包这点事

       其实关于闭包各个论坛社区里都有很多的文章来讲它,毕竟闭包是JavaScript中一个特色,也正因为这个雨中不同的特色也让闭包理解起来有一些吃力。笔者在这里不仅仅是想介绍闭包,也向列举一些笔者所见过的一些闭包,如果有读者还有一些比较经典的闭包例子,希望可以在评论区里留一下,谢谢。 说了半天,究竟什么是闭包呢?  闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。阅读全文 »

2016年9月19日
作者:鸡啄米 分类:软件开发 浏览: 评论:0