Skip to content

Instantly share code, notes, and snippets.

View aoxu's full-sized avatar

Ao Xu aoxu

View GitHub Profile
@aoxu
aoxu / coc_1.md
Created January 12, 2013 11:08 — forked from xatest/coc_1.md

#Clash of Clans攻略(一):关键数值的意义

##引言 前段时间对Clash of Clans做了一些游戏策划上的分析,我决定逐篇形成文字公开出来,给新手玩家做个指引,少走点弯路。我的本职工作与游戏策划无关,写此文时我的级别是30级,所以水平有限,多多指教。我不想写过于基础的攻略——有哪些资源,哪些建筑,哪些兵种——这种教程网上一搜一大把。

##关键数值 在游戏主界面上显示的5个数值,无疑是最重要的,分别是等级、奖杯、金币、水、宝石。下面说每个数值代表了什么样的宏观意义。

1. 等级(经验值)

等级代表了整体的建筑水平。经验值有4种输入(增加)途径,按增加的效率排序,1是建造/升级建筑,2是领取成就,3是给同部落盟友送兵,4是去掉地图上的石头/植物(一般叫除草)。其中第1种的增加效率远高于后3种,可以说经验值主要就是通过建造建筑贡献的,反过来经验值也就代表了整体的建筑水平。

@aoxu
aoxu / coc_2.md
Last active September 4, 2018 14:01 — forked from xatest/coc_2.md
Clash of Clans攻略(二):进攻、奖杯与天梯~

#Clash of Clans攻略(二):进攻、奖杯与天梯~ ##引言 防守可以单写一篇来介绍,本篇只谈进攻。进攻与奖杯,奖杯与天梯又密切关联,所以本篇将会一起介绍。

##进攻类建筑 限制村庄发展速度的第一因素是时间,如果你不购买Builder(或者说Builder数量固定),那么第二因素——资源就是你最大的瓶颈。资源的最快获取方式是进攻掠夺。可以说,在所有建筑当中,进攻建筑决定你的发展速度。
上一篇说过,进攻能力主要取决于你的进攻建筑水平,这是大背景。这个道理很自然,比如你的Camp上限总共只有100人口,就不可能有200人口的兵力。所以每次升本(Town Hall)之后,第一件事就是升级进攻类建筑。 进攻类建筑有4种:

  1. 兵工厂(Barracks)。兵工厂至少要有1个升到顶级的,这样才能造高级兵。
@aoxu
aoxu / coc_3.md
Last active November 2, 2016 13:48
Clash of Clans攻略(三):防守~

#Clash of Clans攻略(三):防守~ ##引言 防守的很多技巧是跟进攻密不可分的,从进攻的过程中学习别人的防守技巧,会有助于改善自己的防守。

##防守类建筑

  1. 加农炮(CANNON)。单体攻击,只能对地,攻击力和射程中规中矩。面对人海战术时比较无力,适合补刀。
  2. 箭塔。单体攻击,对地对空,攻击力与加农炮差不多,但是射程很远。适合扩展防守范围,以及防气球流。
  3. 主炮(MORTAR)。溅射攻击,只能对地,攻击力较高,射程最远(比箭塔还远1格)。适合主力输出。
  4. 魔法塔(也叫巫师塔)。溅射攻击,对地对空。攻击力高,射程很短。适合贴身守护核心。成本较高。
  5. 防空塔。单体攻击,只能对空。攻击超高!适合主力对空。
