Crates.io | momoden-password |
lib.rs | momoden-password |
version | 0.1.0 |
source | src |
created_at | 2022-11-11 07:17:05.807266 |
updated_at | 2022-11-11 07:17:05.807266 |
description | NES Momotarou Densetsu (J) password library |
homepage | https://github.com/taotao54321/momoden-password |
repository | https://github.com/taotao54321/momoden-password |
max_upload_size | |
id | 712710 |
size | 106,959 |
パスワードとゲーム状態の相互変換を行う。
//! パスワード「ふ」をロードする。
use momoden_password::*;
fn main() {
let password = Password::parse("ふ").unwrap();
let bytes = SerializedBytes::from_password(&password);
if let Some(savedata) = bytes.to_savedata() {
// 生のセーブデータ(装備インデックスが不正なまま)を出力する。
println!("raw: {savedata:?}");
// 実際にロードされるセーブデータ(装備が変化した後)を出力する。
let savedata_norm = savedata.normalize();
println!("normalized: {savedata_norm:?}");
} else {
// チェックサムが一致しない場合、to_savedata() は失敗する。
println!("checksum mismatch");
}
}
//! パスワード「ふ」をロードした直後の状態をパスワード化する。
use momoden_password::*;
fn main() {
// パスワード「ふ」をロードし、実際にロードされるセーブデータを得る。
let password = Password::parse("ふ").unwrap();
let bytes = SerializedBytes::from_password(&password);
let savedata = bytes.to_savedata().unwrap();
let savedata = savedata.normalize();
// このセーブデータに対応するパスワードを得る。
// (パスワード「ふ」で始めてすぐ神主に話しかけたときのパスワードと一致するはず)
let bytes = SerializedBytes::from_savedata(&savedata);
let password = bytes.to_password();
println!("{}", password.display_pretty());
}
GPLv3