发信人hightman@feeling-NOsmthSPAM-org (xtt),
看板Maple
标 题[M3] 俄罗斯方块(单双版) 完全说明文件
发信站温馨小屋 (Thu Jan 2 12:27:26 2003)
转信站Ptt!news.cs.nthu!news.neu.edu.cn!news.zixia.net!news.feeling.smth.org!
::: doc/README.tetris :::
明月水轩BBS 俄罗斯方块程序
游戏起源、历史、简介
俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,
它曾经造成的轰动与造成的经济价值可以说是游戏史上的一
件大事。这款游戏最初是由苏联的游戏制作人Alex Pajitnov
制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用
户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。
究其历史,俄罗斯方块最早还是出现在PC机上,而我国的用户
都是通过红白机了解、喜欢上它的。现在联众又将重新掀起这
股让人沉迷的俄罗斯方块风潮。对一般用户来说,它的规则简
单,容易上手,且游戏过程变化无穷,而在"明月俄罗斯方块"
中,更有一些联众网络游戏所独有的魅力□□有单机作战与两人
在线对战两种模式,用户可任选一种进行游戏。对战模式还增
加了积分制,使用户既能感受到游戏中的乐趣,也给用户提供
了一个展现自己高超技艺的场所。
--------------------
本站游戏最初来自
南京大学小百合站
[email protected] 提供的原始码
当时它是一个独立程序,单机版。
後来经
浙江大学明月水轩站
[email protected]
几次修改程序後扩为双人对战模式,增加积分制 ... 并且结
合MapleBBS 的库函数,全面改写成为 动态载入模式,(.so)
积分算法参考联众俄罗斯方块游戏:
http://www.ourgame.com/srvcenter/game-intro/tetris.html
* -------------------------------
明月水轩的俄罗斯方块游戏
1、对战模式:
在用户列表里找相关用户聊天 ('t'),进入聊天界面
後按 (Ctrl-T) 即可进入双人游戏。左方画面为自己
的游戏画面,右方为对手游戏画面。
此模式不涉及钱币记录。
2、单人模式:
在 主选单 -> (T)alkPlay 【 休闲聊天区 】
-> (X)yz 明月五金行
-> (G)ame BBS游戏天地
-> (T)etris 俄罗斯方块 (单人版)
这种模式不计算积分,但保留用户的消去总条数、得分的最高纪录
衕时参与每周20强名单的竞争。
若BBS站开放钱币制度,则每次游戏结束後对用户给予站内钱币的□励。
若用户游戏得分为 S, 是否破记录(自己在每周20强中的记录) 记为 R.
(破记录 R = 1, 否则 R = 0) 则获得钱币M 为:
M = S * 20 * (R+1);
如果 M < 1000 不记录。
* -------------------------------
详细规则、胜负判定方法
1、对战模式:
游戏双方分别移动和旋转自己窗口内落下的方块,
方块在一行堆漀後就可以消掉,对战模式一次消
一行以上就可以使对方的方块上长(你连消行数-1),
哪一方的方块先堆积至窗口顶端,即告负。
2、单人模式:
游戏开始後,通过移动和旋转窗口内落下的方块,
方块在一行(多行)堆漀後就可以消掉,方块堆积
到窗口顶端後游戏结束。
* -------------------------------
游戏基本操作
1、基本键盘操作:系统缺省设置使用左边的窗口
左移:'←', 'a', 'A'
右移:'→', 'd', 'D'
下移:'↓', 's', 'S', 'z', 'Z' 一格一格下落
旋转:'↑', 'h', 'H' 逆时针转动 90 度
'k', 'K' 顺时针转支 90 度
'j', 'J' 放置 180 度
快降:'x', 'X', '空格键' 下落到底
----------------------------
下面单人版和双人版有些不衕,说明如下:
1) 双人版:
Ctrl-C, Ctrl-D 中断游戏,判为失败,并且要额外扣分
Ctrl-F 认输啦,判为失败,
Ctrl-G 实时模式切换,缺省是实时看到对手画面变化
可以切换为只看其下落结果,不看下落过程,网慢时用。
2) 单人版:
Ctrl-C, Ctrl-D 结束游戏
Ctrl-S 游戏暂停
2、 "计分牌" 显示的内容:
"分数" 为本局(双方)的分数,计算标准如下:
连消行数(N)、当前游戏等级(L) 与 加分 (S) 的数学关系式:
S = (2^N - 1) * (10 + L) / 10;
(0级时 即 1行1分,2行三分,3行7分,4行15分。)
"等级" 为双方的游戏设置等级,当行数达到一定的值,等级就会提升、速度加快。
等级 = 行数 / 30. 即三十行一个等级,每增加一个等级頀铃通知,速度减少
为原来的 90%.
"行数" 第一行为双方消的行数,第二行是送给对付的行数(单人版无)。
"比分" 为双方赢的局数 (双人版中才有)。
3、用户列表中(完全聊天手册/环顾四方)时按 'G' 可以查询对方的战绩。
* --------------------- 双人版 ----
俄罗斯方块游戏等级详述(等级称号、升级、降级标准)
1、 新用户开始游戏时系统自动先给1000分,级别是10级。
2、 100分一级,分数越高级别越高,具体级别设置如下:
0-99 0级
100-199 1级
200-299 2级
300-399 3级
400-499 4级
500-599 5级
600-699 6级
700-799 7级
800-899 8级
900-999 9级
1000-1099 10级
1100-1199 11级
以此类推……
* ----------------------------------------------
俄罗斯方块游戏积分说明(得分、加分、扣分)
1、中断、断线 用户判为负方,除正常失分外再扣 10分
2、认输则按正常失败计算
3、对局得失分埰用如下的等级分计算公式。每一局都计算一次得失分,赢者得分,输者丢分:
R1n=R1+40·(W-We)
其中:
R1-- 对局前的分数
R1n--对局後的分数
W--对局得失分 赢:1分 输0分
We--预期得分率
We=1/(1+10^((R2-R1)/400))
// 在 .so 的 Makefile 里
// .o.so: ; ld -s -G $*.o -o $*.so -L../lib -ldao
// 在最後加上 -lm (用到了数学函数 pow)
其中--R2 对手的分数
R1 自己的分数
俄罗斯方块埰用等级分,分数就是用户的水平表现,分数的差别代表用户水平的差距。和一
个与自己分数相当的用户,输赢都是20分左右的得失,和一个比自己高200分的人玩,赢一
局得30分,输一局则只丢10分,和一个比自己高400分的人玩,赢一局得36分,而输一局则
只会丢4分。
<
[email protected] 2003/01/01>
--
※ 来源:.温馨小屋 bbs.feeling.smth.org.[FROM: lib.zju.edu.cn]