mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-08-05 21:33:58 +00:00
rogueviz:: random walk:: improvements
This commit is contained in:
parent
be71014ed6
commit
6880dfc96b
@ -67,7 +67,7 @@ bool advance_walkers(int delta) {
|
|||||||
continue;
|
continue;
|
||||||
while(walkers[i].simulated < total_time) {
|
while(walkers[i].simulated < total_time) {
|
||||||
walkers[i].simulated++;
|
walkers[i].simulated++;
|
||||||
if(rand() % branch_each == 0) {
|
if(branch_each && rand() % branch_each == 0) {
|
||||||
walkers.push_back(walkers[i]);
|
walkers.push_back(walkers[i]);
|
||||||
walkers.back().col = hrandpos() | 0x808080FF;
|
walkers.back().col = hrandpos() | 0x808080FF;
|
||||||
walkers[i].col = hrandpos() | 0x808080FF;
|
walkers[i].col = hrandpos() | 0x808080FF;
|
||||||
@ -176,7 +176,9 @@ void rw_slide(vector<tour::slide>& v, string title, string desc, reaction_t t) {
|
|||||||
setCanvas(mode, '0');
|
setCanvas(mode, '0');
|
||||||
|
|
||||||
if(mode == pmStart) {
|
if(mode == pmStart) {
|
||||||
|
tour::slide_backup(mapeditor::drawplayer, false);
|
||||||
stop_game();
|
stop_game();
|
||||||
|
t();
|
||||||
start_game();
|
start_game();
|
||||||
do_walkers = true;
|
do_walkers = true;
|
||||||
}
|
}
|
||||||
@ -184,6 +186,12 @@ void rw_slide(vector<tour::slide>& v, string title, string desc, reaction_t t) {
|
|||||||
if(mode == pmStop) {
|
if(mode == pmStop) {
|
||||||
do_walkers = false;
|
do_walkers = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(mode == pmKey) {
|
||||||
|
drawn.clear();
|
||||||
|
walkers.clear();
|
||||||
|
total_time = 0;
|
||||||
|
}
|
||||||
}}
|
}}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -198,11 +206,13 @@ auto msc =
|
|||||||
+ addHook(hooks_clearmemory, 40, [] () {
|
+ addHook(hooks_clearmemory, 40, [] () {
|
||||||
drawn.clear();
|
drawn.clear();
|
||||||
walkers.clear();
|
walkers.clear();
|
||||||
|
total_time = 0;
|
||||||
})
|
})
|
||||||
+ addHook(rvtour::hooks_build_rvtour, 180, [] (vector<tour::slide>& v) {
|
+ addHook(rvtour::hooks_build_rvtour, 180, [] (vector<tour::slide>& v) {
|
||||||
v.push_back(tour::slide{
|
v.push_back(tour::slide{
|
||||||
cap+"random walk visualization", 10, tour::LEGAL::NONE | tour::QUICKSKIP,
|
cap+"random walk visualization", 10, tour::LEGAL::NONE | tour::QUICKSKIP,
|
||||||
"Here we see random walk in various geometries.\n"
|
"Here we see random walk in various geometries.\n"
|
||||||
|
"Press '5' to reset.\n"
|
||||||
,
|
,
|
||||||
[] (tour::presmode mode) {}
|
[] (tour::presmode mode) {}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user