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()