总结

贪吃蛇系列之十一——总结

北城以北 提交于 2021-01-23 23:10:57
好了,在开始我们的总结之前,我们先来把上一个项目中的那个BUG修复了。修复的方法呢也很简单,我们在Snake类中添加一个方法,代码如下: /** * 判断蛇是否吃到了自己的身体 * @return 如果蛇吃到了自己的身体则返回true,否则返回false */ public boolean isEatBody(){ Body head = snakeBody.getFirst(); for(int i = 1; i < snakeBody.size(); i++){ Body body = snakeBody.get(i); if(head.x == body.x && head.y == body.y){ return true; } } return false; } 有了这个方法之后,我们在蛇的move()方法中添加进对这个状况的判断,如下: //判断蛇是否吃到了石头或者是自己的身体 if(isEatStone() || isEatBody()){ die(); } 那么至此,我们的游戏大体上就算完成了,最后呢,我修改了Snake.Body类中的drawMe的实现,使得我们的Snake有了一个红色的头,这个呢我就不贴代码了,大家看源代码吧,下面还是给一张我们最后完成的效果图: 这个项目呢,第一阶段呢我们就到这里结束了,上图呢就是最后一个项目运行后的截图了,呵呵,是不是很有爱呢

关于招聘和面试

和自甴很熟 提交于 2020-12-18 02:19:35
1.前言 不知不觉参加工作已经快三年了,本人有幸参加过公司的招聘工作,也面试了一些求职者,另外我自己也是从大学毕业面试开始找工作的,而且很可能在今后的职业生涯中还会面试很多人或者被人面试。应该总结一下自己关于招聘和面试了一些看法,欢迎大家拍砖。 2.关于面试 其实自己没有太多面试的经验,有两次可以可大家分享一下的,都是软件开发类职位的面试。 1.2011年4月9号,那是一个星期六,本人大四即将毕业。听说有一个招聘会,提前查了一下参加招聘会的企业,最后锁定了三家自己觉得比较适合我的职位,然后就开始疯狂google这些公司的前世今生,以备不时之需。到了现场之后就投了一家公司就直接回学校了,那是家台湾企业,招聘的人员一个是本地分公司的大boss和一个hr,boss看了我的简历,就立即给了我一个面试的机会,并且之后的面试也很顺利,得到offer。 总结: boss看过我的简历之后说了一句话我觉得非常关键:“你的简历写得很用心”。其实我的简历很简单,只有一页纸,排版还行,简历大概有两点可以说的吧。(1)标题为“XXX(姓名)+应聘+XXX公司的简历”,我想大部分同学的简历的标题可能只有两个字“简历”吧。(2)简历中的技能描述是根据该职位的招聘要求调整过。我的每一份简历都只针对某个职位特别优化过的,用心一点先给人家一个好印象,不管是否适合这个职位,起码看到简历之后印象分会好点。 2

IOS开发之UIView总结

蓝咒 提交于 2020-03-18 19:10:46
3 月,跳不动了?>>> 如果想调用某个类的某个方法可以写成这样,这个方法来自NSObject类 performSelector: performSelector:withObject: performSelector:withObject:withObject: 实际调用 [self performSelector:@selector(displayViews) withObject:nil afterDelay:1.0f]; 有三个方法分别是 //父视图 [self.view superview] //所有子视图 [self.view subviews] //自身的window self.view.window 循环一个视图下面所有视图的方法 NSArray *allSubviews(UIView *aView) { NSArray *results = [aView subviews]; for (UIView *eachView in [aView subviews]) { NSArray *riz = allSubviews(eachView); if (riz) { results = [results arrayByAddingObjectsFromArray:riz]; } } return results; } 循环返回一个APPLICATION里面所有的VIEW

Asp.net下C#调用Word功能的实例与总结

扶醉桌前 提交于 2020-03-02 06:41:24
本文通过一个实用例子完整演示了如何使用 C# 在 ASP.NET 里调用 Word 、自动化 Word ,并且总结了实际应用中发现的问题,最后提出了有效的解决方案。 关键词: ASP.NET; C#; Word; 自动化 ; VBA; COM; 死进程 ; 1. 建立工程 在 ASP.NET 里操作 Word 的第一步就是添加 COM 引用到你的工程里,通过右键点击 “ 解决方案资源管理器 ” 的 “ 引用 ” ,添加引用。选择 COM 选项卡,添加 Microsoft Word 12.0 Object Library (其中 12.0 是 Word 版本号,根据当前电脑上安装的 Word 版本确定)。 ASP.Net 会自动生成 Word 的 COM 包装类程序集添加到应用程序目录里。 2. 代码逻辑 在服务器端访问本地存在的 Word 文件 , 并根据他新建一个文件 , 利用 Word 的标签定位赋值。客户端浏览器通过文件链接访问到这个新生成的 Word 文件。 具体代码如下 : private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 object Missing = Type.Missing; // 取得 Word 文件路径 string strTemp = "doc

SublimeText2编辑器和它的插件小结一下

这一生的挚爱 提交于 2019-12-10 17:55:49
1:安装下下载SublimeText2编辑器,去官方网站下载,我是下载的win64的绿色版本。 地址: http://www.sublimetext.com/2 2:在控制台输入命令来安装插件安装工具: 调用控制台的快捷键:ctrl + 、(~) 这2组合键 命令:import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation' 记得回车 3:个人感觉窗口颜色不爽,果断的修改颜色: 找到自己的存放目录:Sublime Text 2\Data\Packages\Color

LLVM每日谈之十六 LLVM的学习感悟

