Skip to content

Commit

Permalink
test 3
Browse files Browse the repository at this point in the history
  • Loading branch information
Skydev0h committed Dec 30, 2023
1 parent d24dfdf commit 648ba92
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 14 deletions.
24 changes: 11 additions & 13 deletions contracts/task3.fc
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ cell trigger(cell c) method_id(888) { return migrate_one(c); }
return_if(in_msg_body.slice_empty?());

int expected_version = in_msg_body~load_uint(32);

ifnot (expected_version) {
set_data(wrap_storage(1, get_data()));
{-
Expand All @@ -66,7 +65,13 @@ cell trigger(cell c) method_id(888) { return migrate_one(c); }
int version = ds~load_uint(32);
cell storage = ds.preload_ref();

if (version != expected_version) {
if (version == expected_version) {

storage = process_message(storage, msg_value, balance, in_msg_full, payload.begin_parse());
set_data(wrap_storage(version, storage));
return();

} else {

while (version != expected_version) {
;; ~dump([version, expected_version]);
Expand All @@ -88,19 +93,12 @@ cell trigger(cell c) method_id(888) { return migrate_one(c); }
throw_if(200, expected_code.null?());
set_c3(expected_code.begin_parse().bless());
set_code(expected_code);
{-
set_data(begin_cell()
.store_uint(version, 32)
.store_ref(storage)
.end_cell()
);
commit();
-}
}

storage = process_message(storage, msg_value, balance, in_msg_full, payload.begin_parse());
storage = process_message(storage, msg_value, balance, in_msg_full, payload.begin_parse());
set_data(wrap_storage(version, storage));
return();

set_data(wrap_storage(version, storage));
}

{-
ret();
Expand Down
2 changes: 1 addition & 1 deletion contracts/task4.fc
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ const int infinity_price = (1 << infinity_shift) - 1;
repeat(lx) {
int c = t.t:(x);
if (c == "S"u) { Sx = x; Sy = y; }
int ctp = tile_prices.t:(c) + (max(abs(Ex - x), abs(Ey - y)) << astar_dist_shift);
int ctp = tile_prices.t:(c) + ((abs(Ex - x) + abs(Ey - y)) << astar_dist_shift);
if (c == "E"u) { ctp = ctp | fin_bit;}
r~t:+( ctp );
x += 1;
Expand Down

0 comments on commit 648ba92

Please sign in to comment.