Spaces:
Running
Running
| import pygame | |
| import os | |
| import json | |
| import time | |
| import random | |
| # Initialize Pygame | |
| pygame.init() | |
| # Set up the window | |
| resolution = (800, 600) | |
| screen = pygame.display.set_mode(resolution) | |
| pygame.display.set_caption("Calendar") | |
| # Load the icon | |
| icon = pygame.image.load("icon.png") | |
| pygame.display.set_icon(icon) | |
| # Load the background image | |
| bg = pygame.image.load("space.jpeg") | |
| # Set up the font | |
| font = pygame.font.Font(None, 36) | |
| # Get the current date and time | |
| current_time = time.localtime() | |
| current_date = f"{current_time.tm_mday}/{current_time.tm_mon}/{current_time.tm_year}" | |
| # Create the text elements | |
| welcome_text = font.render("Welcome back!", True, (255, 255, 255)) | |
| date_text = font.render(f"Today's date is: {current_date}", True, (255, 255, 255)) | |
| time_text = font.render(f"{current_time.tm_hour}:{current_time.tm_min}:{current_time.tm_sec}", True, (255, 255, 255)) | |
| # Set the positions for the text elements | |
| welcome_pos = (10, 10) | |
| date_pos = (10, 50) | |
| time_pos = (10, 90) | |
| # Load the saved events from the JSON file | |
| try: | |
| with open("save.json", "r") as f: | |
| events = json.load(f) | |
| except (FileNotFoundError, json.JSONDecodeError): | |
| # If the file is not found or is empty, create a new empty list | |
| events = [] | |
| # Check for events that are a week in the future | |
| for event in events: | |
| event_time = time.strptime(event["date"], "%d %m %y") | |
| if abs(event_time.tm_yday - current_time.tm_yday) == 7: | |
| print(f"You have an event in a week: {event['title']} on {event['date']}") | |
| # Check if there are any events today | |
| today_events = [event for event in events if event["date"] == current_date] | |
| if today_events: | |
| print("You have an event today!") | |
| # Create a new event | |
| new_event_title = input("Enter the event title: ") | |
| new_event_date = input("Enter the event date (DD MM YY): ") | |
| new_event_time = input("Enter the event time (HH MM SS): ") | |
| new_event = {"title": new_event_title, "date": new_event_date, "time": new_event_time} | |
| events.append(new_event) | |
| # Main game loop | |
| running = True | |
| while running: | |
| # Handle events | |
| for event in pygame.event.get(): | |
| if event.type == pygame.QUIT: | |
| running = False | |
| # Draw the background | |
| screen.blit(bg, (0, 0)) | |
| # Draw the text elements | |
| screen.blit(welcome_text, welcome_pos) | |
| screen.blit(date_text, date_pos) | |
| screen.blit(time_text, time_pos) | |
| # Update the display | |
| pygame.display.flip() | |
| # Save the events to the JSON file | |
| with open("save.json", "w") as f: | |
| json.dump(events, f) | |
| # Quit Pygame | |
| pygame.quit() | |