Planetio/mouse_engine.py
Tucan444 14871022ab The game
just uploaded the game on github
2020-12-06 13:16:28 +01:00

136 lines
4.5 KiB
Python

import math
from fast_and_trash import *
import pygame
class Mouse:
points = 0
def __init__(self, mouse_pos):
self.mouse_pos = mouse_pos
def update(self, Win_size, Default_size):
self.mouse_pos = pygame.mouse.get_pos()
self.mouse_pos = [round(self.mouse_pos[0] * (Default_size[0] / Win_size[0])),
round(self.mouse_pos[1] * (Default_size[1] / Win_size[1]))]
def in_circle(self, circle_cords, radius):
if distance_indicator(self.mouse_pos, circle_cords) < radius:
return True
else:
return False
def check_availability(self, color_name, radius, game, scroll):
scrolled_pos = [self.mouse_pos[0] + scroll.scroll[0],
self.mouse_pos[1] + scroll.scroll[1]]
collided = []
for circle in game.circles:
dist = distance_indicator(circle.center, scrolled_pos)
if dist < (radius + circle.radius):
if dist < radius or dist < circle.radius:
return False
collided.append(circle)
if collided:
# if u try placing red circle
if color_name == "red":
for circle in collided:
if circle.color == "purple":
return False
return True
# if u try placing blue circle
if color_name == "blue":
usable = False
for circle in collided:
if circle.color not in ["black", "smaragd", "red"]:
return False
else:
usable = True
if usable:
return True
else:
return False
# if u try placing green circle
if color_name == "green":
usable = [False, False]
for circle in collided:
if circle.color not in ["black", "smaragd", "red", "blue"]:
return False
elif circle.color in ["black", "smaragd"]:
usable = [True, True]
elif circle.color == "red":
usable[0] = True
else:
usable[1] = True
if usable[0] and usable[1]:
return True
else:
return False
# if u try placing yellow circle
if color_name == "yellow":
usable = [False, False]
for circle in collided:
if circle.color not in ["red", "green", "black", "smaragd"]:
return False
elif circle.color in ["black", "smaragd"]:
usable = [True, True]
elif circle.color == "red":
usable[0] = True
else:
usable[1] = True
if usable[0] and usable[1]:
return True
else:
return False
# if u try placing purple circle
if color_name == "purple":
usable = [False, False, False, False]
for circle in collided:
if circle.color not in ["red", "blue", "green", "yellow", "black", "smaragd"]:
return False
elif circle.color in ["black", "smaragd"]:
usable = [True, True, True, True]
elif circle.color == "red":
usable[0] = True
elif circle.color == "blue":
usable[1] = True
elif circle.color == "green":
usable[2] = True
else:
usable[3] = True
if usable[0] and usable[1] and usable[2] and usable[3]:
return True
else:
return False
# if u try placing smaragd circle
if color_name == "smaragd":
usable = False
for circle in collided:
if circle.color not in ["purple", "black"]:
return False
else:
usable = True
if usable:
return True
else:
return False
else:
return False