首页 > 其他分享 >0240-RLTK-生成小房间

0240-RLTK-生成小房间

时间:2024-08-16 16:26:29浏览次数:7  
标签:小房间 RLTK 0240 15 room mut 生成 map

环境

  • Time 2022-11-30
  • WSL-Ubuntu 22.04
  • RLTK 0.8.7

前言

说明

参考:https://bfnightly.bracketproductions.com/rustbook

目标

基于前一节的内容,生成两个小房间,只修改 map.rs 文件。

生成房间函数

fn apply_room_to_map(room: &Rect, map: &mut [TileType]) {
    for y in room.y1 + 1..=room.y2 {
        for x in room.x1 + 1..=room.x2 {
            map[index(x, y)] = TileType::Floor;
        }
    }
}

新地图

pub fn new_map() -> Vec<TileType> {
    let mut map = vec![TileType::Wall; 80 * 50];

    let room1 = Rect::with_size(20, 15, 10, 15);
    let room2 = Rect::with_size(35, 15, 10, 15);

    apply_room_to_map(&room1, &mut map);
    apply_room_to_map(&room2, &mut map);

    map
}

效果

生成小房间

总结

重新生成地图,在地图上生成两个小房间。

附录

标签:小房间,RLTK,0240,15,room,mut,生成,map
From: https://www.cnblogs.com/jiangbo4444/p/18363144

相关文章

  • 20240326 windows搭建k8s环境
    windows搭建k8s环境安装docker-desktop在界面中找到/设置/Resources/Advanced/Diskimagelocation,选择一个非C盘的目录利用minikube安装已经安装玩docker-desktop或者virtualbox参考文档minikube官方文档https://www.cnblogs.com/yumingkuan/p/16750618.htmlhttps://......
  • 20240110 windows安装make工具
    从https://sourceforge.net/projects/mingw/下载文件并安装安装后打开MinGW,依次选择如下3个红框的包,右键“Markforinstallation”勾选需要安装的包后,执行“installation/ApplyChanges”将c:\MinGW\bin\ming32-make.exe重命名为c:\MinGW\bin\make.exe将MinGW的......
  • 学习SSD—day1_20240814
    1.SSD的基本概念以及结构  SSD是一种以半导体(半导体闪存)作为存储介质吗,使用纯电子电路实现的存储设备。    SSD硬件包括几大组成部分:主控、闪存、缓存芯片DRAM(可选,有些SSD上可能只有SRAM,并没有配置DRAM)、PCB(电源芯片、电阻、电容等)、接口(SATA、SAS、PCIe等),其主体......
  • 20240815有名管道双端线程通信
    //端1#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<string.h>#include<pthread.h>#include<errno.h>#include<......
  • 0234-RLTK-创建主程序窗口
    环境Time2022-11-29WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook/chapter_1.html目标RLTK表示RoguelikeToolkit,随机游戏工具包,使用这个包创建一个主窗口。Cargo.toml[package]edition="2021"name="game"vers......
  • 0235-RLTK-渲染静态字符
    环境Time2022-11-29WSL-Ubuntu22.04RLTK0.8.7前言说明参考:https://bfnightly.bracketproductions.com/rustbook/目标渲染一个主窗口,并且在窗口上渲染一些静态的字符。Cargo.toml[package]edition="2021"name="game"version="0.1.0"[dependencies]rl......
  • 20240813:组合计数选做
    P3214[HNOI2011]卡农题意:\(m\)个集合,\(n\)种元素,求集合间互不相同且每种元素出现偶数次的方案数。题目等价于从\(1\sim2^n-1\)里选出\(m\)个不同的数,使他们异或和为\(0\)。不妨对每个数标号,由于互不相同,最后除以\(m!\)即可。设\(f_i\)表示前\(i\)个数异或......
  • 20240809-python实现TCP通信
    python实现TCP通讯1.0版本(备份)importsocketfromlogUtilsimportlogfromapiimportApidefhandle_client(client_socket,addr):log.info(f"客户端的ip地址和端口号:{addr}")try:whileTrue:#接收客户端发送的数据,这次接收数据的......
  • 20240808题解
    话说T2写了个动态树结果考场调不出来,这下大炮打蚊子了。森林(forest)题面:符合条件的森林中深度相同的点度数相同,\(1\lei\len\),求点数为\(i\)的符合条件的森林的种类数。题解:将森林中每一个根节点连到同一个节点上变成一棵树。令\(f(i)\)表示符合条件的树的种类数,那么\(f(i......
  • SSY20240805提高组T2题解
    题干描述题目描述给定一个长度为......