感覺還是蠻好玩吧!
接下來,我就分享一下這個遊戲的原始碼過程啊!
先用python建立乙個py檔案
定義這次程式所需要的類
import sys然後寫出它所需要的模組import time
import pygame
from pygame.localsimport *
import blocks
size =30 # 每個小方格大小block_height =25 # 遊戲區高度
block_width =10 # 遊戲區寬度
border_width =4 # 遊戲區邊框寬度
border_color = (40, 40, 200)# 遊戲區邊框顏色
screen_width = size * (block_width +5)# 遊戲螢幕的寬
screen_height = size * block_height# 遊戲螢幕的高
bg_color = (40, 40, 60)# 背景色
block_color = (20, 128, 200)#
black = (0, 0, 0)
red = (200, 30, 30)# game over 的字型顏色
# 畫背景```python
```python
def _draw_background(screen):
# 填充背景色
screen.fill(bg_color)
# 畫遊戲區域分隔線
pygame.draw.line(screen, border_color,
(size * block_width + border_width // 2, 0),
(size * block_width + border_width // 2, screen_height), border_width)
# 畫網格線```python
def _draw_gridlines(screen):
# 畫網格線 豎線
for x in range(block_width):
pygame.draw.line(screen, black, (x * size, 0), (x * size, screen_height), 1)
# 畫網格線 橫線
for y in range(block_height):
pygame.draw.line(screen, black, (0, y * size), (block_width * size, y * size), 1)
def _draw_game_area(screen, game_area):if game_area:
for i, row in enumerate(game_area):
for j, cell in enumerate(row):
if cell != '.':
pygame.draw.rect(screen, block_color, (j * size, i * size, size, size), 0)
def _draw_block(screen, block, offset_x, offset_y, pos_x, pos_y):if block:
for i in range(block.start_pos.y, block.end_pos.y + 1):
for j in range(block.start_pos.x, block.end_pos.x + 1):
if block.template[i][j] != '.':
pygame.draw.rect(screen, block_color,
(offset_x + (pos_x + j) * size, offset_y + (pos_y + i) * size, size, size), 0)
def _draw_info(screen, font, pos_x, font_height, score):效果圖print_text(screen, font, pos_x, 10, f'得分: ')
print_text(screen, font, pos_x, 10 + font_height + 6, f'')
print_text(screen, font, pos_x, 20 + (font_height + 6) * 2, f'速度: ')
print_text(screen, font, pos_x, 20 + (font_height + 6) * 3, f'')
print_text(screen, font, pos_x, 30 + (font_height + 6) * 4, f'下乙個:')
if __name__ == '__main__':
main()
剛寫的乙個俄羅斯方塊程式
這是我做的 define win32 lean and mean include include include define id timer 1 define white 0 define black 1 int level 1 int score 0 int global 18 16 int ...
用C 實現俄羅斯方塊
include using namespace std 構造完成標誌 bool sign false 建立數獨矩陣 int num 9 9 函式宣告 void input void output bool check int n,int key int dfs int n 主函式 int main ...
乙個簡單的俄羅斯方塊實現
最近在看 net遊戲程式設計入門經典 c 篇 第一章介紹了如何製作俄羅斯方塊,自己試了試按照書上的步驟,可算是完成了。於是寫下這篇文章留作紀念。1.類的設計 在充分分析遊戲的特點後,遊戲大概可以分為3個類 square小正方形,block由4個小正方形組合成的乙個圖形,gamefield遊戲的驅動引...