Akka边学边写(4)-- MiniRPG】的更多相关文章

前面几篇文章用Akka写了HelloWorld和EchoServer,为了更进一步学习Akka,本文将会实现一个非常小的RPG游戏server:MiniRPG. 游戏逻辑 由于是迷你RPG,所以逻辑非常easy.server能够处理四种操作:创建玩家.给玩家加经验.升级.查询玩家信息.以下是Player类的代码(Getters和Setters省略): public class Player { private int id; private String name; private int ex…
EchoServer 上篇文章里,我们用Akka写了一个简单的HelloWorld样例,对Akka(以及Actor模式)有了初步的认识.本文将用Akka写一个EchoServer,看看在Actor的世界里,怎样使用TCP协议. Github项目 照例.EchoServer的代码被放在了Github上.EchoServer比HelloWorld略微复杂一点,一共同拥有三个类.例如以下图所看到的: Main 这次先从主类入手: main()方法的第一行创建了一个Actor系统,名字为mySystem…
Akka Akka是什么呢?直接引用Akka站点上面的描写叙述吧: Akka is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on the JVM. 反正我认为Akka是比較难上手的,并且文档对于新手来说,也不太友好.本文会用Akka写一个Hello World程序,从这个程序入手,介绍Akka的一些基本概念. he…
Akka的IO层设计能够參考这篇文档,本文简介一下ByteString的设计. Immutable消息 Actor之间是通过消息沟通的.但为了避免同步问题,消息必须是Immutable. 因此.Akka无法使用byte[]或ByteBuffer.而是设计了ByteString来表示二进制数据.理解这一点非常重要,由于ByteString是不可变的.所以ByteString的非常多看似改动状态的方法实际上都是返回一个新的ByteString实例. 假设对String或BigInteger等Java…
说明:我是先上手做一些简单的例子,然后在尝试的过程中理解Django的原理,笔记也是按这个思路来的. 一.Django结构与基本文件介绍 1. django-admin.py 工程管理工具,主要用于创建项目和app等.例:django-admin.py startproject project_example会创建一个名为project_example的工程,目录结构如下:|-- project_example|    |--project_example|        |-- __init_…
①第一个网页 <h2>英雄联盟(电子竞技类游戏)</h2> <p><b>(英雄联盟)</b>(简称lol)是由美国<i>Roit Games</i>开发,中国大陆地区由腾讯游戏运营的网络游戏.</p> <p><b>(英雄联盟)</b>除了即时战略.团队作战外,还拥有一百多位特色各异的英雄,丰富的地图及玩法.自动匹配的战网平台.包括天赋树.召唤师系统.符文等元素.[<in…
作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域的工作原理.今天这篇文章对JavaScript作用域和作用域链简单的介绍,希望能帮助大家更好的学习JavaScript. JavaScript作用域 任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期.在JavaScript中,变量的作用域有全局作用域和局部作用域两种. 1.全局作用域(Global Scope…
上次我们在“懵 B”的状态下,聊了聊 Actor 模型的理论知识.稍微再补充两句,如上图所示在 Actor 模型系统中,主要有互不依赖的 Actor 组成(图中圆圈),Actor 之间的通信是通过消息来实现的,其中每个 Actor 都有一个 MailBox 来存储接收到的消息,每个 Actor 都维护着自己的状态. 说实话,聊 Actor 模型其实有点醉翁之意不在酒,项庄舞剑意在 Akka. Actor 模型还有点懵 B,又出来个Akka,这又是个什么玩意儿?估计你心里一直在犯嘀咕. 好了,不闲…
现在,我学了很长时间的C++,但是自己就是无法精通.许多知识是入门书上没有的.现在写C++最重要的就是风格问题. 我现在的C++风格: 把自己所有的东西都放在一个名称空间下. 没有全局的函数,有的函数没有定义在类中,就把这些函数全部放在一个名称空间中,把所有类外部的函数分类放在特定的名称空间中,有些特殊的类或者函数之是为其他的类或函数做服务,外部不需要他们的,只是内部使用的时候,就把他们放在叫Detail的名称空间中,防止名称空间污染. 类或函数遵循Pascal风格:开头大写,后面的每一个单词的…
大家好,这篇我开始学习函数了.先学 C 函数,然后再 OC 的吧.OC 应该复杂点的吧. 然后看看汇编情况哦! 学习函数呢,肯定要弄清楚几个事情. 1.跳转地址. 2.返回地址 3.参数 4.函数获取参数 5.返回值和如何返回 6.扫尾 我们开始了哦!1个个的突破!唉,这个学习笔记是一边学一边写,不知道到底能不能边写边突破呢.小马过河,试试吧.呵呵. 1.跳转地址.因为xcode默认反汇编的时候,并没有显示出机器码,所以这里,我们要用一个命令去显示:disassemble -fmb 我们发现这样…