《進化》游戲說明書

進化

游戲背景

自然中蘊藏著神秘的雙螺旋基因竹椒,演繹出生命的進化樹。

前情提要

本游戲適合3-8人玩耍米辐,游戲時長約20分鐘胸完。

游戲規(guī)則

為便于理解,在以下游戲規(guī)則說明中翘贮,可以將以下名詞通俗理解為:

  1. 基因:牌
  2. 自然:牌堆
  3. 世紀:回合
  4. 隱性基因:手牌
  5. 顯性基因:桌面的牌
  6. 生物:扮演桌面的牌的玩家
  7. 進化:手牌疊置到桌面的牌上方
  8. 發(fā)生事件:執(zhí)行手牌上的文字效果
  9. 歷史:棄牌堆

1.游戲開始

洗混128個基因組成自然赊窥。每個生物分發(fā)4個基因,4即生物基因數量择膝。由隨機一個生物開始順時針輪流進行一個世紀誓琼。

2.游戲回合

每個生物在一個世紀內進行以下操作:

  1. 開始世紀,從自然中獲取一個基因肴捉。

  2. 當玩家沒有顯性基因時腹侣,可以進化出“門”基因,同時從自然獲取一個基因齿穗。
    當玩家有顯性基因時傲隶,若玩家的隱性基因中有符合生物的進化的,則可以選擇進化出該基因窃页,同時從自然獲取一個基因跺株。
    若無其他說明复濒,每個世紀只可以進化一次。

  3. 選擇一個基因發(fā)生事件乒省,然后該基因變成歷史巧颈,結束回合。

3.游記結束

當有生物進化成出“屬”基因時袖扛,該生物獲勝砸泛,游戲結束。

牌組配置

128張牌

牌面文字

名詞 張數 通俗理解 文字
廢退 16 桌面的牌最上方進入棄牌堆 選擇任意一個生物最高顯性基因變?yōu)闅v史蛆封。
用進 16 桌面的牌最上方進入棄牌堆時唇礁,棄一張手牌獲得 當某生物最高顯性基因將變?yōu)闅v史時,將此基因變?yōu)闅v史來獲得該基因惨篱。
掠奪性雜交 6 別人展示部分手牌盏筐,你來選擇部分交換 選擇任意一個生物讓其展示任意數量隱性基因,你選擇獲得展示或者未展示的砸讳,并返還同等數量隱性基因琢融。
選擇性雜交 6 別人展示全部手牌,你來選擇一張交換 檢索任意一個生物的全部隱性基因绣夺,并與其交換其中一個吏奸。
平等性雜交 6 兩個人交換全部手牌 選擇其他兩個生物交換所有隱性基因。
螺旋式雜交 6 順或逆時針互相交換一張手牌 選擇左或右方向陶耍,所有生物互相交換一個隱性基因。
群體性雜交 6 每人一張手牌打混重發(fā) 所有生物貢獻一個隱性基因進行隨機重組她混。
互惠性雜交 6 互相看手牌能否打到桌面 選擇任意一個生物與其互相檢索對方的全部隱性基因烈钞,若包含在對方生物上可進化的基因,則進化坤按。
基因鎖 4 不能進化 標記任意一個生物毯欣,使其無法進化,任意生物進化一次后解除臭脓。
時間鎖 4 跳過回合 標記任意一個生物酗钞,跳過下一世紀,跳過后解除来累。
返祖 4 桌面的牌最上方收回手牌 選擇任意一個生物最高顯性基因變?yōu)殡[性基因砚作,同時選擇一個隱性基因變?yōu)闅v史。
重新進化 4 桌面的牌最上方進入棄牌堆嘹锁,同時置換一張手牌 選擇任意一個生物最高顯性基因變?yōu)闅v史葫录,同時和自然交換一個隱性基因。
瘋狂進化 4 回合進化兩次 標記任意一個生物领猾,使其可以在某世紀進化兩次米同,進化后解除骇扇。
寄生 3 獲得可以用于自己打到桌面的一張事件 標記任意一對生物寄生關系,在宿主生物基因發(fā)生事件時面粮,若該基因可以用于寄生生物的進化少孝,將一個隱性基因變?yōu)闅v史基因來獲得該基因,獲得后解除熬苍。
共生 3 別人進化時置換一張手牌 標記任意一對生物共生關系韭山,雙方生物在進化時,另一方可以和自然交換一個隱性基因冷溃,雙方某一生物最高顯性基因變?yōu)殡[性基因或歷史時解除钱磅。
集體突變 4 每人置換一張手牌 所有生物和自然交換一個隱性基因。
基因突變 4 執(zhí)行牌堆上方的兩張牌 選擇任意一個生物似枕,從自然中檢索兩個基因盖淡,若該基因可以用于該生物進化則進化,否則發(fā)生事件凿歼。
分解作用 2 獲得棄牌一張 標記任意一個生物褪迟,可以獲得任意變?yōu)闅v史的基因一次,獲得后解除答憔。
光合作用 2 選擇置換四張手牌 從自然中獲得生物基因數量的基因味赃,然后將生物基因數量的隱性基因變?yōu)闅v史。
寒武紀 1 棄牌堆符合的全打到桌面 選擇左或右方向虐拓,所有生物從歷史中找到符合進化的基因并進化(不可被其他事件阻止)心俗。
泥盆紀 1 所有人桌面的牌最上方進入棄牌堆 所有生物最高顯性基因變?yōu)闅v史(不可被其他事件阻止)。
奧陶紀 1 增加1個手牌數 所有生物從自然獲得一個基因(不可被其他事件阻止)蓉驹。
白堊紀 1 減少1個手牌數 所有生物選擇一個隱性基因變?yōu)闅v史(不可被其他事件阻止)城榛。
時間機器 2 牌堆和棄牌堆交換 將歷史與自然交換。

