- 博客(171)
- 资源 (3)
- 收藏
- 关注
原创 关于游戏中服务端erlang寻路---AStar+直线
游戏介绍:一款可多人同屏的SLG, 每个玩家带自己的队伍在地图上寻路,确保数据丝毫不差,玩家看到的画面都是一致的~要求:同屏人数要求 20人,场景寻路单元20*5 + 怪物数量~~单场景极限150个单位思路:1、地图导成0~1文件,0不可走、1可走 2、起点----终点,计算直线是否可走,是:走直线;否:步奏3 3、精度设置5~8(自行决定)...
2019-07-11 15:38:53
789
1
原创 erlang实现简单麻将胡牌算法
%%%-------------------------------------------------------------------%%% @author li%%% @copyright (C) 2018, <COMPANY>%%% @doc%%%%%% @end%%% Created : 13. 四月 2018 13:37%%%----------------...
2018-04-28 15:49:27
706
1
原创 项目维护学习
centos 搭建erlang环境 http://www.linuxidc.com/Linux/2012-03/57663.htm 解决依赖的问题http://blog.youkuaiyun.com/clodfront/article/details/7930175 解决crypto问题http://blog.youkuaiyun.com/zhongruixian/article/details/21076405cent
2015-11-04 19:42:44
776
原创 erlang数据类型进程
typedef struct reg_proc{ HashBucket bucket; /* MUST BE LOCATED AT TOP OF STRUCT!!! */ Process *p; /* The process registered (only one of this and 'pt' is non-NULL */ Port *
2015-08-04 19:53:45
756
原创 erlang数据类型atom
闲来无事反看下Erlang 数据类型 atom 的结构/* * Atom entry. */typedef struct atom { IndexSlot slot; /* MUST BE LOCATED AT TOP OF STRUCT!!! */ Sint16 len; /* length of atom name (UTF-8 encoded)
2015-08-01 16:56:14
1907
转载 ubuntu 搭建 erlang 环境
新的ubuntu环境一定要先sudo apt-get update , 然后进行以下操作。。。搜索了很多资料都说到,如果库不全的话,编译安装的时候会报各种错误,所以我们站在巨人的肩膀上。首先,打好库:sudo apt-get install build-essential sudo apt-get install libncurses5-dev sudo apt-
2015-07-28 10:22:25
1038
转载 git使用
搭建git服务器的经验总结一: Server端的设置1. 安装 git, git-core2. 安装 ssh-server. (代码上传通道)3. 创建git 用户 指定其目录 和所在组4. 在git的home目录下创建 repo_name.git 目录5. 在git home 目录下 初始化repo_name.git 的服务器端裸仓库: git init --bare
2015-07-17 09:00:24
541
原创 架构配置笔录
分布式架构笔录本系统实现多个disc节点,多个ram节点,disc节点可以去除冗余数据,ram节点则加载所需数据,底层mnesia数据库全部透明,可以实现各个表的访问.配置注意事项{db_nodes,['p02_db_disc_1@192.168.1.145']},该节点为中心disc节点,所有子节点数据库升级都应遵循中心节点schema一致;{node_typ
2015-07-16 09:35:04
656
原创 erlang dict源码解析
-module(test_dict).-export([test/0, new/0, is_key/2, store/3, erase/2 ]).-define(seg_size, 16).-define(max_seg, 32).-define(expand_load, 5).-define(c
2015-02-11 17:18:25
1258
原创 erlang 实现geohash算法
需求:实现查找附近 200、 500、 1000米范围的好友关于 geohash 介绍 http://blog.youkuaiyun.com/pi9nc/article/details/11401679×× 这里忽略球面的误差,因为像千米之内的数据可以看作是二维平面扩展:将经度线和纬度线切割切割规则:按轮来解释吧第一轮 (-180, 0) 0 (0, 180)1第二轮 (-1
2015-01-29 16:14:23
1197
原创 关于erlang随机算法优化
不得不说用 erlang 写一些算法实现是给自己找抽。。。但游戏服务端选择使用erlang必能在其他方面占据优势,而我们能做便是把牺牲降低到最小需求:长度N的列表中,随机出M个不同的数值。网络上关乎随机算法就不介绍了,我使用也是网络上泛用的两个随机算法结合,互补优缺点。算法一:每次随机出一个值放到容器中,随机出的数,先去容器中找是否存在,有则抛弃并再次重复随机,无则存入容器算法
2015-01-24 15:34:34
1449
原创 在公司做的第一次技术分享
昨天接到一个需求,要维护一个上万级别的列表,要求实时的插入和查询时间得到最快,具体需求:100000次插入,每次插入一条数据(K - V),1000次查询,每次查询比K小的连续20条数据。拿到需求首先想到gb_tree,但是翻了一下gb_tree的源码,没有发现直接可使用的借口,于是自己模拟一个接口出来。最后实现的性能 LgN + Q*M , N是数据总量(100000), Q是
2015-01-13 15:58:00
2279
原创 java代码server
package Client;import java.io.Serializable;import Server.ObjectTypeInterface;public class ClientDataUserLogin implements Serializable,ObjectTypeInterface{ private static final long serialVersi
2014-06-21 21:28:08
1150
原创 java代码client
package Client;import java.io.Serializable;import Server.ObjectTypeInterface;public class ClientDataUserLogin implements Serializable,ObjectTypeInterface{ private static final long serialVersi
2014-06-21 21:20:26
1180
原创 OnlineJudge框架编写日志
..~2014/6/17 构建网络传输基本框架 需要的技术是:Socket网络基础,框架使用java封装的tcpip协议; java语言基础,提供出给用户的接口和服务端接口 遇到的问题: 远程通信,服务器的防火墙需要设置为允许状态 远程传输对象,需要本地和服务器使用相同路径的类,并且序列化号一样 实现异步通信,研究中。。。。2014/6/18 将网络框架做成通用的形
2014-06-21 21:14:41
1187
原创 my_bank
%% @author ping%% @doc @todo Add description to my_bank.-module(my_bank).-behaviour(gen_server).%%-export([start/0,stop/0,new_account/1,deposit/2,withdraw/2]).-export([start/0]).%%回调模块-export
2014-05-17 18:01:40
1274
原创 erlang服务器通用框架
%% @author ping%% @doc @todo Add description to server.%% erlang服务器通用框架-module(server).-export([start/2,call/2,cast/2]).start(Name,Mod)-> register(Name,spawn(fun()->loop(Name,Mod,Mod:init())en
2014-05-17 17:58:36
2752
原创 erlang一道笔试题
%% @author ping%% @doc @todo Add description to six.%%用erlang实现,将二进制数据转为16进制表示的字符串。%%比如输入>,返回"cc493e56" -module(six).-export([fan/1]).fan(Bin)-> Context = binary_to_list(Bin), lists:concat([
2014-05-17 17:55:16
1585
原创 mnesia数据库操作
%% @author ping%% @doc @todo Add description to mnesiaTest.-module(mnesiaTest).%% ====================================================================%% API functions%% =======================
2014-05-17 17:49:09
995
原创 聊天编程(群聊、私聊)
-module(gameClient).-compile(export_all).%%功能:启动客户端start() -> start_send().%%启动客户端发送消息功能%% 进程用于接收消息start_chat(UserId)-> spawn(fun() -> start_receive(UserId) end).%%功能:连接服务器(用于发送消息)start_se
2014-05-17 17:44:20
2164
原创 关于操作系统原理几个经典并发问题总结
读者与写者之读者优先问题1、如果一个写者进程正在修改数据,别的写者以及任何读者都不能访问该数据2、当一个读者正在读数据时,另一个读者也需要读数据,应允许第二个读者进入, 同理第三个及随后更多的读者都被允许进入3、现在假设一个写者到来,由于写操作是排他的,所以他不能访问数据,需要阻塞等待。 如果一直都有新的读者陆续到来,写者的写操作将被严重推迟信号量x 队列1:读者信号量w
2014-05-09 19:36:22
1674
原创 武汉笔试之旅
参加武汉腾讯笔试,吓尿了,人真心好多,身边的竞争对手差不多都是武大,武理工,中南、中科等等硕士,哎,又感叹一句如果我简历上的学历不是因为一不小心写成硕士,腾讯还会给我机会么。。。试题的好多题目很杂,有近一半数据结构、语言、算法题目,其他的都是各科的基础题,因为也是acm渣的出身,多少还是会一些。。。大公司笔试应该来说特别重视基础和算法类的题目。有道这样的题目升序的数组 a[n],向左移动K位
2014-03-30 13:17:59
1390
原创 数据简单处理
DEVICE_ID sum(BUSINESS_ID) CLIENT_ID+BUSINESS_ID101 46 16101 46 18101 46 28102
2014-02-27 07:38:32
979
原创 java之坦克大战(一)
package 坦克游戏第二版;import java.awt.*;import java.awt.event.*;import java.util.Vector;import javax.swing.*;public class TanKe extends JFrame{ MyPanel mp = null; public TanKe() { // TODO Auto-gene
2013-11-02 22:42:15
1247
原创 java之事件监听(三)鼠标监听
package 第一版;import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.MouseMot
2013-11-02 14:52:09
3541
原创 java之事件监听(二)键盘监听
package 第一版;import java.awt.*;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.Wi
2013-11-02 09:57:35
3160
原创 java之事件监听(一)按钮监听
package 第一版;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class draw3 extends JFrame implements ActionListener{ JBu
2013-11-02 09:54:36
14920
原创 java绘图技术(二)
package 第一版;import java.awt.*;import javax.swing.*;public class draw2 extends JFrame{ public draw2() { // TODO Auto-generated constructor stub MyPanel mp = new MyPanel(); this.add
2013-11-02 09:51:04
1120
原创 java绘图技术(一)
package 第一版;import java.awt.*;import javax.swing.*;import javax.tools.Tool;public class draw1 extends JFrame{ MyPanel mp = null; public draw1() { mp = new MyPanel(); this.add(m
2013-11-02 09:49:57
1650
原创 java 界面布局学习
package 图形;import java.awt.*;import javax.swing.*;public class frame1 extends JFrame{ JButton jb = null; public frame1(){ jb = new JButton("按钮"); // 新建按钮 this.add(jb); // 把按钮放入框体 this.set
2013-10-30 20:01:15
1261
原创 HashSet用法
package 容器类;import java.util.*; class A1{ private int a; public A1(int a){ this.a = a; } public int getA1() { return a; }} public class set1
2013-10-18 18:37:31
1029
原创 TreeSet自然排序
package 容器类; import java.util.*; class A3 implements Comparable{ private int a; public A3(int a){ this.a = a; } public int compareTo(Object o) { A3 a3 = (
2013-10-18 18:35:57
1102
原创 TreeSet定制排序之资料http://www.189works.com/article-52438-1.html
package 容器类; import java.util.*; class A3 implements Comparable{ private int a; public A3(int a){ this.a = a; } public int compareTo(Object o) { A3 a3 = (
2013-10-18 18:34:19
1644
原创 map的使用
package 容器类;import java.util.*;// 所有的用法请参考 Api 文档class Am{ private int a; public Am(int a){ this.a = a; } public int getA() { return a; }}public class map1 { public static void main(
2013-10-18 18:32:27
716
原创 HDU 2000 java中的char数组和排序函数的运用
import java.io.BufferedReader; import java.util.*; import java.io.Console; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import javax.swing.JOptio
2013-09-21 21:51:20
1609
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人