refact(strawberry): 🍓 🍓🍓

Frame Construction Simplification:

Leveraged Python list replication for constructing repetitive sections of the garden frames, specifically for the initial empty rows and soil rows. This reduces eight separate string initializations into concise expressions, improving readability and reducing potential sources of error.

Consolidated Animation Logic:

Streamlined the logic for embedding the animation character (q*) into the garden frame stages. For sub-stages 4 to 7, applied string multiplication to dynamically adjust the number of # symbols, thereby reducing redundancy in the frame construction.

Improved Control Flow:

Integrated the try-except block directly into the animation loop (delicious function), resulting in smoother handling of KeyboardInterrupt exceptions and eliminating the need for an infinite while loop.

These modifications preserve the functionality of the original script while making the code more concise and easier to maintain.
This commit is contained in:
Dwayne Charrington 2024-08-10 10:26:03 +10:00 committed by GitHub
parent 53b3b7fdfc
commit 385de363a3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,42 +6,28 @@ BROWN = '\033[38;5;52m'
RESET = '\033[0m'
def garden(sub_stage=0):
frame = [
" ",
" ",
" ",
" ",
frames = [
*[" "]*4,
f"{BROWN}~~~~~~~~~~~~~~~~{RESET}",
f"{BROWN}################{RESET}",
f"{BROWN}################{RESET}",
f"{BROWN}################{RESET}",
f"{BROWN}################{RESET}",
f"{BROWN}################{RESET}"
*[f"{BROWN}################{RESET}"]*5
]
if 0 <= sub_stage < 4:
frames[sub_stage] = f" {YELLOW}(q*){RESET} "
elif 4 <= sub_stage <= 7:
frames[sub_stage] = f"{BROWN}{'#'*((sub_stage - 4) * 2)}{YELLOW}(q*){BROWN}{'#'*(8-(sub_stage - 4) * 2)}{RESET}"
if sub_stage < 4:
frame[sub_stage] = f" {YELLOW}(q*){RESET} "
elif sub_stage == 4:
frame[4] = f"{BROWN}~~~~~~{YELLOW}(q*){BROWN}~~~~~~{RESET}"
elif sub_stage == 5:
frame[5] = f"{BROWN}######{YELLOW}(q*){BROWN}######{RESET}"
elif sub_stage == 6:
frame[6] = f"{BROWN}######{YELLOW}(q*){BROWN}######{RESET}"
elif sub_stage == 7:
frame[7] = f"{BROWN}######{YELLOW}(q*){BROWN}######{RESET}"
return "\n".join(frame)
return "\n".join(frames)
def delicious():
try:
while True:
for i in range(8):
os.system('cls' if os.name == 'nt' else 'clear')
print(garden(i))
time.sleep(0.5)
time.sleep(1)
if __name__ == "__main__":
try:
delicious()
except KeyboardInterrupt:
print("\nAnimation stopped.")
if __name__ == "__main__":
delicious()