python俄罗斯方块代码34行_python turtle实现俄罗斯方块 基础版

本项目通过python自带库tkinter实现,无需安装第三方库

本项目基于python3版本开发(如果你的是python2.x,运行可能会有问题)

一、基础界面

1 搭建基础窗体

使用tkinter库实现基础窗体,不加入任何功能只需如下三行代码

import tkinter as tk

win = tk.Tk()

win.mainloop()

运行代码生成的窗口如下

1662891-20191008234518639-1967580420.png

接下来我们需要在窗体里面,添加一个画布容器用来“装”俄罗斯方块,就是让这个画布作为面板,俄罗斯方块的移动和绘制均在这个画板上实现。

这里我们设定一些俄罗斯方块游戏参数

行数为R(取20)

列数为C(取12)

俄罗斯方块的边长为cell_size(取30)

通过tkinger的画布类Canvas实现的代码如下

import tkinter as tk

cell_size=30

C = 12

R = 20

height = R*cell_size

width = C*cell_size

win = tk.Tk()

canvas = tk.Canvas(win, width=width, height=height)

canvas.pack()

win.mainloop()

运行代码生成的窗口如下,此时界面的长宽就变成我们所需要的了

1662891-20191008235155845-999771241.png

接下来在画板上绘制俄罗斯方块空白位

首先建立一个函数draw_cell_by_cr,用于在画板上绘制俄罗斯方块

然后遍历一遍所有行所有列,绘制上空白的方块(为了和背景区分,所以设置空白方块为轻灰色)

此时整体代码如下:

import tkinter as tk

cell_size=30

C = 12

R = 20

height = R*cell_size

width = C*cell_size

def draw_cell_by_cr(canvas, c, r, color = "#CCCCCC"):

"""

:param canvas: 画板,用于绘制一个方块的Canvas对象

:param c: 方块所在列

:param r: 方块所在行

:param color: 方块颜色,默认为#CCCCCC,轻灰色

:return:

"""

x0 = c * cell_size

y0 = r * cell_size

x1 = c * cell_size + cell_size

y1 = r * cell_size + cell_size

canvas.create_rectangle(x0, y0, x1, y1, fill=color, outline="white", width=2)

win = tk.Tk()

canvas = tk.Canvas(win, width=width, height=height,)

canvas.pack()

# 绘制方格块

for ri in range(R):

for ci in range(C):

draw_cell_by_cr(canvas, ci, ri)

win.mainloop()

此时运行代码生成的窗口如下

1662891-20191009001628713-854700022.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值