Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions exercises/practice/allergies/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
@export var score: int
@export var lst: Array:
get = _get_lst

const ALLERGENS = [
"eggs",
"peanuts",
Expand All @@ -13,6 +9,10 @@ const ALLERGENS = [
"cats",
]

@export var score: int
@export var lst: Array:
get = _get_lst


func allergic_to(item):
var index = ALLERGENS.find(item)
Expand Down
18 changes: 9 additions & 9 deletions exercises/practice/food-chain/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var REACTIONS = {
var reactions = {
"fly": "I don't know why she swallowed the fly. Perhaps she'll die.",
"spider": "It wriggled and jiggled and tickled inside her.",
"bird": "How absurd to swallow a bird!",
Expand All @@ -8,28 +8,28 @@ var REACTIONS = {
"cow": "I don't know how she swallowed a cow!",
"horse": "She's dead, of course!",
}
var ANIMALS = {
var animals = {
1: "fly", 2: "spider", 3: "bird", 4: "cat", 5: "dog", 6: "goat", 7: "cow", 8: "horse"
}
# Map each animal to it's food/subject, i.e. what it eats.
var SUBJECTS = {}
var subjects = {}


func _init():
for i in range(7):
SUBJECTS[ANIMALS[i + 2]] = ANIMALS[i + 1]
subjects[animals[i + 2]] = animals[i + 1]
# Unlike all other animals, the bird does not simply eat a "spider". It is more detailed.
SUBJECTS["bird"] = "spider that wriggled and jiggled and tickled inside her"
subjects["bird"] = "spider that wriggled and jiggled and tickled inside her"


func verse(num: int) -> String:
var out = ["I know an old lady who swallowed a %s." % ANIMALS[num]]
var out = ["I know an old lady who swallowed a %s." % animals[num]]
if num > 1:
out.append(REACTIONS[ANIMALS[num]])
out.append(reactions[animals[num]])
if num < 8:
for i in range(num, 1, -1):
out.append("She swallowed the %s to catch the %s." % [ANIMALS[i], SUBJECTS[ANIMALS[i]]])
out.append(REACTIONS[ANIMALS[1]])
out.append("She swallowed the %s to catch the %s." % [animals[i], subjects[animals[i]]])
out.append(reactions[animals[1]])
return "\n".join(out)


Expand Down
5 changes: 2 additions & 3 deletions exercises/practice/perfect-numbers/.meta/example.gd
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ func classify(number: int):
aliquot += i
if aliquot == number:
return "perfect"
elif aliquot > number:
if aliquot > number:
return "abundant"
else:
return "deficient"
return "deficient"
5 changes: 2 additions & 3 deletions exercises/practice/rational-numbers/.meta/example.gd
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,8 @@ class Rational:
func exprational(power):
if power >= 0:
return Rational.new(self.numer ** power, self.denom ** power)
else:
power = abs(power)
return Rational.new(self.denom ** power, self.numer ** power)
power = abs(power)
return Rational.new(self.denom ** power, self.numer ** power)

func expreal(base):
# n'th root of x = root(x, n) = power(x, 1/n)
Expand Down
37 changes: 18 additions & 19 deletions exercises/practice/resistor-color-tolerance/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -1,38 +1,37 @@
func label_decoder(colors):
var size = colors.size()
if size == 1: return "0 ohms"
if size == 1:
return "0 ohms"

var colors_code = ["black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white"]
var units = {
1e9: "gigaohms",
1e6: "megaohms",
1e3: "kiloohms"
}
var colors_code = [
"black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white"
]
var units = {1e9: "gigaohms", 1e6: "megaohms", 1e3: "kiloohms"}
var tolerances = {
"grey" : 0.05,
"violet" : 0.1,
"blue" : 0.25,
"green" : 0.5,
"brown" : 1,
"red" : 2,
"gold" : 5,
"silver" : 10
}
"grey": 0.05,
"violet": 0.1,
"blue": 0.25,
"green": 0.5,
"brown": 1,
"red": 2,
"gold": 5,
"silver": 10
}

var total = 0
var magnitute = pow(10, colors_code.find(colors[-2]))

for i in range(0, size - 2):
var color = colors[i]
total += colors_code.find(color) * pow(10, (size - i - 3))
total += colors_code.find(color) * pow(10, size - i - 3)
total *= magnitute

var tolerance = tolerances[colors[-1]] #work
var tolerance = tolerances[colors[-1]] #work
for key in units.keys():
if total >= key:
return "%s %s ±%s%%" % [format_number(total / key), units[key], tolerance]
return "%s ohms ±%s%%" % [format_number(total), tolerance]


func format_number(n):
return str(int(n)) if n == int(n) else str(n)

8 changes: 4 additions & 4 deletions exercises/practice/save-the-cow/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
class SaveTheCow:
var _word = ""
var state = "Ongoing"
var remaining_failures = 9
var masked_word = ""
var error = null
var masked_word = ""
var remaining_failures = 9
var state = "Ongoing"
var _word = ""

func _init(word):
self._word = word
Expand Down
4 changes: 2 additions & 2 deletions exercises/practice/scrabble-score/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var SCORES = {
var scores = {
"A": 1,
"E": 1,
"I": 1,
Expand Down Expand Up @@ -31,5 +31,5 @@ var SCORES = {
func score(word: String) -> int:
var out: int = 0
for char in word.to_upper():
out += SCORES[char]
out += scores[char]
return out
8 changes: 4 additions & 4 deletions exercises/practice/secret-handshake/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
const data = ["wink", "double blink", "close your eyes", "jump"]
const DATA = ["wink", "double blink", "close your eyes", "jump"]


func commands(number: int):
var out = []
for i in range(len(data)):
for i in range(len(DATA)):
if number & (1 << i) != 0:
out.append(data[i])
if number & (1 << len(data)) != 0:
out.append(DATA[i])
if number & (1 << len(DATA)) != 0:
out.reverse()
return out
4 changes: 2 additions & 2 deletions exercises/practice/space-age/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var EARTH_SECONDS = 31557600.0
var earth_seconds = 31557600.0

var orbital_periods = {
"Mercury": 0.2408467,
Expand All @@ -16,4 +16,4 @@ func on_planet(planet, seconds):
if planet not in orbital_periods:
return null
var ratio = orbital_periods[planet]
return seconds / EARTH_SECONDS / ratio
return seconds / earth_seconds / ratio
4 changes: 2 additions & 2 deletions exercises/practice/word-count/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const remove = "!@#$%^&*():.'"
const REMOVE = "!@#$%^&*():.'"


func count_words(sentence):
Expand All @@ -12,7 +12,7 @@ func count_words(sentence):
)
var count = {}
for word in sentence.split(" "):
word = word.lstrip(remove).rstrip(remove)
word = word.lstrip(REMOVE).rstrip(REMOVE)
if word.is_empty():
continue
if word not in count:
Expand Down
Loading