Skip to content

Commit

Permalink
feat: refactored level list to reach 100 levels
Browse files Browse the repository at this point in the history
fix: updated Splash screen uui and removed resize feature

fix: increased font size and reduced lock size of level button

fix: changed level order

feat: improve Randomizer second step

fix #102

fix: applied linter and formatter
  • Loading branch information
simone-lungarella authored and lungarella-raffaele committed Feb 11, 2025
1 parent 1279839 commit 66609f5
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 14 deletions.
6 changes: 3 additions & 3 deletions assets/resources/utility/randomizer_options.tres
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ extension_rules = {
"RANDOM": 30
}
full_odd = 15
full_odd_on_stop = 60
full_odd_on_stop = 30
block_full_odd = 50
block_full_odd_on_stop = 80
block_full_retract_odd = 80
block_full_odd_on_stop = 50
block_full_retract_odd = 50
type_rules = {
"ADD": 45,
"BLOCK": 7,
Expand Down
2 changes: 1 addition & 1 deletion project.godot
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ config_version=5

config/name="Sum Zero"
config/description="A mobile puzzle game where players use math-based sliders to bring all tiles on a grid down to zero. Combining strategy, logic, and arithmetic, each level presents a unique challenge to solve."
config/version="0.8.0"
config/version="0.9.0"
run/main_scene="res://packed_scene/scene_2d/LevelManager.tscn"
config/features=PackedStringArray("4.3", "Forward Plus")
boot_splash/show_image=false
Expand Down
18 changes: 9 additions & 9 deletions scripts/utility/randomizer.gd
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ static func _add_sliders(data: LevelData, filtered: Dictionary) -> void:
var normal_sliders: Array[Vector2i]
var locked_cells: Array[CellData]
var receiver_cells: Dictionary

var effect_slider_count := 0
for slider_coord: Vector2i in filtered.keys():
var slider_data := filtered.get(slider_coord) as RandomizerSlider
Expand All @@ -100,16 +100,16 @@ static func _add_sliders(data: LevelData, filtered: Dictionary) -> void:
"BLOCK":
slider_data.effect = GlobalConst.AreaEffect.BLOCK
block_sliders.append(slider_coord)
# check that at least one slider affects the grid

# check that at least one slider affects the grid
if effect_slider_count == 0:
var slider_coord := filtered.keys()[0] as Vector2i
var slider_data := filtered.get(slider_coord) as RandomizerSlider
slider_data.effect = GlobalConst.AreaEffect.ADD
normal_sliders.append(slider_coord)
block_sliders.erase(slider_coord)
change_sliders.erase(slider_coord)

# add slider-block
for slider_coord in block_sliders:
var slider := filtered.get(slider_coord) as RandomizerSlider
Expand Down Expand Up @@ -138,7 +138,7 @@ static func _add_sliders(data: LevelData, filtered: Dictionary) -> void:
emitter_sliders = receiver_cells.get(cell_coord)
emitter_sliders.append(slider_coord)
receiver_cells[cell_coord] = emitter_sliders

# mix other sliders
if !change_sliders.is_empty():
normal_sliders.append_array(change_sliders)
Expand Down Expand Up @@ -169,7 +169,7 @@ static func _add_sliders(data: LevelData, filtered: Dictionary) -> void:
emitter_sliders = receiver_cells.get(cell_coord)
emitter_sliders.append(slider_coord)
receiver_cells[cell_coord] = emitter_sliders

# use unfull slider-block for check behavior-full probability
for slider_coord: Vector2i in filtered.keys():
var slider := filtered.get(slider_coord) as RandomizerSlider
Expand All @@ -187,7 +187,7 @@ static func _add_sliders(data: LevelData, filtered: Dictionary) -> void:
continue
if _check_probability(OPTIONS.block_full_odd_on_stop):
slider.behavior = GlobalConst.AreaBehavior.FULL

# use stopped slider for check retractable slider-block
var stopped_sliders: Dictionary
for slider_coord: Vector2i in filtered.keys():
Expand Down Expand Up @@ -228,15 +228,15 @@ static func _add_sliders(data: LevelData, filtered: Dictionary) -> void:
if cell.is_blocked:
break
_apply_slider_effect(cell, slider.effect)

# add slider to level data
for slider_coord in filtered.keys():
var slider := filtered.get(slider_coord) as RandomizerSlider
var slider_data := SliderData.new()
slider_data.area_effect = slider.effect
slider_data.area_behavior = slider.behavior
data.slider_list[slider_coord] = slider_data

# remove temporarily block
for cell_data in locked_cells:
cell_data.is_blocked = false
Expand Down
2 changes: 1 addition & 1 deletion scripts/utility/randomizer_slider.gd
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ var behavior: GlobalConst.AreaBehavior

func is_full() -> bool:
return reachable.size() == reached.size()


func is_none() -> bool:
return reached.is_empty()

0 comments on commit 66609f5

Please sign in to comment.