首页 文章 精选 留言 我的

精选列表

搜索[游戏安全],共10000篇文章
优秀的个人博客,低调大师

木兰编程语言重现:通过玩三岁游戏完善语言功能

某个号称三岁以上就可以玩的桌游,抽象之后的基本问题就是在一个区域中如何摆放三种形状(朝向随意)。 比如区域: 三种形状(短折,长折,一字),各种朝向如下: 这是迄今为止用木兰语言编写的最复杂的实用代码,包括一个递归搜索,长约 150 行,测试约 70 行。其中一个类如下: 细节和算法有很大改进空间,欢迎指教。 期间根据需要复现了木兰的如下功能: == 操作符重载 type 点 { func $点(横, 纵) { self.横, self.纵 = 横, 纵 } operator == (另一点) { return self.横 == 另一点.横 and self.纵 == 另一点.纵 } } 可指定函数返回类型 type Person { { name = "小白" } func $__init__(name) { self.name = name } } func shout(id): Person { return Person(id) } print(shout("Mulan1").name) 根据范围取子列表 比如 a[1:3], a[1:] 添加内置函数 集合(set)、断言(assert)、all、str/int 等等 代码统计 下面是几个主要部分的代码行数统计,格式为:两周前->本周。 测试 木兰测试用例:1228 -> 1590 运行测试.py,检验所有木兰测试代码片段:151 -> 154 未变 test语法树.py,确保生成的语法树与原始版本一致:67 实现:2130 -> 2183 分析器/语法分析器.py:916 -> 944 分析器/语法树.py,功用/调试辅助.py,包括对 ast 库的中文封装:284 -> 234 + 56 = 290 分析器/词法分析器.py:187 -> 190 环境.py,加载木兰模块:89 -> 97 中.py,主程序:35 -> 36 未变 演示高亮.py:100 功用/反馈信息.py:45 下一步 由于还有相当部分的木兰语言功能尚未补全,而实践证明编写较复杂实例的开销相对较大,于是打算首先尽快补完语言功能和测试用例。 现在个别语言功能上卡了壳(比如变长参数),主要是看不出如何使用。如果有兴趣并且对 Python 比较熟悉,欢迎一道研究。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册