【python+情人节】玩个俄罗斯方块都是爱你的形状——一、思路分析

俄罗斯方块、贪吃蛇、心形表白 | 好玩的C语言源码 哔哩哔哩Bilibili,你感兴趣的视频都在B站。哔哩哔哩Bilibili,你感兴趣的视频都在B站。哔哩哔哩Bilibili,你感兴趣的视频都在B站。,免费获取版贪吃蛇、俄罗斯方块、心形表白。,免费获取版贪吃蛇、俄罗斯方块、心形表白。的个人空间_哔哩哔哩_Bilibili。的个人空间_哔哩哔哩_Bilibili。的个人空间_哔哩哔哩_Bilibili。 阅读详情

本项目效果如图
动画过程已投稿b站:https://www.bilibili.com/video/av88671119
在这里插入图片描述

目录

一、思路分析

二、手动拼图

三、自动拼图

四、动画展示

======================= 大爽歌作,made by big shuang =======================

一、思路分析

0、项目介绍

如最上面的图所示,本项目实际上就是通过俄罗斯方块拼出一个爱心的形状
具体拆分成三步

  • 1 - 画出个爱心的形状
  • 2 - 用俄罗斯方块拼起来
  • 3 - 展示过程动画

1、画出个爱心的形状

这一步主要是手动实现的,即手动去做出能够表示一个爱心的二维列表(矩阵)
一个由方格块组成的爱心形状如图
在这里插入图片描述
其中轻灰色的方格用0表示,粉红色的方格用1表示
则迷宫文本如下,建议将文本保存到一个txt里面

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

ps1:我的项目里面保存的名字是love3.txt,你也可以起别的名字,不过后面记得调用的时候要替换
ps2:爱心中的粉红色的方格的数量必须是4的倍数,原因见下文

2 - 用俄罗斯方块拼起来

要用如下其中俄罗斯方块把这个爱心拼起来
在这里插入图片描述
图中7种俄罗斯方块的方格数都是4的倍数,
所以要让他们能够拼出一个爱心的话,
爱心的方格数量也必须是4的倍数
这里可以看成一个方格拼图问题
解决这个问题有两种方法
一种是通过算法去实现 - 本人使用的是回溯法
一种是手动实现 - 自己试出拼法
这里比较下两种方法

通过算法去实现

优点: 省事,对所有符合要去的爱心文本都可以找到
缺点: 不能自主选择,很容易出现老是用单一种的俄罗斯方块拼慢很多区域的情况,以及有的种类的俄罗斯方块则没有被用到,容易显得单调不丰富
补充: 但是由于本人使用的是回溯法,执行算法特别耗时间(执行出结果大概花了半个小时)

手动去实现

单纯手动的去实现非常麻烦
这里我做一个gui辅助手动去实现
优点: 可以自己选择
缺点: 费时间,换一种爱心文本就要再去手动找一次
补充: 但是由于本人使用的是回溯法,执行算法特别耗时间

3、做个gui去动态展示

TODO

用python写一个俄罗斯方块小游戏 相信大家都玩过俄罗斯方块吧,应该是小时候的回忆吧,但是想不想了解一下这个程序是怎么写出来的呢,自己写出来的应该玩起来更有感觉吧! 感觉还是蛮好玩吧! 接下来,我就分享一下这个游戏的源码过程啊! 先用python创建一个py文件 定义这次程序所需要的类 import sys import time import pygame from pygame.localsimport * import blocks 然后写出它所需要的模块 SIZE =30 # 每个小方格大小 BLOCK_HEIGHT =2 阅读详情

相关推荐

html5俄罗斯方块游戏代码.zip

html5俄罗斯方块游戏代码是一款基于html5制作的3d俄罗斯方块网页游戏源码下载。

【python+情人节】玩个俄罗斯方块都是爱你的形状——三、自动拼图

本项目效果如图 动画过程已投稿b站:https://www.bilibili.com/video/av88671119 目录 一、思路分析 二、手动拼图 三、自动拼图 四、动画展示 ======================= 大爽歌作,made by big shuang ======================= 三、自动拼图 1、介绍分析 这里再先介绍一遍 本部分要通过算法实现俄...

大爽老师的博客 2423

解决PubMed卡在“正在检查浏览器”页面的完整排查指南

DNS解析是将域名转换为IP地址的基础网络服务,其稳定性和准确性直接影响网站访问。当DNS服务器响应缓慢或返回异常结果时,可能导致客户端与服务器建立连接时出现偏差,从而触发网站的安全验证机制,例如Cloudflare等安全服务提供的浏览器环境检查。这一机制旨在防御恶意流量,但偶尔也会误拦截正常访问。在生物医学信息检索领域,PubMed作为核心文献数据库,其稳定访问对科研工作流至关重要。针对因DNS或本地缓存问题导致的‘正在检查浏览器’页面卡顿,通过刷新DNS缓存、更换为Google Public DNS或C

weixin_29597551的博客 3639

算法分析题——金币列阵问题(C实现)

