Skip to content

Commit ff6a4d7

Browse files
committed
style: add underscore to private variables
Also locked aspect ratio to 16:9 for a consistent experience across screens without unfair advantages/disadvantages.
1 parent b58fe2d commit ff6a4d7

File tree

7 files changed

+37
-34
lines changed

7 files changed

+37
-34
lines changed

levels/bubble_sort.gd

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ If the two highlighted elements are out of order, hit LEFT ARROW to swap
1414
them. Otherwise, hit RIGHT ARROW to continue.
1515
"""
1616

17-
var _index = 0
18-
var _end = array.size
17+
var _index = 0 # First of two elements being compared
18+
var _end = array.size # Beginning of sorted subarray
1919
var _swapped = false
2020

2121
func _init(array).(array):
@@ -30,6 +30,7 @@ func next(action):
3030
elif action != null and action != ACTIONS.NO_SWAP:
3131
return emit_signal("mistake")
3232
_index += 1
33+
# Prevent player from having to spam tap through the end
3334
if _index + 1 == _end:
3435
if not _swapped:
3536
emit_signal("done")

levels/selection_sort.gd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ slower than insertion sort.
1111
"""
1212
const CONTROLS = """
1313
Keep on hitting RIGHT ARROW until you encounter an element that is
14-
smaller than the left highlighted element, then hit LEFT ARROW to swap
15-
the new smallest into place and keep going.
14+
smaller than the left highlighted element, then hit LEFT ARROW and
15+
repeat.
1616
"""
1717

1818
var _base = 0 # Size of sorted subarray

project.godot

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,10 @@ GlobalTheme="*res://scripts/theme.gd"
8484
window/size/width=1920
8585
window/size/height=1080
8686
window/size/fullscreen=true
87+
window/size/always_on_top=true
8788
window/dpi/allow_hidpi=true
8889
window/stretch/mode="2d"
90+
window/stretch/aspect="keep"
8991

9092
[editor_plugins]
9193

scripts/levels.gd

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
extends HBoxContainer
22

