【Rust日报】2019-09-06:文字RPG

2024-06-23 00:58
文章标签 文字 rust 日报 2019 06 09 rpg

本文主要是介绍【Rust日报】2019-09-06:文字RPG,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文字RPG

作者之前寫過 MUDdy 像MUD的純文字互動遊戲,但只是單機的 Read more

最近也用Rust寫了 RCRPG

Read more

這是一個 Rosetta Code 裡的題目,Rosetta Code是一個把基礎的程式問題用各種語言實作一遍的網站,大家有興趣也可以來幫忙Rust的實作更完整。

Read more

fastwfc-rs: libfastwfc 的 Rust 綁定庫

libfastwfc 是一個學術用波函數折疊的庫

目前還非常的小 codebase 也才400行 應該是可以直接用Rust快速重寫的庫

Read more

Iced 與渲染無關的GUI庫,專注於簡單與類型安全。參考Elm

640?wx_fmt=png

Read more

Texture Synthesis 材質合成補完的庫 來自 embark.games

這個團隊使用rust來開發各種功能,且用UE4開發他們的場景Demo, 非常厲害的團隊。

Read more github youtube

Fuzzcheck 針對Rust功能的覆蓋率提升工具

給定函數 Test:(T) - > Bool,它會試圖找到一個回傳false或導致崩潰的T類型的值。

比如你有個長的很醜的函數長這樣

extern crate my_library;extern crate fuzzcheck;
use fuzzcheck::fuzzer;extern crate fuzzcheck_input;
use fuzzcheck_input::integer::IntegerGenerator;
use fuzzcheck_input::vector::VectorGenerator;fn test(input: &Vec<u8>) -> bool {// property test goes hereif input.len() > 7 &&input[0] == 0 &&input[1] == 167 &&input[2] == 200 &&input[3] == 103 &&input[4] == 56 &&input[5] == 78 &&input[6] == 2 &&input[7] == 254{false}else {true}
}fn main() {let u8_gen = IntegerGenerator::<u8>::new();let vec_gen = VectorGenerator::new(u8_gen);let _ = fuzzer::launch(test, vec_gen);
}

然後去給他跑,他就跑出一個

NEW 180086 score: 493 pool: 48 exec/s: 132713 cplx: 79792

NEW 表示將新輸入添加到有興趣的輸入池中 180086 是到目前為止執行的迭代次數 得分:493 是池中所有輸入引起的總代碼覆蓋率的度量 pool:48 是池中的輸入數 exec / s:132713 是每秒執行的平均迭代次數 cplx:79792 是池中輸入的平均複雜度

最後他會找到return false的條件

================ TEST FAILED ================
188241  score: 495      pool: 51        exec/s: 132659  cplx: 81373
Saving at "./fuzz/fuzz_targets/target1/artifacts/1c10daa13e9b1721.json"

而這個1c10daa13e9b1721.json檔裡面會長這樣 [0, 167, 200, 103, 56, 78, 2, 254]

跟我們的程式碼條件一樣

input.len() > 7 &&
input[0] == 0 &&
input[1] == 167 &&
input[2] == 200 &&
input[3] == 103 &&
input[4] == 56 &&
input[5] == 78 &&
input[6] == 2 &&
input[7] == 254

Read more

rust 中哪個 protobuf庫 比較好用?

我有大量(1000+)個protobuf類型分佈在數百個不同的.proto文件中。

不知道有什麼庫可以一次幫這所有的 .proto 文件全部轉成 rust 宣告?

目前已經試過 prost, rust-protobuf 但感覺差強人意

prost的問題是沒辨法處理大量複雜相依的 .proto

rust-protobuf可以處理大量複雜相依的 .proto,但他發現一個問題發了一個PR但沒人理

他覺得這些專案的維護者是不是不想讓他們的庫愈來愈好?

Read more


From 日报小组 @Damody

日报订阅地址:

独立日报订阅地址:

  • Telgram Channel

  • 阿里云语雀订阅

  • Steemit

  • GitHub

社区学习交流平台订阅:

  • Rust.cc论坛: 支持rss

  • Rust Force: 支持rss

  • 微信公众号:Rust语言学习交流

这篇关于【Rust日报】2019-09-06:文字RPG的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085884

相关文章

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

Java第二阶段---09类和对象---第三节 构造方法

第三节 构造方法 1.概念 构造方法是一种特殊的方法,主要用于创建对象以及完成对象的属性初始化操作。构造方法不能被对象调用。 2.语法 //[]中内容可有可无 访问修饰符 类名([参数列表]){ } 3.示例 public class Car {     //车特征(属性)     public String name;//车名   可以直接拿来用 说明它有初始值     pu

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

linux中使用rust语言在不同进程之间通信

第一种:使用mmap映射相同文件 fn main() {let pid = std::process::id();println!(

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm