https://web.archive.org/web/20210412155705/http://www.tcgs.tc.edu.tw:1218/Problems
2024年3月18日 星期一
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()