用数字表示金币状态,0表示金币正面朝上,1表示金币背面朝上 由文件input.txt给出输入数据。

改改的博客 590

SAP预扣税配置实战:从BP创建到外部接口集成的完整流程

本文详细拆解了SAP S/4HANA中预扣税配置与集成的完整实战流程。内容涵盖从业务伙伴(BP)架构下的数据存储理解、后台基础配置,到针对批量处理场景,如何绕过标准BAPI,采用直接更新核心表LFBW的策略进行高效开发。最后,文章探讨了与外部接口集成的多种模式与数据流设计,为财务顾问和ABAP开发人员提供了一套清晰、可落地的解决方案。

weixin_29204749的博客 415

STM32H7 Flash擦除后数据读取异常的缓存问题解析

本文深入分析了STM32H7系列芯片在Flash擦除后数据读取异常的缓存问题,揭示了由于数据缓存(D-Cache)和指令缓存(I-Cache)导致的数据一致性问题。通过详细的解决方案,包括手动维护缓存一致性和操作期间禁用缓存,帮助开发者有效解决这一常见但棘手的嵌入式开发难题。

weixin_29158413的博客 392

【python+情人节】玩个俄罗斯方块都是爱你的形状——二、手动拼图(通过gui辅助实现)

本项目效果如图 动画过程已投稿b站:https://www.bilibili.com/video/av88671119 目录 一、思路分析 二、手动拼图 三、自动拼图 四、动画展示 ======================= 大爽歌作,made by big shuang ======================= 二、手动拼图 1、介绍 手动拼图这里通过一个gui来辅助实现 这个g...

大爽老师的博客 1399

GD32官方资料学习体系(主要包括MCU选型、原理图PCB设计、软件开发入门及用户手册等)

大部分还未更新,先占个坑,日后更新…… 目前国外芯片涨价涨的离谱(就是在说ST),国内最好的替代就是兆易创新出的系列芯片了。但是官方资料繁杂,小白上手不易,因此边入门边记录,也给后来者根据官方资料可以有一个较为完整的学习体系。

Eddie的博客 1万+

