Skip to main content

A respawn simulator framework

Project description

Respawn Simulator

Developed by N0P3

have fun : )

1.0.4

  • Events类现在增加了新的构造参数:

    • empty_event_properties dict[str,int] 便于设定空事件的数值影响
    • default_rise str 设定事件组的默认数值上升提示文本,如果增加的事件没有设定提示文本则使用此提示文本
    • default_decline str 设定事件组的默认数值下降提示文本,同上
  • Events.god_choose()

    • character参数现在可以置空,所有事件都将视为完全达到发生条件。可以通过调整权重影响概率
    • 现在支持新的参数no_space bool来保证返回事件一定不为空事件(除非没有可发生的事件)
    • density参数现在默认为最大,只接受负数值,表示密度下降
    • 算法优化,消除了事件加入顺序带来的影响,事件密度更灵敏
  • 修正了部分注释问题

1.0.3

  • GodChoose()函数现在是Events的一个方法,Events.god_choose(character,density=100)并增加了density参数用于控制事件密度
  • Events类现在增加了get() set()方法,便于从指定事件取值和修改指定事件
  • 现在Events和Events可以直接合并 events3=events1+events2 这将会使events2的空事件被忽略
  • 事件支持新参数rise和decline设定数值变化提示文本

简述

重生模拟器框架,可以用来写各种由属性主导的随机事件游戏。

  • 如果属性是智力,幸福,财富等可以写常规的重生游戏
  • 如果属性是氧气,辐射,温度等可以写类生命线游戏《Lifeline》
  • 如果属性是人口,气象,人均生存资料消费,人均享受资料消费等可以写模拟市长
  • 如果属性是高度,土壤养分含量,土壤含水量等可以写重生之我是一棵树(?)、
  • 还可以创建多个角色,每个玩家设置初始属性,看谁活到最后。《幸运方块》
  • 或者创建多个角色共用一套属性:送星际快递坠毁在火星,四人小分队共用氧气,食物等,随机事件导致某些角色死亡影响后续事件
  • ......
  • 计算工作交给框架,创造你的故事吧。

开始使用

待更新...

DEMO

# main.py
import msvcrt

from RespawnSimulator import event, character, property

from test_events import main_events # 从test_events.py中载入main_events (你也可以从表格或是数据库中读入)

ppts = {
    "health": property.Property("健康", 50, 0, 120),
    "face": property.Property("魅力", 10, 0, 100),
    "happiness": property.Property("幸福", 50, 0, 100),
    "_line_pc": property.Property("拥有电脑", 0, 0, 2), # 下划线开头是隐藏属性 此处_line_pc充当一个开关
    "_age": property.Property("年龄", 0, 0, 100), 
    "_die": property.Property("死亡", 0, 0, 1)
}


player = character.Character("Redshirt", ppts)

goon = True
while goon:
    print(player.get("_age"), "岁")
    eid = main_events.god_choose(player) # 上帝掷骰子
    if eid == 0:# 如果发生空事件就增加1岁跳过循环
        player.change("_age", 1)
        continue

    print(main_events.get(eid, "name")) # 显示事件名
    print(main_events.get(eid, "description")) # 显示事件描述
    
    main_events.happen(eid,player) # 让事件发生
    player.show() # 显示角色属性
    player.change("_age", 1) # 年龄+1
    if player.get("_die") > 0 or player.get("health") <= 0 or player.get("_age") >= 100:
        goon = False
    msvcrt.getch()
print(player.Name, " 人生结束") # 可以在这里写人生总结
# test_events.py
from RespawnSimulator import event

main_events = event.Events("主线", "没有事件发生", "平安度过一岁..")
main_events.append("自然老死", "活得够久了",
                   {
                       "_age": (70, 101),
                       "health": (50, 101)
                   },
                   {
                       "_die": 1
                   }, 100
                   )
main_events.append("病死", "非常不幸",
                   {
                       "_age": (70, 101),
                       "health": (0, 50)
                   },
                   {
                       "_die": 1
                   }, 100
                   )
main_events.append("死神来了", "无处可逃",
                   {
                       "_age": (51, 52)
                   },
                   {
                       "_die": 1
                   }, 100
                   )
main_events.append("爸妈给你买了电脑", "好耶",
                   {
                       "_age": (20, 30),
                       "happiness": (30, 101)
                   },
                   {
                       "health": -10,
                       "_line_pc": 1
                   })
main_events.append("夺得扫雷中国冠军", "NB",
                   {
                       "_age": (20, 30),
                       "_line_pc": (1, 10),
                   },
                   {
                       "happiness": 10,
                       "_line_pc": 1
                   })
main_events.append("夺得扫雷世界冠军", "NB666",
                   {
                       "_age": (20, 50),
                       "_line_pc": (2, 10),
                   },
                   {
                       "happiness": 10
                   })

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RespawnSimulator-1.0.4.tar.gz (9.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page