游戲測試

測試代碼

#-*-coding:utf-8-*-
# @Author: suhang1596

import sys
import cmd
import random

def find(grade,playerList,layerNumber):
    for i in playerList:
        if( int( ( i - 1 ) / 2 ) == grade ):
            grade = i
            if grade >= pow( 2 , layerNumber ) - 1:
                return 1
            else:
                find( grade , playerList , layerNumber )

def creatCard(layerNumber,cardList):
    x = 1
    for layer in range( layerNumber ):
        for node in range( pow( 2 , layer + 1) ):
            for samenode in range( pow( 2 , layerNumber - layer - 1 ) ):
                cardList.append( x )
                cardList.append( x )
            x = x + 1

def test(playerNumber,layerNumber,hd):
    random.shuffle(card[layerNumber])
    player = []
    for i in range( playerNumber ):
        player.append(card[layerNumber][hd*i:int(hd*(progress+i))])
        player[i].sort()

    for j in range( playerNumber ):
        mark = 0
        if ( player[j][0] == 1 ) | ( player[j][0] == 2 ):
            for y in range( 1 , 3 ):
                if (( find( y , player[j] , layerNumber ) == 1 )) :
                    mark += 1
            if mark > 0:
                mainSuccessCount[layerNumber][playerNumber] += 1
            else:
                mainFailCount[layerNumber][playerNumber] += 1
        else:
            mainFailCount[layerNumber][playerNumber] += 1

if __name__ == '__main__':

    testTimes = 500
    rate = 1.0
    progress = 0.625
    beginHandcard = 4
    roundHandcard = 1
    testLayerFrom=4
    testLayerTo=5
    testPlayerFrom=3
    testPlayerTo=9

    print (u'您的設定是玩到%.2f%%的進度态兴,' % (progress*100)),
    print (u'起始%2d張牌狠持,每回合抽取%2d張牌!\n' % (beginHandcard,roundHandcard))

    card = []
    mainSuccessCount = []
    mainFailCount = []
    handcardNumber = []
    for c in range(0,10):
        card.append([])
        handcardNumber.append([])
        mainSuccessCount.append([])
        mainFailCount.append([])
        for m in range(0,10):
            mainSuccessCount[c].append(0)
            mainFailCount[c].append(0)

    for cardNumber in range(testLayerFrom,testLayerTo):
        creatCard(cardNumber,card[cardNumber])
        print (u'目前的牌組設定下瞻润,%d個等級喘垂、%4d張牌,' % (cardNumber,len(card[cardNumber]),)),
        print (u'玩到%.2f%%的進度有%4d張牌' % (progress,len(card[cardNumber])*progress))

    for i in range(testTimes):
        for testLayer in range(testLayerFrom,testLayerTo):
            for testPlayer in range(testPlayerFrom,testPlayerTo):
                handcardNumber[testLayer] = len(card[testLayer]) / testPlayer
                test(testPlayer,testLayer,handcardNumber[testLayer])

    print (u'\n經過%d次測試绍撞,\n' % (testTimes))
    for testLayer in range(testLayerFrom,testLayerTo):
        for testPlayer in range(testPlayerFrom,testPlayerTo):
            x = float(mainSuccessCount[testLayer][testPlayer])
            y = float(mainFailCount[testLayer][testPlayer])
            rate  = x / ( x + y )
            print (u'在%2d個人中進化成功率%.2f%%,' % (testPlayer,rate*100)),
            print (u'即成功了%2d個人' % (int(rate*testPlayer))),
            hui = (  len(card[testLayer]) * progress -  beginHandcard * testPlayer )  /  roundHandcard
            quan = hui/testPlayer
            print (u'需要輪%2d圈%3d個回合' % (quan,hui))
        print ('\n')

