發表文章

目前顯示的是 10月, 2025的文章

pygame自動生成迷宮遊戲製作

我的迷宮遊戲小實作 最近在玩 Python,順便自己做了一個迷宮遊戲,用的是 Pygame 。基本概念是這樣的:我畫一個格子地圖,每個格子都有牆,然後用程式隨機生成通路,玩家就要從左上角走到右下角。 程式裡我設定了畫面大小、格子數量和每格的尺寸,還有顏色設定:牆是黑色、路是白色、玩家是紅色、終點是綠色,完成遊戲會跳出黃色的「MISSION COMPLETE!」。 每個格子都是一個 Cell 類別物件,它有牆的資訊和是否被走過的標記。生成迷宮用的是 深度優先搜尋(DFS) ,簡單說就是從起點一路隨機走,遇到死路就回到上一格再試其他路,直到整個格子都走過。 玩家可以用方向鍵移動,但如果前面有牆就不能走。每次畫面更新,程式會重繪整個迷宮、玩家和終點。如果到達終點就顯示完成訊息。 這個小遊戲對我來說很好玩,也練到了程式邏輯、物件導向概念和 Pygame 畫圖的方法。下一步想試試加計時、計分,甚至做成自動解迷的功能。 這是我的程式碼: import pygame import sys import random SCREEN_WIDTH = 1000 SCREEN_HEIGHT = 750 FPS = 30 COLS , ROWS = 40 , 30 CELL_SIZE = min ( SCREEN_WIDTH // COLS , SCREEN_HEIGHT // ROWS ) PLAYER_SIZE = max ( 1 , ( CELL_SIZE * 2 ) // 3 ) WALL_COLOR = ( 0 , 0 , 0 ) PATH_COLOR = ( 255 , 255 , 255 ) PLAYER_COLOR = ( 255 , 0 , 0 ) GOAL_COLOR = ( 0 , 255 , 0 ) WIN_TEXT_COLOR = ( 255 , 255 , 0 ) class Cell : def __init__ ( self , x , y , cell_size ): self . x , self . y = x , y self . cell_size = cell_size self . walls = ...

python計算機製作

  製作計算機的小心得 最近我花了一點時間,用 Python 做了一個小型的計算機程式。這算是我第一次用到 Tkinter 這個套件,主要是想練習圖形介面(GUI)的製作,也讓自己從純文字輸出進一步嘗試互動操作。 Tkinter 是 Python 內建的 GUI 工具,不需要額外安裝就能使用。它提供了像是 Button 、 Label 、 Entry 這些元件,可以讓使用者輸入數字、按下按鈕後看到結果。我覺得它的邏輯其實蠻直覺的,只是排版的部分要多試幾次才會順眼。 我的程式裡除了基本的加減乘除之外,我還加上了一些進階功能,像是質因數分解、因數列出、階乘等等。這些功能主要是練習數學運算的邏輯,像質因數分解就要用迴圈和條件判斷,階乘則可以用遞迴或是簡單的乘法累加來實作。 整個過程裡我學到最多的,其實不是數學公式,而是介面設計的邏輯。要讓使用者輸入、再顯示結果,看似簡單,但要讓整體運作流暢、畫面整潔,就需要一點結構規劃。雖然 Tkinter 不算華麗,但對初學者來說很夠用。 最後這次的作品讓我更熟悉了 Python 的基礎,也對 GUI 的概念有了實際體驗。下一步我可能會想試試看用 Flask 或 HTML 版本的計算機,看看能不能做成網頁版的。 這是我的程式: import tkinter as tk from tkinter import font from functools import partial # ----------------- 運算函數 ----------------- def gcd ( a , b ): a , b = abs ( a ), abs ( b ) while b != 0 : a , b = b , a % b return a def lcm ( a , b ): return abs ( a * b ) // gcd ( a , b ) def square ( a , b ): return a ** b def factorize ( n ): n_abs = abs ( n ) if n_abs == 0 : return [( 0 , 1...