【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中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

浅析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提供个模板形参的名