『壹』 「俄羅斯方塊」是什麼意思
《俄羅斯方塊》(Tetris, 俄文:Тетрис)是一款由俄羅斯人阿列克謝·帕基特諾夫於1984年6月發明的休閑游戲。
該游戲曾經被多家公司代理過。經過多輪訴訟後,該游戲的代理權最終被任天堂獲得。任天堂對於俄羅斯方塊來說意義重大,因為將它與GB搭配在一起後,獲得了巨大的成功。
《俄羅斯方塊》的基本規則是移動、旋轉和擺放游戲自動輸出的各種方塊,使之排列成完整的一行或多行並且消除得分。
俄羅斯方塊游戲規則
由小方塊組成的不同形狀的板塊陸續從屏幕上方落下來,玩家通過調整板塊的位置和方向,使它們在屏幕底部拼出完整的一條或幾條。這些完整的橫條會隨即消失,給新落下來的板塊騰出空間,與此同時,玩家得到分數獎勵。
沒有被消除掉的方塊不斷堆積起來,一旦堆到屏幕頂端,玩家便告輸,游戲結束。
『貳』 c語言中俄羅斯方塊屬於哪種數據類型
C語言裡面沒有俄羅斯方塊這個數據類型啊兄弟,如果你是說C語言編寫的俄羅斯方塊程序,那麼你可以定義一個名字叫做eluosifangkuai的結構體,裡面方一些相關屬性。
『叄』 俄羅斯方塊
國內主要流行時間段:1990年~至今
俄羅斯方塊的發明者,是當時還被稱為"蘇聯"的聯邦科學員阿萊克斯?帕吉托夫,該游戲最初是作為自我消遣的電腦游戲而被製作出來的。此後,由於政治和經濟等多方面的原因,該游戲曾經被多家公司代理過。經過多輪訴訟的爭奪後,該游戲的代理權最終還是被任天堂獲得。俄羅斯方塊對於任天堂來說意義重大,因為將它與GB搭配在一起後,產生了令人意想不到的效果,獲得了巨大的成功。而對於中國玩家來說,俄羅斯方塊可以說是第一次讓國人認識到游戲是一種老少皆宜的娛樂方式,從某種程度上扭轉了國人的"游戲是小孩子的東西"或"游戲是毒害兒童的元兇"等錯誤觀念。
『肆』 俄羅斯方塊游戲有那些類型~~~~
有標准,經典,新式,最近有個表態俄羅斯方塊,真的很崩潰
『伍』 俄羅斯方塊是什麼游戲
《俄羅斯方塊》是休閑類型的游戲。
《俄羅斯方塊》(Tetris,俄文:Тетрис)是一款由俄羅斯人阿列克謝·帕基特諾夫於1984年6月發明的休閑游戲。
簡介
顧名思義,俄羅斯方塊自然是俄羅斯人發明的。這人叫阿列克謝·帕基特諾夫(АлексейПажитнов英文:Alexey Patnov)。
俄羅斯方塊原名是俄語Тетрис(英語是Tetris),這個名字來源於希臘語tetra,意思是「四」,而游戲的作者最喜歡網球(tennis)。於是,他把兩個詞tetra和tennis合而為一,命名為Tetris,這也就是俄羅斯方塊名字的由來。
『陸』 一個簡單的c語言寫的俄羅斯方塊程序
1、考慮怎麼存儲俄羅斯方塊
俄羅斯方塊的形狀一共有19種類型,如果拿數組來表示的話,可能會比較會浪費空間(網上有很多實現代碼)
考慮到每種方塊形狀的范圍是4 *4的小方塊,用 字模點陣的方式來存儲,即設置一個4行4列的數組,元素置1即代表這個位置有小
方塊,元素置0即代表這個位置無小方塊,這個整個的4*4的數組組成俄羅斯方塊的形狀。
1000
1000
1100
0000
上述4*4來表示L形狀的方塊。
4*4 =16 bit 正好為short類型,所以每一個方塊可以用一個short類型的數據來表示。
我們把俄羅斯方塊點陣的數位存在rockArray中,我們可以事先把這19種方塊的字模點陣自己轉化成十六進制,然後在rockArray數組的初始化時賦值進去。
但是這種方式擴展性不好,每當有一種新方塊時需要改動,
所以可以寫一個配置文件來表示19種方塊。(RockShape.ini)
@###@###@@######1234
從配置文件中讀取方塊的類型的代碼在(Init.h的ReadRock函數中)在下面3中解釋下代碼如何實現
2如何畫出方塊
可以使用EasyX庫來畫出簡單的圖形,
EasyX庫是在VC下實現TC的簡單繪圖功能的一個庫,這個庫很容易學會(直接 網路EasyX庫,裡面有詳細的教程)
那麼如何畫出方塊,方塊已經存儲到一個short類型中了
從short中讀取出,可以用一個掩碼mask = 1來與short的每個bit位相與,結果為1,則畫出一個小方塊;
函數聲明:
void DisplayRock(int rockIdx, RockLocation_t* LocatePtr, bool displayed)1
參數1:表示在數組中的下標,取出short類型的方塊表示數據
參數2:表示當前坐標,即畫出方塊的左上角的坐標x,y
參數3:true表示畫出該方塊,false 表示擦除該方塊。
//方塊在圖形窗口中的位置(即定位4*4大塊的左上角坐標) typedef struct LOCATE
{ int left; int top;
} RockLocation_t;123456
3如何實現同一種類型方塊的翻轉,
在按『↑』時應該翻轉同一種類型的方塊,
比如下面的橫桿和豎桿
@###@###@###@###@@@@############****1234567891011
可以假想成靜態循環鏈表來實現這種方式
使同一種類型的方塊循環起來,
用一個struct結構來表示一種方塊
typedef struct ROCK
{ //用來表示方塊的形狀(每一個位元組是8位,用每4位表示方塊中的一行)
unsigned short rockShapeBits; int nextRockIndex; //下一個方塊,在數組中的下標 } RockType;123456
定義一個RockType類型的數組來存儲19種方塊
RockType RockArray[19] = { (0, 0) };
當我們按「↑」時,把傳入畫方塊函數DrawRock中的rockIndex變為當前方塊結構體中的nextRockIndex即可。
簡單解釋下ReadRock函數的實現:當讀取到空行的時候表示 一種方塊已經讀取完畢,當讀取到****行時 表示同一種類型的方塊讀取完畢,具體看代碼實現,代碼中具體的注釋
4、主要游戲實現的邏輯
貼一個預覽圖吧
註:上述預覽圖的游戲控制區和游戲顯示區在Draw.h的DrawGameWindow()函數實現的
(1)在初始位置畫出方塊,在預覽區畫出下一次的方塊
(2)方塊有兩種行為:響應鍵盤命令UserHitKeyBoard(),自由下落
如果敲擊鍵盤了(w ,a ,s ,d, )空格表示暫停,如果在規定時間內沒有敲擊鍵盤的話,方塊自由下落一個單位
if (kbhit()) //如果敲擊鍵盤了 就處理按鍵
{
userHit = getch();
UserHitKeyBoard(userHit, &curRockIndex, &curRockLocation);
} //沒有 就自動下移一個單位 :不能用else,因為可能按鍵不是上下左右
DWORD newtime = GetTickCount(); if (newtime - oldtime >= (unsigned int)(300) && moveAbled == TRUE)
{
oldtime = newtime;
DisplayRock(curRockIndex, &curRockLocation, false);
curRockLocation.top += ROCK_SQUARE_WIDTH; //下落一格
}1234567891011121314
(3)當方塊落地(即不能下移了)時,判斷是否滿行,如果滿行則消除,然後再判斷游戲是否結束,游戲結束的話,直接退出遊戲
判斷滿行:FullLine()函數,從最底下的一行開始判斷,直到遇到一行空行,
while (count != xROCK_SQUARE_NUM ) //遇到空行 14
{
linefull = true; count = 0; for (int i = 1; i <= xROCK_SQUARE_NUM; ++i)
{ if (game_board[idx][i] == 0)
{
linefull = false; count++;
}
} if (linefull) //滿行,消除當前行,更新分數
{
DelCurLine(idx);//消除滿行
game_socres += 3;
UpdateSocres(game_socres);
idx++;//因為下面要減1
}
idx--;
}
(4)消除滿行
將要刪除的滿行擦除:即將方塊化成與背景色相同的,該代碼為黑色
然後將上面的一行向下移,移一行刪除一行,直到遇到空行
具體看代碼的具體實現 game.h
void DelCurLine(int rowIdx)
(4)判斷方塊是否能移動
在game.h中實現
bool MoveAble(int rockIndex, RockLocation_t* currentLocatePtr, int f_direction)1
**比較當前位置的坐標(左上角)開始,能否放下rockIndex的方塊。
註:f_direction為」↑」的話,則傳入的rockIndex為下一個方塊**
如果不能移動的話,給游戲game_board設置標記表示該位置被佔有
//全局變數-游戲板的狀態描述(即表示當前界面哪些位置有方塊) //0表示沒有,1表示有(多加了兩行和兩列,形成一個圍牆,便於判斷方塊是否能夠移動) int game_board[yROCK_SQUARE_NUM + 2][xROCK_SQUARE_NUM + 2] = { 0 };123
實現過程遇到的一些問題
(1)在快速下落的時候,可能方塊會掉出圍牆的范圍內,
快速下落是使方塊每次下落2個單位距離。
在判斷不能下落時,使當前坐標的top即y減去一個單位的距離
(2)遇到多行滿行時消除不了,
在判斷滿行時,循環找出滿行,找出一個滿行,就消除一行,然後繼續判斷是否滿行,直到遇到空行
『柒』 老式游戲機俄羅斯方塊怎麼玩
老式游戲機的俄羅斯方塊操作比較簡單,左邊按鍵控制方向,右邊控制變形,前幾關速度比較慢,很簡單,後期速度太快,玩十件套太長容易精力不集中。
『捌』 俄羅斯方塊的起源
俄羅斯方塊的起源 1985年左右,年僅16歲的天才高中生伯丁,將俄羅斯科學研究院電腦中心研究員帕吉特諾夫和帕夫洛斯基在Electronica 60上編寫的一種傳統的游戲程序改寫成了PC版本。 最終經過各種改良,俄羅斯方塊的第一個PC版本誕生了,他們給這個游戲取了一個源於希臘文字的名字「四」(tetra)——Tetris,即現在的「俄羅斯方塊」。 這種將不斷掉落的各種形狀的方塊擺滿一行將之消除的游戲,不僅風靡了當時的俄羅斯, 甚至到現在依然以其不退的熱度席捲著全球。眾多游戲開發者也紛紛效仿製作出了各種新版本, 因此也使「俄羅斯方塊」這款老少咸宜的游戲變得越來越趣味橫生。俄羅斯人發明的,所以得名 ======================== 無可爭議,《俄羅斯方塊》是有史以來最偉大的游戲之一。然而,還有一個很強的理由讓我們去掉「之一」這兩個字,使它成為唯一的「最偉大的游戲」。請這樣想:有哪個當代的電子游戲或電腦游戲能與它相提並論?比如說,能被100年後的人們繼續拿來玩? 沒有,除了《俄羅斯方塊》外一個也沒有。它是永恆的娛樂經典,但它實際上又和那些傳統的經典娛樂方式不同,因為它的本質是電子化的,所以它的確屬於現代產物。比如,《俄羅斯方塊》與象棋就不同,你不能以任何實體形式去玩俄羅斯方塊。的確,在許多年裡,《俄羅斯方塊》以無數形式經過了大量變形和更改,但游戲核心依然保持不變。這些游戲的核心能夠提供吸引人親自動手實踐的挑戰。 《俄羅斯方塊》的起源實際上要追溯到八十年代中期,盡管它的人氣一直到幾年後才開始顯露出來。游戲的概念十分簡單,如今已經成為一種公認的規則:屏幕頂部以隨機順序落下形狀各異的碎塊,你要試圖用它們拼成沒有空隙的行列。你沒法打贏《俄羅斯方塊》,因為你堅持得時間越長,游戲速度也就變得越來越快,而游戲的吸引力就在於使你頂住碎塊的進攻,支撐的時間比上一次更長。《俄羅斯方塊》舉世聞名的游戲性,在該游戲新鮮出爐時就顯得非常直觀。某些與墜落的玩具碎片和它們的形狀有關的東西,使得哪怕新手也會很自然地企圖把它們排列起來,並加以適當組合,就好似《俄羅斯方塊》觸動了我們某些內在的感官,使得哪怕是我們當中最雜亂無章的人也要把事情整理妥當。 這個具有定義性和廣泛影響的益智游戲激發了整整一種風格的作品,特別是後來數年間發源於日本的某些優秀的益智游戲,它們全都在《俄羅斯方塊》的基礎上作了自己獨特的改動。然而,雖然這些游戲看上去各有千秋,但它們與《俄羅斯方塊》的內在相似性卻無可否認。 在曾經發布過的所有游戲中,《俄羅斯方塊》還被認為是僅有的一個能夠真正吸引廣泛人群的作品。絕大多數人都能說出,自己有某些對游戲毫無興趣的親朋好友,卻令人難以置信地痴迷於《俄羅斯方塊》。誰能說清楚,迄今為止人們究竟花了多少萬個小時在這個游戲上?也許這些時間本來可以被花在更具生產力的活動上。某些批評家也許會聲稱,《俄羅斯方塊》要比過去二十年間出現的任何東西都要浪費人們的時間。至於我們,則要欣然提名它為GameSpot評選出的歷史上最偉大游戲之一。 很容易到手 《俄羅斯方塊》由莫斯科科學學院程序員Alexei Pajitnov所設計。顯然,人們一開始並沒預料到它將會有如此廣泛的吸引力。實際上,在游戲發明後的數年間,《俄羅斯方塊》成了無數場專利官司和法律糾紛的目標,而許多公司也不遺餘力地上陣廝殺,想要將游戲的創意據為己有。一個最初的版本是Spectrum Holobyte為IBM兼容機開發的游戲。1988年,《俄羅斯方塊》在街機上也變得非常流行,這都要歸功於Atari,因為他們發布了一個能讓兩名玩家同時游戲的版本。 還是在1988年,Tengen為任天堂娛樂系統發布了《俄羅斯方塊》的一個優秀版本,但它很快便從貨架上撤掉了,因為任天堂指控該公司侵犯版權。後來,任天堂把那個版本的《俄羅斯方塊》換成了自己的版本,可是新版本卻缺乏Tengen版的雙人對打模式和出色的音樂。到了1989年,任天堂著手將一個移動版本的《俄羅斯方塊》與當時嶄新的GBA系統捆綁出售。GBA後來成為有史以來銷售成績最佳的游戲系統,對此,《俄羅斯方塊》作出了不小的貢獻。 如今你可以在從Xbox到計算器的任何平台上玩到《俄羅斯方塊》。Tetrinet2.com這個網站有個優秀的PC平台免費在線版本,支持多人對打。
『玖』 俄羅斯方塊游戲有哪些類(不是類型)
OK
『拾』 俄羅斯方塊屬於哪種類型的游戲
是一款風靡全球的電視游戲機和掌上游戲機游戲,它由俄羅斯人阿列克謝·帕基特諾夫發明,故得此名。俄羅斯方塊的基本規則是移動、旋轉和擺放游戲自動輸出的各種方塊,使之排列成完整的一行或多行並且消除得分。由於上手簡單、老少皆宜,從而家喻戶曉,風靡世界。