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