俄罗斯方块代码

 public class ERS_Block extends Frame{    public static boolean isPlay=false;    public static int level=1,score=0;    public static TextField scoreField,levelField;    public static MyTimer time...

bangzhou5573的博客 624

js逆向实战:爬取淘宝男装商品

本文介绍了一个淘宝商品数据爬取程序的技术实现方案。该程序通过分析淘宝H5页面接口,实现了商品名称、价格、销量等关键信息的抓取,并支持图片下载功能。核心内容包括:1. 使用Request库发送HTTP请求获取数据;2. 通过逆向分析淘宝的签名算法(MD5加密)生成合法请求;3. 解析JSON数据并提取商品信息;4. 处理分页参数实现多页数据爬取;5. 将数据保存为CSV文件并下载商品图片。程序还实现了反爬虫绕过、错误处理、文件管理等辅助功能,完整展示了从数据采集到存储的全过程。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 1573

使用verilog实现基于FPGA的TDC设计

verilog实现TDC 高精度时间数字转换器概述(TDC) 简介: TDC被用于测量时间间隔,应用在物理研究、飞行时间测量领域等。 本设计使用verilog实现并在xilinx和altera的FPGA上均可实现! 设计中使用到下述几个模块,包括FIFO,COUNT等,在xilinx下也使用到了一些原语等。下面有实现的代码和仿真截图等。 顶层模块设计如下: module top( input wire start, input wire stop, input wire clk, output wire T

QQ_778132974的博客 6253

【python+情人节】玩个俄罗斯方块都是爱你的形状——四、动画展示

本项目效果如图 动画过程已投稿b站:https://www.bilibili.com/video/av88671119 目录 一、思路分析 二、手动拼图 三、自动拼图 四、动画展示 ======================= 大爽歌作,made by big shuang ======================= 四、动画展示 1、介绍 动画只展示拼图结果,不展示结果的求解方法 结...

大爽老师的博客 954

【示波器专题】无源探头的常用附件

使用探头进行测试,我们不仅要知道探头的原理,还需要了解探头的常用附件及其使用方式,这样才能在尽可能在测试中提高效率且减少出错的概率

一点硬件 692

Houdini通过回溯法将特定碎块进行拼贴

优点:可以通过大量生成,并自动过滤掉小碎块较多的拼贴方式,方便从剩下的优质方案中筛选更为合理的结果。 上图: 思路借鉴了:【python+情人节】玩个俄罗斯方块都是爱你的形状——三、自动拼图_大爽歌的博客-优快云博客 ...

kraka的博客 674

【推荐100个unity插件之27】推荐5种办法实现unity人物布料系统 衣服裙子飘动 头发飘动 胸部抖动 骨骼模拟 配件摆动 尾巴摆动 —— 主要是Magica Cloth 2插件

要实现Unity中的人物布料系统并使其具备动态效果,可以探索多种技术方法。这些方法不仅可以使衣服、裙子、头发等元素自然飘动,还可以实现胸部抖动、骨骼模拟、配件摆动和尾巴摆动等细致效果。本文将深入探讨五种实现这些动态效果的技术方案,从基础的物理模拟到高级的动画控制,帮助你打造逼真的人物表现。本文主要探究Magica Cloth 2的使用,因为我想探究最好的实现方法,而不是探究最多的实现方法。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 6301

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

2021-01-28

python编写俄罗斯方块 代码: import tkinter as tk from tkinter import messagebox import random R = 20 C = 12 cell_size = 30 height = R * cell_size width = C * cell_size FPS = 200 # 刷新页面的毫秒间隔为0.2秒 #定义各种形状 SHAPES = { “O”: [(-1, -1), (0, -1), (-1, 0), (0, 0)], “S”: [(-

linhfrty的博客 438

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ccf201604-2俄罗斯方块(100分)

#include <stdio.h> int a[16][10]; int b[4][4]; struct node{ int x, y; }pos[4]; node block[4]; int main(){ int i, j; for(i=0; i<15; ++i){ for(j=0; j<10; ++j){ scanf("%d", &a[i][...

WOSHILURENJI的博客 314

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

表白程序【抖音版】

   博友们大家好啊!我开通了一个专栏《我的恋爱项目日志》,记录了从大一上半学期做的有关送女友的表白程序,第一个程序是我在看了抖音上的表白程序之后下定决心做的,打算也送给我的女友,虽然当时还不是女友,但我已经开始送了,哈哈哈。    这是第一送的表白程序,陆续我会分享其余的表白程序 程序样例: 这是一封信件,写上你想对女生说的话,如果女生点击不同意按钮,按钮会随机移动,女生点同意按钮,信件窗口...

令狐_JackieHao的博客 2974

如何用python制成心_如何用python画爱心

用python绘制爱心的基本步骤如下:首先先下载安装好python程序。在我们自己的电脑上找到python 的IDLE工具。2.然后打开IDLE,新建一个文件,命名为test1.py。3.接着我们就开始导入turtle库,然后编辑代码。import turtleimport time# 画心形圆弧def hart_arc():for i in range(200):turtle.right(1)t...

weixin_30082413的博客 1万+

四个小方块组成一个方块的标志_折纸教程:折个可爱的爱心小方块,简单好玩又好看...

爱生活,爱手工,我是爱做手工的小曦!今天给大家带来的是可可爱爱的——爱心小方块折纸。每一面都有爱心的,大家可以根据自己的喜好,进行不同颜色的组合,可能会有与众不同的效果呦!具体怎么折叠,和小曦一起来看看吧!爱心小方块折纸图解教程先上图爱心小方块由六个部分组成,每个部分的折叠方法都是一样的,我们就以其中一个部分为例,开始我们的教程。我们需要准备的材料有:六张长方形纸,长宽比为2:1,我用的是15*7...

weixin_33565558的博客 3559

python tkinter从入门到撩妹-整蛊弹窗-1

python版本:3.6 效果如图 动画见本人b站投稿 1实现一个无法关闭的窗体 使用tkinter实现基础窗体只需如下三行代码 import tkinter as tk win = tk.Tk() win.mainloop() 运行结果如下图 这是个没有任何内容的窗体,点击右上角的×会关闭这个窗体。 要实现整蛊,就必须让窗体无法通过这个×关闭 这里我们仔细看前面三行代码,会发现窗体是...

大爽老师的博客 2671

python从入门到撩妹 2 —— 30行代码实现520小彩蛋

作者自我介绍:大爽歌, b站小UP主 ,直播编程+红警三 ,python1对1辅导老师 。 本文对应视频版本: 520小彩蛋 python32行代码实现 —— python从入门到撩妹-2 1 彩蛋效果展示: 网页上展示的效果可能不齐, 但是python上的输出是对齐的。 可能是不同平台的空格宽度不同的缘故 祝祝祝 脱脱脱 单单单 祝     脱 单 单 祝祝祝 脱脱脱 单 单   祝 脱   单 单 祝祝祝 脱脱脱 单单单 我我我 爱爱爱 你你你 我     爱 你 你 我我我 爱爱爱 你 .

大爽老师的博客 677

python tkinter从入门到撩妹-整蛊弹窗-S特供版

这个版本其实网上也有很多,应我的直播间盟主假爱情邀请,我这也给大家写一个 版本说明,和之前的整蛊弹窗一版本的区别就是按钮没有对应的方法变了 版本1:鼠标移到按钮没有时,直接会跑开 版本S:鼠标点击按钮没有时,切换图片进行提醒 这里为了省事,就直接在我之前的整蛊弹窗一版本的代码的基础上写吧 整蛊弹窗一版本:https://blog.youkuaiyun.com/python1639er/article/de...

大爽老师的博客 626

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 411
上一篇: python tkinter从入门到撩妹-整蛊弹窗-S特供版
下一篇: 【python+情人节】玩个俄罗斯方块都是爱你的形状——二、手动拼图(通过gui辅助实现)
大爽歌
博客等级 码龄9年 422粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值