鱼C论坛

 找回密码
 立即注册
查看: 16591|回复: 125

[技术交流] 纪念 1984.06.06 俄罗斯方块发布~

  [复制链接]
发表于 2022-6-6 18:34:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2022-6-6 20:59 编辑

在线讲解:



《俄罗斯方块》(Тетрис)英文名 Tetris,于 1984 年 6 月 6 日首次发布,风靡全球,没有之一的游戏~

alexey-pajitnov-6910f6a9-a373-43b2-a888-cae976d72ee-resize-750.jpg

游戏最初由阿列克谢·帕基特诺夫在苏联设计和编写。

此游戏的名称是由希腊语数字“四”的前缀“tetra-”。

所以所有落下方块皆由四块组成。

此外帕基特诺夫最喜欢的运动是网球(“tennis”),所以拼接在一起。

有趣的是,虽然游戏为苏联人发明,但最初为了规避版权,在苏联解体前就已经将其普遍称为“俄罗斯方块”了。

写好一个极简版俄罗斯程序给大家:
# 上方向键-旋转
# 左方向键-左移
# 右方向键-右移
# 下方向键-加速
import pygame
import random

colors = [
    (0, 0, 0),
    (120, 37, 179),
    (100, 179, 179),
    (80, 34, 22),
    (80, 134, 22),
    (180, 34, 22),
    (180, 34, 122),
]


class Figure:
    x = 0
    y = 0

    figures = [
        [[1, 5, 9, 13], [4, 5, 6, 7]],
        [[1, 2, 5, 9], [0, 4, 5, 6], [1, 5, 9, 8], [4, 5, 6, 10]],
        [[1, 2, 6, 10], [5, 6, 7, 9], [2, 6, 10, 11], [3, 5, 6, 7]],
        [[1, 4, 5, 6], [1, 4, 5, 9], [4, 5, 6, 9], [1, 5, 6, 9]],
        [[1, 2, 5, 6]],
    ]

    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.type = random.randint(0, len(self.figures) - 1)
        self.color = random.randint(1, len(colors) - 1)
        self.rotation = 0

    def image(self):
        return self.figures[self.type][self.rotation]

    def rotate(self):
        self.rotation = (self.rotation + 1) % len(self.figures[self.type])


class Tetris:
    level = 2
    score = 0
    state = "start"
    field = []
    height = 0
    width = 0
    x = 100
    y = 60
    zoom = 20
    figure = None

    def __init__(self, height, width):
        self.height = height
        self.width = width
        for i in range(height):
            new_line = []
            for j in range(width):
                new_line.append(0)
            self.field.append(new_line)

    def new_figure(self):
        self.figure = Figure(3, 0)
...

2022-06-06_18-37-12.jpg

完整源码(回复我爱鱼C):
游客,如果您要查看本帖隐藏内容请回复


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-6 21:02:36 | 显示全部楼层

回帖奖励 +2 鱼币

我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 21:09:03 | 显示全部楼层

回帖奖励 +2 鱼币

我爱C鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 21:10:23 | 显示全部楼层
我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 21:19:00 | 显示全部楼层

回帖奖励 +2 鱼币


我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 21:42:16 | 显示全部楼层

回帖奖励 +2 鱼币

复我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 21:46:21 | 显示全部楼层

回帖奖励 +2 鱼币

我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 21:50:14 | 显示全部楼层

回帖奖励 +2 鱼币

我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 22:10:28 | 显示全部楼层
我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 22:30:43 | 显示全部楼层
学到了,学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 22:54:03 | 显示全部楼层

回帖奖励 +2 鱼币

学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 23:38:33 | 显示全部楼层

回帖奖励 +2 鱼币

学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 00:44:45 | 显示全部楼层

回帖奖励 +2 鱼币

学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 01:02:37 | 显示全部楼层

回帖奖励 +2 鱼币

学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 08:08:43 | 显示全部楼层
学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 09:32:46 | 显示全部楼层
我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 13:05:07 | 显示全部楼层
学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 13:05:42 | 显示全部楼层
我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 14:33:28 | 显示全部楼层
我爱鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 16:28:50 | 显示全部楼层
学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-24 01:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表