測試結果

測試結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末正勒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子楚午,更是在濱河造成了極大的恐慌昭齐,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,496評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件矾柜,死亡現(xiàn)場離奇詭異阱驾,居然都是意外死亡就谜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評論 3 385
  • 文/潘曉璐 我一進店門里覆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丧荐,“玉大人,你說我怎么就攤上這事喧枷『缤常” “怎么了?”我有些...
    開封第一講書人閱讀 157,091評論 0 348
  • 文/不壞的土叔 我叫張陵隧甚,是天一觀的道長车荔。 經常有香客問我,道長戚扳,這世上最難降的妖魔是什么忧便? 我笑而不...
    開封第一講書人閱讀 56,458評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮帽借,結果婚禮上珠增,老公的妹妹穿的比我還像新娘。我一直安慰自己砍艾,他們只是感情好蒂教,可當我...
    茶點故事閱讀 65,542評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脆荷,像睡著了一般凝垛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上简烘,一...
    開封第一講書人閱讀 49,802評論 1 290
  • 那天苔严,我揣著相機與錄音,去河邊找鬼孤澎。 笑死,一個胖子當著我的面吹牛欠窒,可吹牛的內容都是我干的覆旭。 我是一名探鬼主播,決...
    沈念sama閱讀 38,945評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼岖妄,長吁一口氣:“原來是場噩夢啊……” “哼型将!你這毒婦竟也來了?” 一聲冷哼從身側響起荐虐,我...
    開封第一講書人閱讀 37,709評論 0 266
  • 序言:老撾萬榮一對情侶失蹤七兜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后福扬,有當地人在樹林里發(fā)現(xiàn)了一具尸體腕铸,經...
    沈念sama閱讀 44,158評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡惜犀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,502評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了狠裹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虽界。...
    茶點故事閱讀 38,637評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖涛菠,靈堂內的尸體忽然破棺而出莉御,到底是詐尸還是另有隱情,我是刑警寧澤俗冻,帶...
    沈念sama閱讀 34,300評論 4 329
  • 正文 年R本政府宣布礁叔,位于F島的核電站,受9級特大地震影響迄薄,放射性物質發(fā)生泄漏琅关。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,911評論 3 313
  • 文/蒙蒙 一噪奄、第九天 我趴在偏房一處隱蔽的房頂上張望死姚。 院中可真熱鬧,春花似錦勤篮、人聲如沸都毒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽账劲。三九已至,卻和暖如春金抡,著一層夾襖步出監(jiān)牢的瞬間瀑焦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評論 1 266
  • 我被黑心中介騙來泰國打工梗肝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留榛瓮,地道東北人。 一個月前我還...
    沈念sama閱讀 46,344評論 2 360
  • 正文 我出身青樓巫击,卻偏偏與公主長得像禀晓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子坝锰,可洞房花燭夜當晚...
    茶點故事閱讀 43,500評論 2 348

推薦閱讀更多精彩內容

  • 原書共371頁粹懒,總計34萬字,拆解版大約2.8萬字顷级,你僅需要2小時就能讀完整本書凫乖。 《自私的基因》作者理查德·道金...
    惜她閱讀 6,105評論 1 53
  • 背景與目的 公司打算做一款游戲類直播產品,通過搜索直播相關數據確定大致的用戶特征,并進行用戶調研去分析游戲直播用戶...
    Cony_H閱讀 1,123評論 0 0
  • 6月3日帽芽,周天删掀,晴 今天媽媽帶我去了博物館,還看了古代人的東西嚣镜,還去了圖書館爬迟,沒有找到奧特曼的書,還去吃漢堡和紅豆...
    康替留閱讀 162評論 0 0
  • 原創(chuàng)/雨桐(筆名:冰兒) 開始寫詩 原創(chuàng)/雨桐(筆名:冰兒) 月光下 觸一臉笑頰 光陰里 挑萬盞燈花 日子如詩 觸...
    新媒體新勢力閱讀 163評論 0 0