3-
var levels = [
3+
const LEVELS = [
44
BubbleSort,
55
InsertionSort,
66
SelectionSort,
77
MergeSort,
88
QuickSort,
99
]
10-
var level: ComparisonSort
10+
var _level: ComparisonSort
1111

1212
func _ready():
1313
"""Dynamically load level data."""
14-
for level in levels:
14+
for level in LEVELS:
1515
var button = Button.new()
1616
button.text = level.NAME
1717
button.align = Button.ALIGN_LEFT
@@ -28,31 +28,31 @@ func _ready():
2828
bottom_button.focus_neighbour_bottom = top_button.get_path()
2929
# If no last played level, autofocus first level
3030
if GlobalScene.get_param("level") == null:
31-
bottom_button.grab_focus()
31+
top_button.grab_focus()
3232

3333
func _on_Button_focus_changed():
3434
"""Initialize the preview section."""
35-
level = get_level(get_focus_owner().text).new(ArrayModel.new())
36-
level.active = false
37-
$Preview/InfoBorder/Info/About.text = _cleanup(level.ABOUT)
38-
$Preview/InfoBorder/Info/Controls.text = _cleanup(level.CONTROLS)
35+
_level = get_level(get_focus_owner().text).new(ArrayModel.new())
36+
_level.active = false
37+
$Preview/InfoBorder/Info/About.text = _cleanup(_level.ABOUT)
38+
$Preview/InfoBorder/Info/Controls.text = _cleanup(_level.CONTROLS)
3939
# Start over when simulation is finished
40-
level.connect("done", self, "_on_Button_focus_changed")
40+
_level.connect("done", self, "_on_Button_focus_changed")
4141
# Replace old display with new
4242
for child in $Preview/Display.get_children():
4343
child.queue_free()
44-
$Preview/Display.add_child(ArrayView.new(level))
44+
$Preview/Display.add_child(ArrayView.new(_level))
4545

4646
func _on_Button_pressed(name):
4747
GlobalScene.change_scene("res://scenes/play.tscn", {"level": get_level(name)})
4848

4949
func get_level(name):
50-
for level in levels:
50+
for level in LEVELS:
5151
if level.NAME == name:
5252
return level
5353

5454
func _on_Timer_timeout():
55-
level.next(null)
55+
_level.next(null)
5656

5757
func _cleanup(string):
5858
return string.strip_edges().replace("\n", " ")

scripts/menu.gd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
extends VBoxContainer
22

3-
var level = BogoSort.new(ArrayModel.new())
3+
var _level = BogoSort.new(ArrayModel.new())
44

55
func _ready():
66
$Buttons/Start.grab_focus()
77
randomize()
8-
level.active = false
9-
$Display.add_child(ArrayView.new(level))
8+
_level.active = false
9+
$Display.add_child(ArrayView.new(_level))
1010

1111
func _on_Start_pressed():
1212
GlobalScene.change_scene("res://scenes/levels.tscn")
@@ -15,4 +15,4 @@ func _on_Credits_pressed():
1515
GlobalScene.change_scene("res://scenes/credits.tscn")
1616

1717
func _on_Timer_timeout():
18-
level.next(null)
18+
_level.next(null)

scripts/play.gd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
extends VBoxContainer
22

3-
var start_time = -1
3+
var _start_time = -1
44

55
func _ready():
66
$HUDBorder/HUD/Level.text = GlobalScene.get_param("level").NAME
77

88
func _process(delta):
9-
if start_time >= 0:
9+
if _start_time >= 0:
1010
$HUDBorder/HUD/Score.text = "%.3f" % get_score()
1111

1212
func _on_Timer_timeout():
13-
start_time = OS.get_ticks_msec()
13+
_start_time = OS.get_ticks_msec()
1414
$DisplayBorder/Label.queue_free() # Delete ready text
1515
var level = GlobalScene.get_param("level").new(ArrayModel.new())
1616
level.connect("done", self, "_on_Level_done")
1717
$DisplayBorder.add_child(ArrayView.new(level))
1818

1919
func get_score():
20-
return stepify((OS.get_ticks_msec() - start_time) / 1000.0, 0.001)
20+
return stepify((OS.get_ticks_msec() - _start_time) / 1000.0, 0.001)
2121

2222
func _on_Level_done():
2323
GlobalScene.change_scene("res://scenes/end.tscn",

views/array_view.gd

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,27 @@ Visualization of an array as rectangles of varying heights.
55
class_name ArrayView
66
extends HBoxContainer
77

8-
var level: ComparisonSort
9-
var rects = []
8+
var _level: ComparisonSort
9+
var _rects = []
1010

1111
func _init(level):
1212
"""Add colored rectangles."""
13-
level.connect("mistake", self, "_on_Level_mistake")
14-
self.level = level
15-
add_child(level) # NOTE: This is necessary for it to read input
13+
_level = level
14+
_level.connect("mistake", self, "_on_Level_mistake")
15+
add_child(_level) # NOTE: This is necessary for it to read input
1616
for i in range(level.array.size):
1717
var rect = ColorRect.new()
1818
rect.size_flags_horizontal = Control.SIZE_EXPAND_FILL
1919
rect.size_flags_vertical = Control.SIZE_SHRINK_END
20-
rects.append(rect)
20+
_rects.append(rect)
2121
add_child(rect)
2222

2323
func _process(delta):
2424
"""Update heights of rectangles based on array values."""
25-
for i in range(level.array.size):
26-
rects[i].rect_scale.y = -1 # HACK: Override scale to bypass weird behavior
27-
rects[i].color = level.get_effect(i)
28-
rects[i].rect_size.y = rect_size.y * level.array.at(i) / level.array.size
25+
for i in range(_level.array.size):
26+
_rects[i].rect_scale.y = -1 # HACK: Override scale to bypass weird behavior
27+
_rects[i].color = _level.get_effect(i)
28+
_rects[i].rect_size.y = rect_size.y * _level.array.at(i) / _level.array.size
2929

3030
func _on_Level_mistake():
3131
"""Flash the border red on mistakes."""

0 commit comments

Comments
 (0)