不羁岁月 提交于 2019-12-10 06:20:24
这些总结并非我自己写的,而是摘自LLVM的版本比较老的文档中。因为老版本的文档已经鲜有人关注了,而这篇总结的非常好,到现在也很有用处,所以就把这部分内容贴出来了。这只是原文档的一部分。 原文档地址:http://llvm.org/releases/1.1/docs/Stacker.html 正文内容: Lessons I Learned About LLVM Everything's a Value! Although I knew that LLVM uses a Single Static Assignment (SSA) format, it wasn't obvious to me how prevalent this idea was in LLVM until I reallystarted using it. Reading the Programmer's Manual and Language Reference ,I noted that most of the important LLVM IR (Intermediate Representation) C++ classes were derived from the Value class. The full power of that simpledesign only became fully

《Linux内核分析》小节

老子叫甜甜 提交于 2019-12-09 22:17:37
笔者作为通信工程的学生,在学习这门课之前虽然会用Linux完成一些简单的任务,但却从没有接触过这个操作系统的内在之美。之前学完C语言的时候,就想认识这个神秘的Linux内核了,可是一直在数学建模和各种活动中抽不开身,学习的过程也是不得其法。直到我看到孟宁老师的《Linux内核分析》这门课时,我想我大概可以在二十年后吹牛了:“当年我大二,读Linux内核源码的时候.....” 只是在学习的过程中,没有找到合适的参考书,导致复习有些困难。到了第六、七周早早的把视频看完,周末想写博客的时候却记不起来了。与其参考别人的博文拼凑出一片,我觉得倒不如不写吧。 下面是学习这门MOOC的过程中写的6篇博文: 汇编一个简单的C程序 说到计算机,大家都知道现代计算机都是由冯诺依曼体系结构组成的,也就是储存程序计算机。让我先从它的工作模型说起。 通过一个简单的时间片轮转多道程序内核代码,分析linux操作系统 mykernel 是一个基于Linux 3.9.4的内核模拟程序,通过观察软件模拟的操作系统运行过程可以帮助我们理解操作系统的进程工作、调度机制。 跟踪分析Linux系统的启动过程 MenuOS是一个基于Linux 3.18.6内核的微型操作系统,本文使用gdb来观察系统的启动过程,至init进程被启动为止。 Linux下嵌入汇编代码调用API 在Linux系统下,我们不仅可以通过API

EasyUI中datagrid控件的使用总结

允我心安 提交于 2019-12-09 21:50:57
概述 上一篇文章EasyUI的使用总结主要介绍了首次使用EasyUI 如何操作,介绍了EasyUI控件的整体结构以及实践中的一些注意事项。 这篇文章主要介绍一些EasyUI中datagrid控件实际使用过程中的一些问题及技巧。在项目中最开始就是需要使用datagrid表格才引入EasyUI的。 Datagrid数据表格简介 数据表格以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。数据表格的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识。 效果图: 通过<table>标签创建数据表格控件。 < table class = "easyui-datagrid" id = "queryResultList" data-options = " striped:true,fit:true,singleSelect:false,pagination:true,pagePosition:'top',pageSize:50,pageList:[ 15,50,100 ],rownumbers:true,sortName:'id',url:' <%= actionUrl %> ?method=ajaxList /> ' " /> < thead >< tr > < th data-options = "field:'id',checkbox:true" align =

一篇偏激的项目总结和PPT——数据驱动型的网站开发的几个问题和讨论。

…衆ロ難τιáo~ 提交于 2019-12-07 07:45:34
所谓数据驱动型的网站,其实就是常见的 MIS 系统在 B/S 形式下的实现。 B/S 模式在 90 年年代末大量出现的时候,其主要特征是 Page-Based ,也就是基于页面的。因为 Html 技术的网站本身是一张一张的页面组成的内容展示工具。对于 MIS 系统的比较复杂的高速交互式的操作,用本质上不是非常兼容。 从 1995 年到 2005 年的十年间,所有人都在与两大不兼容问题进行斗争,编写了无数无任何意义的代码,尤其是以 Java 最为甚。 第一个不兼容是 ORM ,也就是关系对象映射, 95 年以后,是面向对象程序设计大行其道的时候, Java 也是标榜自己的原生的面向对象特质。但是, MIS 系统操作的数据,是关系型数据库,其存储在数据库中的数据形式,是以表为形式的。所以绝大多数 Java 的项目,都将表直接映射为一个对象,对象里面只有 get 和 set 方法,这种对象呗成为 POJO(Plain Old Java Object) ,也就是贫血的老旧的 Java 对象 , 然后所谓的海量的 DAO 代码,不断的将各种表对应到 POJO 的对象当中。 后来出现了 hibernate ,通过 xml 配置,将对象和表进行了所谓的快速绑定。 但是 hibernate 存在两个问题,导致其使用非常受限。 首先 hibernate 的性能极差,使用 hibernate 的

freemarker总结

我的未来我决定 提交于 2019-12-05 11:28:56
Freemarker 使用总结 FreeMarker模板文件主要由如下4个部分组成: 文本:直接输出部分 注释:<!-- …-->格式部分,不输出 插值:即${}或者#{}部分,使用数据模型中的部分替代输出. FTL指令:freemarker指定,和html标记类似,名字前加#予以区分,不会输出. 一. Freemarker指令规则 前面的#可以变为@, ,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改成@符号. FreeMarker会忽略FTL标签中的空白字符,值得注意的是< , /> 和指令之间不允许有空白字符. a) 开始标签<#directivename parameter> b) 结束标签</#directivename> c) 空标签:<#directivename parameter/> 二. Freemarker插值规则 a) 通用插值${expr}; i. 插值结果为字符串值:直接输出表达式结果 ii. 插值结果为数字值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.可以使用内建的字符串函数格式化单个插值 iii. 插值结果为日期值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.可以使用内建的字符串函数格式化单个插值 iv. 插值结果为布尔值:根据默认格式(由#setting指令设置