2024年3月18日 星期一

green judge 舊資料連結

 https://web.archive.org/web/20210412155705/http://www.tcgs.tc.edu.tw:1218/Problems

2024年3月11日 星期一

Ball 1

 import pygame

import sys

import random

from pygame.locals import *


# 初始化 Pygame

pygame.init()


# 遊戲視窗設定

width, height = 1800, 600

window = pygame.display.set_mode((width, height))

pygame.display.set_caption("打磚塊遊戲-xxx")


# 設定顏色

BLACK = (0, 0, 0)

WHITE = (255, 255, 255)

RED = (255, 0, 0)

GREEN = (0, 255, 0)

BLUE = (0, 0, 255)

YELLOW = (255, 255, 0)


# 繪製磚塊

bricks = []

def create_bricks():

    for row in range(5):

        for column in range(width // (75+5)):  # 設定每一排磚塊數量,35 為磚塊寬度,5 為磚塊間距

            brick_rect = pygame.Rect(column*(75+5), row*(25+5)+50, 77, 18)  # 設定磚塊大小,25 為磚塊高度

            color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))

            bricks.append((brick_rect, color))


def draw_bricks():

    for brick in bricks:

        pygame.draw.rect(window, brick[1], brick[0])


# 檔板設定

paddle_width, paddle_height = 60, 10

paddle_y = height - 20


# 球設定

ball_radius = 50

ball_speed_x, ball_speed_y = 5, 5

ball_x, ball_y = width // 2, height // 2

paddle_x = ball_x -50


# 計分

score = 0


# 文字顯示

font = pygame.font.Font(None, 96)


# 主遊戲迴圈

create_bricks()

while True:

    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            pygame.quit()

            sys.exit()


    # 控制挡板移動(如果沒有自動控制擋板,保留這段代碼)

    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:

        paddle_x -= 10

    if keys[pygame.K_RIGHT]:

        paddle_x += 10


    # 移動球

    ball_x += ball_speed_x

    ball_y += ball_speed_y

    

    # 判斷球是否觸碰左右邊界,並回彈

    if ball_x - ball_radius <= 0 or ball_x + ball_radius >= width:

        ball_speed_x = -ball_speed_x


    # 判斷球是否觸碰上邊界,並回彈

    if ball_y - ball_radius <= 0:

        ball_speed_y = -ball_speed_y


    # 判斷球和檔板碰撞

    if ball_y + ball_radius > paddle_y and paddle_x < ball_x < paddle_x + paddle_width:

        ball_speed_y = -ball_speed_y

    

    # 判斷球是否與磚塊碰撞

    for brick in bricks[:]:

        if brick[0].colliderect(pygame.Rect(ball_x - ball_radius, ball_y - ball_radius, ball_radius * 2, ball_radius * 2)):

            bricks.remove(brick)

            ball_speed_y = -ball_speed_y

            score += 2

            break

           

    

    # 畫面清除

    window.fill(BLACK)


    # 繪製磚塊

    draw_bricks()

    

    # auto 

    paddle_x = ball_x -30


    # 畫檔板

    pygame.draw.rect(window, WHITE, (paddle_x, paddle_y, paddle_width, paddle_height))

    # 畫球

    pygame.draw.circle(window, YELLOW, (ball_x, ball_y), ball_radius)

    

    # 顯示分數

    text = font.render("Score: " + str(score), True, WHITE)

    window.blit(text, (10, 10))

    

    # 更新畫面

    pygame.display.flip()

    # 控制遊戲更新速率

    pygame.time.Clock().tick(600)



2024年3月4日 星期一

Lucky 7

 import random

m = 0

c7 = 0

c77 = 0

c777 = 0

for j in range(1000):

    n = []

    for i in range(3):

        n.append(random.randint(0, 9))

    print(n)

    n7 = n.count(7)

    # print(n7)

    m = m - 40

    if n7 == 1: 

        m = m + 60

        c7+=1

    if n7 == 2: 

        m = m + 600

        c77+=1

    if n7 == 3: 

        m = m + 6000

        c777+=1

    print('$',m)


print()

print('$',m)

print('777:',c777,'次')

print('77:',c77,'次')

print('7:',c7,'次')

大樂透模擬

 # -*- coding: utf-8 -*-


import random


# for i in range(7):

#     print(random.randrange(1,49))


d = list(range(1,50))

random.shuffle(d)

d1_6 = d[:6]

d1_6.sort()

print(d1_6)

d7 = d[6]

print(d7)


for j in range(10000):

    c = 0

    sf = 0

    pguess = list(range(1,50))

    random.shuffle(pguess)

    p=pguess[:6]

    for i in p:

        if i in d1_6:

         c+=1

        if i == d7:

          sf = 1

    if c>=4:

        print('中:',c,'號',p,end=' ')

        if sf == 1:

            print('中特別號')

        else:

            print()