balik

import pygame

import random

import sys

from pygame.locals import *


 

# Pygame başlatma

pygame.init()


 

# Ekran ayarları

WIDTH, HEIGHT = 800, 600

screen = pygame.display.set_mode((WIDTH, HEIGHT))

pygame.display.set_caption("GTA5 Balık Botu Doğrulama")


 

# Renkler

WHITE = (255, 255, 255)

BLACK = (0, 0, 0)

BLUE = (0, 120, 215)

LIGHT_BLUE = (100, 180, 255)


 

# Fontlar

font = pygame.font.SysFont('Arial', 24)

title_font = pygame.font.SysFont('Arial', 32, bold=True)


 

# Emoji listesi

emojis = ["🐟", "🐠", "🐡", "🦈", "🐋", "🐙", "🦀", "🦐"]


 

class EmojiBubble:

    def __init__(self):

        self.emoji = random.choice(emojis)

        self.radius = random.randint(30, 50)

        self.x = random.randint(self.radius, WIDTH - self.radius)

        self.y = random.randint(self.radius, HEIGHT - self.radius)

        self.color = (random.randint(100, 200), random.randint(100, 200), random.randint(100, 200))

        self.clicked = False

   

    def draw(self):

        if not self.clicked:

            # Balon çiz

            pygame.draw.circle(screen, self.color, (self.x, self.y), self.radius)

            pygame.draw.circle(screen, BLACK, (self.x, self.y), self.radius, 2)

           

            # Emoji çiz

            emoji_surf = font.render(self.emoji, True, BLACK)

            emoji_rect = emoji_surf.get_rect(center=(self.x, self.y))

            screen.blit(emoji_surf, emoji_rect)

   

    def is_clicked(self, pos):

        distance = ((pos[0] - self.x) ** 2 + (pos[1] - self.y) ** 2) ** 0.5

        return distance <= self.radius and not self.clicked


 

def main():

    clock = pygame.time.Clock()

    bubbles = [EmojiBubble() for _ in range(random.randint(3, 8))]

    clicked_count = 0

    total_to_click = 3

    verified = False

    show_date_time = True

   

    # Tarih ve saat bilgisi

    date_time = "15/10/2023  22:55"

   

    # Ctrl tuşu basılı mı kontrolü

    ctrl_pressed = False

   

    running = True

    while running:

        screen.fill(WHITE)

       

        # Başlık

        title = title_font.render("İnsan olup olmadığınız kontrol ediliyor", True, BLACK)

        instruction = font.render(f"Mouse ile {total_to_click} emoji balonuna tıklayın", True, BLACK)

        backspace_info = font.render("Doğrulamadan BACKSPACE veya Ctrl+W ile çıkabilirsiniz", True, BLACK)

       

        screen.blit(title, (WIDTH//2 - title.get_width()//2, 30))

        screen.blit(instruction, (WIDTH//2 - instruction.get_width()//2, 80))

        screen.blit(backspace_info, (WIDTH//2 - backspace_info.get_width()//2, 120))

       

        # Tarih ve saat

        if show_date_time:

            dt_surf = font.render(date_time, True, BLACK)

            screen.blit(dt_surf, (WIDTH - dt_surf.get_width() - 20, HEIGHT - dt_surf.get_height() - 20))

       

        # Balonları çiz

        for bubble in bubbles:

            bubble.draw()

       

        # Doğrulama durumu

        if verified:

            verified_text = font.render("Doğrulama Başarılı! Oyun başlatılıyor...", True, (0, 150, 0))

            screen.blit(verified_text, (WIDTH//2 - verified_text.get_width()//2, HEIGHT - 100))

       

        # Kalan tıklama sayısı

        remaining_text = font.render(f"Kalan: {total_to_click - clicked_count}/{total_to_click}", True, BLACK)

        screen.blit(remaining_text, (20, HEIGHT - 50))

       

        for event in pygame.event.get():

            if event.type == QUIT:

                running = False

           

            if event.type == KEYDOWN:

                # Ctrl tuşu basıldığında

                if event.key == K_LCTRL or event.key == K_RCTRL:

                    ctrl_pressed = True

                # W tuşu basıldığında ve Ctrl basılıysa

                elif event.key == K_w and ctrl_pressed:

                    running = False

                elif event.key == K_BACKSPACE:

                    running = False

                elif event.key == K_r:  # Yeniden başlatma için R tuşu

                    bubbles = [EmojiBubble() for _ in range(random.randint(3, 8))]

                    clicked_count = 0

                    verified = False

           

            if event.type == KEYUP:

                # Ctrl tuşu bırakıldığında

                if event.key == K_LCTRL or event.key == K_RCTRL:

                    ctrl_pressed = False

           

            if event.type == MOUSEBUTTONDOWN and not verified:

                for bubble in bubbles:

                    if bubble.is_clicked(event.pos):

                        bubble.clicked = True

                        clicked_count += 1

                       

                        if clicked_count >= total_to_click:

                            verified = True

                            # 2 saniye sonra kapanacak

                            pygame.time.set_timer(USEREVENT, 2000)

       

            if event.type == USEREVENT and verified:

                running = False

       

        pygame.display.flip()

        clock.tick(60)

   

    pygame.quit()

    sys.exit()


 

if __name__ == "__main__":

    main()