// return < 0 invalid
// return ==0 not complete
// return > 0 the complete size
inline int checkComplete(void* buf, size_t len)
{
if(len <= 16/*head len*/)
{
return 0; // not complete
}
@aoxu
aoxu / apnp_add.txt
Last active December 11, 2015 08:09
此文件用于添加东哥@cosbeta APNP中的域名白名单,可以直接复制粘贴。原理是比较东哥的白名单与地下铁路的白名单,将地下铁路多出来的部分提取出来。
265.com,2mdn.net,adnxs.com,adroll.com,adsonar.com,adtechus.com,aipai.com,atdmt.com,betrad.com,bluekai.com,cctv*.com,china.com,compete.com,douban.fm,etao.com,fantong.com,fastcdn.com,gamesville.com,google-analytics.com,harrenmedianetwork.com,homeinns.com,img.cctvpic.com,invitemedia.com,ipinyou.com,irs01.com,irs01.net,jing.fm,jysq.net,ku6cdn.com,kuaidi100.com ,legolas-media.com,live.com,lxdns.com,lycos.com ,lygo.com ,mangocity.com,mathtag.com,mediaplex.com,mediav.com,mlt01.com,mookie1.com,mosso.com,pixlr.com ,ptlogin2.qq.com,pubmatic.com,qstatic.com,quantserve.com,scanscout.com,scorecardresearch.com ,serving-sys.com ,sina.com,sinahk.net,sinajs.com ,snyu.com,staticsdo.com,sttlbb.com,tremormedia.com,tudouui.com,vizu.com,wrating.com ,xiu.com,yieldmanager.com,youshang.com,
@aoxu
aoxu / sumBalance.js
Created March 18, 2013 08:16
用于在现金明细表中自动求余额。这是用于Google Drive里电子表格(Spreadsheet)的脚本,使用Google Apps Script编写,类似于JavaScript。
function sumBalance() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
for (var i = 2; i <= numRows; i++) {
var rowSum = 0;
for (var j = 2; j <= i; j++) {
rowSum = rowSum + sheet.getRange(j, 8, 1, 1).getValue();
}
@aoxu
aoxu / evernote_file.md
Created March 28, 2013 05:55
Evernote备份答疑

你的问题比较多也比较专业,里面存在一些误区,我给你一一回复:

  1. 在任何操作系统上,文件的大小和打开速度是无关的,因为打开文件只是获取一个句柄。如果感觉慢,一定是程序打开文件后自动开始读取内容,需要读取的内容越多才越慢,如果打开后不自动读文件,就不会慢,很多支持打开上G文件的文本编辑器都是采用了这样的设计。Evernote在笔记有变更后,会建立本地索引,索引是为了读取和搜索更快。在Evernote启动后都会自动读取索引,索引的体积很小,但是显然也是随着笔记数增长的。如果启动不读取索引,会导致你之后的读取和搜索速度慢得无法接受。所以目前的设计已经是比较快速的了。
  2. 至于“单文件损坏无法分摊风险”。这里有很多错误。首先你的备份方式就不对,Evernote已经提供了合理的备份方式,应该是用菜单里的文件 - 导出,生成.enex文件,这种格式才是备份文件。你说的.exb是Evernote程序使用的数据库文件,这个文件的设计目的并不是用于备份和恢复,一般来说对用户是隐蔽不可见的。隐蔽的原因就是不希望用户直接使用这个文件,也不用关心这个文件。直接去覆盖这个文件导致的风险是不可控的,Evernote没办法为这样的操作负责。其次导出的时候是有很多种粒度可选的,你可以导出所有笔记,也可以分笔记本导出(就是你想要的一个笔记本一个文件),甚至只导出一条笔记,只需要在想导出的对象上点右键 - 导出。最后单文件损坏的风险不可控,这里问题的主要原因在于FAT32文件系统的单文件体积限制不能超过4G,不止是Evernote,任何程序都无法突破这个限制。可以做到的是分多个文件存储数据,这个Evernote需要考虑如何改进,因为涉及到更换数据库类型,变动比较大。
  3. 备份只能用覆盖,这个在第2点已经解释了,你可以选择分笔记本备份。我推荐一个自己长期实践的方式,就是使用Dropbox备份。我自己的备份习惯是,每个月导出所有笔记到一个.enex文件,然后按日期命名,不覆盖以前的文件(我不清楚你为什么一定要覆盖),例如Evernote_20130101.enex。然后全部到存放到Dropbox里,自动上传,上传完了之后删除掉前一个备份文件,始终只占用一个文件的空间。不管是删除还是覆盖操作,Dropbox都会保存文件的历史版本,随时可以回溯恢复,所以空间不够的话可以放心删除。而且Dropbox不限制单个文件的大小,多大的文件都可以上传
layout title description category tags
post
《打造Facebook》读书笔记

##Move fast and break things. 快速发布,允许出错。Facebook的这句标语要分两部分来看。
天下武功,唯快不破,敏捷开发是工程师的基本修养,并不仅仅是写代码写得很快,其中的核心是运用迭代来管理开发,我认识的很多工程师都没有真正理解敏捷开发的管理方法,初级工程师很容易陷入到纯粹的技术问题上,而对一些思想和管理方法没有了解,导致层次仅限于人们常说的“码农”。

#已知的短板 ##AWS 扩展性
##游戏服务器框架优化

  • 使用glog作为日志库,方便排查问题
  • 优化多进程锁机制,降低load(csw),提高单机性能
  • 多线程worker,提高单机性能
  • 替换IOCP模型,更大的并发量
  • 支持状态/场景

#根据游戏需求

@aoxu
aoxu / git.md
Last active December 17, 2015 00:19
git clone --depth 1 git://github.com/dualface/quick-cocos2d-x.git
cd quick-cocos2d-x
git clone --depth 1 git@github.com:dualface/cocos2d-x.git lib/cocos2d-x
git submodule add git@github.com:dualface/cocos2d-x.git lib/cocos2d-x