现在位置: 首页 > 编程语言 > 文章
2019年06月08日 编程语言 ⁄ 共 1044字 评论关闭
带权随机在游戏开发中重度使用,各种抽奖和爆装备等. 运营根据需要来配置各个物品出现的概率. 今天要说的这个带权随机算法思想很简单,就是"把所有物品根据其权重构成一个个区间,权重大的区间大.可以想象成一个饼图.  然后,扔骰子,看落在哪个区间," 举个栗子,有个年终抽奖,物品是iphone/ipad/itouch. 主办方配置的权重是[('iphone', 10), ('ipad', 40), ('itouch', 50)]. 用一行代码即可说明其思想,即random.choice(['iphone']*1...
阅读全文
2019年06月08日 编程语言 ⁄ 共 1496字 评论关闭
在游戏开发的过程中频繁的需要跟时间相关的做处理,而python内置了好多个时间处理库,datetime/date/time/calendar/timedelta等,细节繁多略具迷惑性。很多东西不够便捷直接。 想一下下面这些场景: 2014年六一儿童节那天的时间戳是多少? 2014年六一儿童节那天是星期几? datetime对象转成字符串后面往往带小数点,即微秒,而我存到数据库是不需要微秒的,怎么搞? 从配置中读取、网络中传输、数据库存储获取到的时间信息是...
阅读全文
2019年06月07日 编程语言 ⁄ 共 5575字 评论关闭
Like the idea of working on large scale problems? We’re hiring talented engineers, and would love to chat with you – check it out!     Note: Concurrency, as defined in this article, is the same as it is for The C10k problem: concurrent clients (or sockets). At Urban Airship we recently published a blog post about scaling beyond 500,000 concurrent socket connections. Hitting these numbers was n...
阅读全文
2019年06月07日 编程语言 ⁄ 共 4386字 评论关闭
1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表 void foo(...); void foo(parm_list,...); 2:函数参数的传递原理 函数参数是以数据结构:栈的形式存取,从右至左入栈.eg: 先介绍一下可变参数表的调用形式以及原理: 首先是参数的内存存放格式:参数存放在内存的堆栈段中,在执行函数的时候,从最后一个开始入栈。因此栈底高地址,栈顶低地址,举个例子如下: void func(int x, float y, char z); 那么,...
阅读全文
2019年06月07日 编程语言 ⁄ 共 5698字 评论关闭
 int printf(const char *format,[argument]);   format 参数输出的格式,定义格式为:   %[flags][width][.perc] [F|N|h|l]type   规定数据输出方式,具体如下:   1.type 含义如下:   d 有符号10进制整数   i 有符号10进制整数   o 有符号8进制整数   u 无符号10进制整数   x 无符号的16进制数字,并以小写abcdef表示   X 无符号的16进制数字,并以大写ABCDEF表示   F/f 浮点数   E/e 用科学表示...
阅读全文
2019年06月06日 编程语言 ⁄ 共 5140字 评论关闭
参数处理-Shell传入参数的处理 1. $# 传递到脚本的参数个数 2. $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个 3. 脚本运行的当前进程ID号 4. $! 后台运行的最后一个进程的进程ID号 5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数 6. $- 显示shell使用的当前选项,与set命令功能相同 7. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 变量 含义  $0 脚...
阅读全文
2019年06月04日 编程语言 ⁄ 共 7958字 评论关闭
over(Partition by...) 一个超级牛皮的ORACLE特有函数。 天天都用ORACLE,用了快2年了。最近才接触到这个功能强大而灵活的函数。真实惭愧啊! oracle的分析函数over 及开窗函数 一:分析函数over Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组只返回一行。  下面通过几个例子来说明其应用。                                    ...
阅读全文
2019年06月02日 编程语言 ⁄ 共 5434字 评论关闭
python 的日志logging模块学习 目录(?)[+] 简单的将日志打印到屏幕 通过loggingbasicConfig函数对日志的输出格式及方式做相关配置 将日志同时输出到文件和屏幕 logging之日志回滚 通过loggingconfig模块配置日志 logging是线程安全的 1.简单的将日志打印到屏幕   import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message'...
阅读全文
2019年06月01日 编程语言 ⁄ 共 7241字 评论关闭
一、fork入门知识      一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。     一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆...
阅读全文
2019年06月01日 编程语言 ⁄ 共 8562字 评论关闭
============================ 大多数程序和库在编译时默认的优化级别是"2"(使用gcc选项:"-O2")并且在Intel/AMD平台上默认按照i386处理器来编译。 如果你只想让编译出来的程序运行在特定的平台上,就需要执行更高级的编译器优化选项,以产生只能运行于特定平台的代码。 一种方法是修改每个源码包中的Makefile文件,在其中寻找CFLAGS和CXXFLAGS变量(C和C++编译器的编译选项)并修改它的值。 一些源...
阅读全文