鱼C论坛

 找回密码
 立即注册
查看: 19444|回复: 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”),所以拼接在一起。

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

写好一个极简版俄罗斯程序给大家:

  1. # 上方向键-旋转
  2. # 左方向键-左移
  3. # 右方向键-右移
  4. # 下方向键-加速
  5. import pygame
  6. import random

  7. colors = [
  8.     (0, 0, 0),
  9.     (120, 37, 179),
  10.     (100, 179, 179),
  11.     (80, 34, 22),
  12.     (80, 134, 22),
  13.     (180, 34, 22),
  14.     (180, 34, 122),
  15. ]


  16. class Figure:
  17.     x = 0
  18.     y = 0

  19.     figures = [
  20.         [[1, 5, 9, 13], [4, 5, 6, 7]],
  21.         [[1, 2, 5, 9], [0, 4, 5, 6], [1, 5, 9, 8], [4, 5, 6, 10]],
  22.         [[1, 2, 6, 10], [5, 6, 7, 9], [2, 6, 10, 11], [3, 5, 6, 7]],
  23.         [[1, 4, 5, 6], [1, 4, 5, 9], [4, 5, 6, 9], [1, 5, 6, 9]],
  24.         [[1, 2, 5, 6]],
  25.     ]

  26.     def __init__(self, x, y):
  27.         self.x = x
  28.         self.y = y
  29.         self.type = random.randint(0, len(self.figures) - 1)
  30.         self.color = random.randint(1, len(colors) - 1)
  31.         self.rotation = 0

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

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


  36. class Tetris:
  37.     level = 2
  38.     score = 0
  39.     state = "start"
  40.     field = []
  41.     height = 0
  42.     width = 0
  43.     x = 100
  44.     y = 60
  45.     zoom = 20
  46.     figure = None

  47.     def __init__(self, height, width):
  48.         self.height = height
  49.         self.width = width
  50.         for i in range(height):
  51.             new_line = []
  52.             for j in range(width):
  53.                 new_line.append(0)
  54.             self.field.append(new_line)

  55.     def new_figure(self):
  56.         self.figure = Figure(3, 0)
  57. ...
复制代码


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

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


本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +2 鱼币

我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币

我爱C鱼
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 21:10:23 | 显示全部楼层
我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币


我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币

复我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币

我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币

我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 22:10:28 | 显示全部楼层
我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-6 22:30:43 | 显示全部楼层
学到了,学到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币

学到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币

学到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币

学到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

回帖奖励 +2 鱼币

学到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 08:08:43 | 显示全部楼层
学到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 09:32:46 | 显示全部楼层
我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 13:05:07 | 显示全部楼层
学到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 13:05:42 | 显示全部楼层
我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 14:33:28 | 显示全部楼层
我爱鱼C
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-7 16:28:50 | 显示全部楼层
学到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-24 21:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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