Tetris
Colin Fahey
1. البرامج
2. مقدمة
هذه المقاله كيفية الحاسوب الذي يمكن ان تضطلع به الكلاسيكي لعبة فيديو tetris عن طريق الحصول على معلومات عن المجلس ، وتحديد الاجراءات الجيدة ، ويؤدون تلك الاعمال.
هذه المادة تتضمن البرمجيات tetris قادر على اللعب في الوقت الحقيقي.
وتشمل البرامج افضل في الوقت الحقيقي tetris - خوارزميه اللعب في المجال العام.
هذه المادة يحدد القواعد "الموحدة لtetris" ، على أساس المواصفات الاصليه 1986 التجارية التمهيدية نسخة من tetris لاجهزة الكمبيوتر الشخصيه (PC).
في 2003 ، البرامج المدرجه في هذه المادة كانت تستخدم لتمكين كمبيوتر لتقوم به tetris مستقل يعمل على الكمبيوتر.
USB عادية وكاميرا فيديو كانت تستخدم لتمكين جهاز الكمبيوتر "انظر" الى شاشة جهاز الكمبيوتر الآخر.
أ تقوية المجلس وتمت السيطرة على طريق RS-232 واجهة لتمكين "مفاتيح" الحاسوب الى "الصحافة" على لوحة المفاتيح للكمبيوتر اخر.
ومن ثم ، فان اول جهاز كمبيوتر العلاقة الثانية الى جهاز الكمبيوتر الذي يقوم نموذجية مماثلة لعلاقة الانسان لاعب الى الكومبيوتر عندما لعب tetris ؛ اللعبة هي الدولة الوحيدة المعروفة من خلال النظر الى الشاشه ، واتخاذ اجراءات لاعب لا يمكن الا ان يكون بدأ من خلال لوحة المفاتيح .
في الاعداد لهذه التظاهره ان الحاسوب الذي يمكن ان تضطلع به tetris أفضل من الانسان ، في اطار العادي في الوقت الحقيقي tetris ظروف اللعب.
3. تاريخ tetris
في 1985 ، Alexey Pajitnov وكانت Dmitry Pavlovsky الحاسوب المهندسين في Computing Center of the Russian Academy of Sciences.

Dorodnicyn Computing Centre من Russian Academy of Sciences
Alexey وDmitry كانت مهتمة بتطوير وبيع العاب الكمبيوتر تسبب الادمان.
انها اختبار عدة العاب مختلفة.
Alexey مستوحاة من اليونانيه القديمة لعبة اللغز ، Pentaminos ، الذي ينطوي على لغز ترتيب القطع المصنوعه من خمس ساحات.
Alexey فكر فكره Pentamino ترتيب القطع لأنها سقطت في كأس لمستطيل ، لكنه يدرك ان اثني عشر مختلفة على مساحة خمسة أشكال معقدة للغاية وكانت لعبة فيديو.
Alexey تحولت الى استخدام سبع قطع "tetramino" ، ادلى كل من اربعة مربعات.
في 1985.6 ، Alexey Pajitnov المبرمجه النسخه الاولى من tetris على Electronica 60.

Dmitry Pavlovsky ، Alexey Pajitnov ، وtetris.
في 1985-1986 ، Vadim Gerasimov ، 16 عاما من العمر المدارس الثانويه الحاسوب الاعجوبه من عمل في الاكاديميه ، نفذت tetris لIBM PC ادارة MS-DOS نظام التشغيل.
(في وقت لاحق لم Vadim Gerasimov البحث في MIT Media Laboratory ، في الفترة من عام 1994 حتى عام 2003 ، تلقى على درجة الدكتوراه بعد استكمال العديد من المشاريع :
http://vadim.www.media.mit.edu)

عرض الشاشه من 1987-1988 التجارية التمهيدية لاطلاق سراح tetris لPC

اللعبة تقوم به من الشاشه 1987-1988 التجارية التمهيدية لاطلاق سراح tetris لPC
بعد 1987 ، tetris تنتشر في انحاء الكرة الارضيه.
The Tetris Company, LLC ، تمتلك tetris العلامات التجارية.
4. مشاريع مستوحاة من tetris
4.1 0 الابعاد tetris
لم تضع بعد.
4.2 1 - الابعاد tetris
Ziga Hajdukovic وقد وضعت 1 - الابعاد tetris البرمجيات التي يمكن ان تقوم في متصفح الانترنت.
Ziga Hajdukovic كما وضعت 1 - الابعاد tetris برامج للهواتف الجواله باستخدام Java J2ME المنهاج.
4.3 2 - الابعاد tetris
Tetris جميع الخيارات التقليديه في هذه الفئة.
ويشمل هذا الفرع للاهتمام المختلفة.
4.3.1 لعبة tetris أكبر من أي وقت مضى : Delft University of Technology (1995)

Tetris لعب على بناء ؛ 2000 m^2 مساحة ؛ Delft University of Technology (1995)

Tetris لعب على بناء ؛ 2000 m^2 مساحة ؛ Delft University of Technology (1995)
4.3.2 آخر tetris المباراة بناء على : Brown University (2000)

لعبة tetris عرض باستخدام الاضواء على نوافذ مبنى في Brown University (2000.4-200.5) http://bastilleweb.techhouse.org
"اعتقد انه كان فقط لا تصدق معظم لمدة يوم واحد يمكن ان يتصور شيئا وأنا في حياتي. مثل ستيف الوظائف قلنا دائما ، الرحله هي المكافاه."
"انه جعلني افكر في العودة المشاريع فعلنا في الكليه. من الاشياء التي تكاد تكون غير ممكن ان شعب آخر لن نفكر به."
Steve Wozniak (2000)
4.3.3 متصفح الانترنت مع لعبة "بناء" صورة MIT "الاخضر"

Vadim Gerisimov's متصفح الانترنت tetris
متصفح الانترنت tetris هذا الخيار من وضع Vadim Gerasimov.
هذا متصفح الانترنت tetris السمات "Green" بناء في حرم MIT.
Tetris هذا الخيار فقط ما لا يقل عن تسعة أعمدة بدلا من مستوى عشرة أعمدة.
Tetris هذا الخيار يعرض قطعة جديدة مع التوجهات العشواءيه.
Vadim Gerasimov من هو الشخص الذي كتب الكمبيوتر مدونة لPC نسخة من tetris في 1986.
Vadim Gerasimov لم دكتوراه البحث في MIT Media Laboratory خلال 1994-2003 ، والعمل على العديد من المشاريع.
4.3.4 PIC16F84 12 MHz متحكم دقيق على اساس NTSC / PAL فيديو لعبة tetris

PIC16F84 12 MHz متحكم دقيق على اساس NTSC / PAL فيديو لعبة tetris
الصورة اعلاه يبين NTSC / PAL اخراج الفيديو التي ينتجها PIC16F84 12 MHz متحكم دقيق تشغيل البرمجيات التي كتبها Rickard Gunee في 1998.
اشارة الفيديو التي تولدها البرمجيات مراقبة النواتج الرقميه.
4.3.5 "Scopetris" راسم اشارة tetris من قبل Lars Pontoppidan (2007.8)

"Scopetris" راسم اشارة tetris من قبل Lars Pontoppidan (2007.8)
Lars Pontoppidan كتب مدونة لAtMega32 متحكم دقيق ، واضاف الدوائر التناظريه بسيطة ، لايجاد صيغة tetris الذي يمكن ان تقوم على رأسم اشارة.
بعض السجلات AtMega32 متحكم دقيق للمراقبة 8 بت الناتج اشارات ، وعندما مرت من خلال "R-2R" الدائرة الكهرباءيه مقاوم للالرقميه الى التناظريه التحويل (D/A) ، مما ادى الي اشارات تناظريه يمكن السيطرة على (x,y) بتنسيق من الحزم راسم اشارة (عندما يكون هو راسم اشارة مجموعة "لطريقة X-Y)."
YouTube الفيديو :
FLV الفيديو :
4.3.6 Obfuscated قانون tetris : C / Unix
حصل على جائزة التالية "1989 IOCCC Best Game".
long h[4];t(){h[3]-=h[3]/3000;setitimer(0,h,0);}c,d,l,v[]={(int)t,0,2},w,s,I,K
=0,i=276,j,k,q[276],Q[276],*n=q,*m,x=17,f[]={7,-13,-12,1,8,-11,-12,-1,9,-1,1,
12,3,-13,-12,-1,12,-1,11,1,15,-1,13,1,18,-1,1,2,0,-12,-1,11,1,-12,1,13,10,-12,
1,12,11,-12,-1,1,2,-12,-1,12,13,-12,12,13,14,-11,-1,1,4,-13,-12,12,16,-11,-12,
12,17,-13,1,-1,5,-12,12,11,6,-12,12,24};u(){for(i=11;++i<264;)if((k=q[i])-Q[i]
){Q[i]=k;if(i-++I¦¦i%12<1)printf("\033[%d;%dH",(I=i)/12,i%12*2+28);printf(
"\033[%dm "+(K-k?0:5),k);K=k;}Q[263]=c=getchar();}G(b){for(i=4;i--;)if(q[i?b+
n[i]:b])return 0;return 1;}g(b){for(i=4;i--;q[i?x+n[i]:x]=b);}main(C,V,a)char*
*V,*a;{h[3]=1000000/(l=C>1?atoi(V[1]):2);for(a=C>2?V[2]:"jkl pq";i;i--)*n++=i<
25¦¦i%12<2?7:0;srand(getpid());system("stty cbreak -echo stop u");sigvec(14,v,
0);t();puts("\033[H\033[J");for(n=f+rand()%7*4;;g(7),u(),g(0)){if(c<0){if(G(x+
12))x+=12;else{g(7);++w;for(j=0;j<252;j=12*(j/12+1))for(;q[++j];)if(j%12==10){
for(;j%12;q[j--]=0);u();for(;--j;q[j+12]=q[j]);u();}n=f+rand()%7*4;G(x=17)¦¦(c
=a[5]);}}if(c==*a)G(--x)¦¦++x;if(c==a[1])n=f+4**(m=n),G(x)¦¦(n=m);if(c==a[2])G
(++x)¦¦--x;if(c==a[3])for(;G(x+12);++w)x+=12;if(c==a[4]¦¦c==a[5]){s=sigblock(
8192);printf("\033[H\033[J\033[0m%d\n",w);if(c==a[5])break;for(j=264;j--;Q[j]=
0);while(getchar()-a[4]);puts("\033[H\033[J\033[7m");sigsetmask(s);}}d=popen(
"stty -cbreak echo stop \023;sort -mnr -o HI - HI;cat HI","w");fprintf(d,
"%4d from level %1d by %s\n",w,l,getlogin());pclose(d);}
4.3.7 Obfuscated قانون tetris : قانون Perl
فيما يلى tetris لPerl مترجم : Perltris (النسخه 20050717) Sean Adams.
#!/usr/bin/perl
$_='A=15; B=30; select(stdin); $¦=1; select(stdout);$¦=1; system
"stty -echo -icanon eol \001"; for C(split(/\s/,"010.010.010.010
77.77 022.020.020 330.030.030 440.044.000 055.550.000 666.060.".
"000")){D=0;for E(split(/\./,C)){F=0;for G(split("",E)){C[P][F++
][D]=G} D++}J[P]=F; I[P++] =D}%L=split(/ /,"m _".chr(72)." c 2".
chr(74)." a _m");sub a{for K(split(/ /,shift)){(K,L)=split(/=/,K
);K=L{K};K=~s/_/L/; printf "%c[K",27}}sub u{a("a=40");for D(0..B
-1){for F(0..A-1){M=G[F][D];if(R[F][D]!=M) {R[F][D]=M;a("m"."=".
(5+D).";".(F*2+5)); a("a=".(40+M).";" .(30+M));print " "x2}}}a(
"m=0;0 a=37;40")}sub r{(N)=@_;while(N--) {Q=W;W=O=H;H=Q;for F( 0
..Q-1){for D(0..O-1) {Q[F][D]=K[F][D]}}for F(0..O-1){for D(0..Q-
1){K[F][D]= Q[Q-D-1][F]}}}}sub l{for F(0..W-1){for D(0..H-1){(K[
F][D]&& ((G[X+F][Y+D])¦¦ (X+F<0)¦¦(X+F>=A)¦¦ (Y+D>=B)))&& return
0}}1}sub p{for F(0..W-1){for D(0..H-1){(K[F][D]>0)&&(G[X+F][Y+D]
=K[F][D]) }}1}sub o{for F(0..W-1){for D(0..H-1){(K[F][D]>0)&&(G[
X+F][ Y+D]=0)}}}sub n{C=int(rand(P)) ;W=J[C];H=I[C];X=int(A/2)-1
;Y=0;for F(0..W-1){for D(0..H-1){K[F][D]= C[C][F][D]}}r(int(rand
(4)));l&&p}sub c{d:for(D=B;D>=0;D--){for F(0..A-1){G[F][D]¦¦next
d}for(D2=D;D2>=0; D2--){for F(0..A-1){G[F][D2]= (D2>1)?G[F][D2-1
]:0; }}u;}}a ("m=0;0 a=0;37;40 c");print "\n\n".4x" "." "x(A-4).
"perltris\n".(" "x4)."--"xA."\n".((" "x3)."¦"." "x(A*2)."¦\n")xB
.(" "x4). "--"xA."\n";n;for(;;) {u;R=chr(1); (S,T)=select(R,U,V,
0.01);if(S) {Z=getc;}else {if($e++>20){Z=" ";$e=0;}else{next;} }
if(Z eq "k"){o;r(1);l¦¦r(3);p}; if(Z eq "j"){o;X--;l¦¦X++;p}; if
(Z eq "l"){o;X++;l¦¦X--;p};if(Z eq " "){o;Y++;(E=l)¦¦Y--;p;E¦¦ c
¦c¦c¦c¦c¦n¦¦goto g;};if(Z eq "q"){last;}}g: a("a=0 m=".(B+8).";0
" ); system "stty sane"; '; s/([A-Z])/\$$1/g; s/\%\$/\%/g; eval;
4.3.8 Mozilla SVG tetris
Scalable Vector Graphics (SVG) هو معيار لوصف الاشياء الرسوميه باستخدام XML.

Mozilla SVG tetris : tetris نفذت باستخدام وصف Scalable Vector Graphics (SVG)
4.3.9 Google "widget" tetris
Google ، Yahoo! ، وMicrosoft ، وغيرها من الشركات ، قد عززت مصغره من البرامج القائمة على شبكة الانترنت اسمه "widgets" التي عادة ما تتسم به من ديناميه استخدام بعض البيانات المتاحة على شبكة الانترنت.
وأحد هذه widget المتاحة من خلال Google هي لعبة tetris.
المثال التالي هو لطيف ، ولكن الإشكال في تدوير مزعج طرق :

Google "widget" tetris
Google widgets اخرى :
4.3.10 MIT ورقة بحث : "Tetris is Hard, Even to Approximate" (2002)
البحوث التالية وتتضمن هذه الوثيقة يدل على ان نوع معين من tetris البديل هو "NP - كاملة."
Erik D. Demaine ، Susan Hohenberger ، وDavid Liben-Nowell ، "Tetris is Hard, Even to Approximate" ، Technical Report MIT-LCS-TR-865 ، Massachusetts Institute of Technology ، 2002.10.21.
"- NP الكامل" هو التصنيف من حيث التكلفه والوقت الفضاء تكلفة خوارزميه.
وتشمل تصنيفات اخرى "P" و"NP".
أ "-" تصنيف "NP الكامل" يعني ، بالنسبة للبعض المشاكل اكبر من الحجم الصغير ، فإن من غير المحتمل ان خوارزميه لايجاد الحل المنشود في العملية قدر كبير من الوقت او المكان.
4.3.11 البحث الوثيقة : "Applying reinforcement learning to Tetris"
الورقه التالية ، نشرت 2005.5.30 ، Donald Carr في علوم الحاسوب في إدارة Rhodes University ، جنوب افريقيا ، ويعرض تطبيق tetris "لتعزيز التعلم."
4.3.12 Tetris تنورة (2007.11)

Tetris تنورة (2007.11)
وقد تم انشاء tetris تنورة من قبل "Lucy" ("hissyfitoly" على etsy.com) قبل 2007.11.
من وصف الخالق للتنورة (التي عرضت للبيع على etsy.com) :
"Okay, so I was a secret, closet Tetris fanatic from about, oh, 1993 to 1996. It was a bitter-sweet obsession. My life wasn't so great, but I could control the stacking of a few measly blocks, [damn it]! Or could I? Video games have been coming back to haunt my dreams as of late, and I find myself stacking blocks, jumping away from a frighteningly-large Q*Bert, and slipping off of logs next to a pixellated frog. This skirt is the result of those nightmares."
المنتدى تعليقات حول هذا تنورة :
"الرجل الذي تنورة المصات في tetris"
"Ahahahaha ، واعتقد نفس الشيء."
"هناك خط كامل لأسفل في أسفل... اكملت الخطوط تختفي." "هل مر" "."
"وينبغي ان يكون هناك بقعة في الظهر او عند الجبهة طويل قطعه من شأنه ان تناسب تماما..."
"وذلك امر قبيح حقا وإن كانت تنورة. بلدي الصديق لا يمكن لي ان شراء الشوكولاته والزهور بما فيه الكفايه لاقناع لي ارتداء هذا الشيء."
4.3.13 Tetris مرحلة قانون (2007.4)

Tetris مرحلة قانون (2007.4)
"من تلك التي جلبت لكم Triforce في 2006... ويأتي الجيل القادم من وجوه غير متحرك القصة الفكاهيه... Tetris."
محليا - فيديو مخباه في Flash الفيديو (FLV) الشكل (تقوم به استخدام VLC) :
4.3.14 فرحان tetris الاختلافات على عرض التلفزيون اليابانيه

Tetris الاختلافات على عرض التلفزيون اليابانيه
شريط الفيديو هذا الجزء من عرض التلفزيون اليابانيه يشمل فرحان tetris من الاختلافات ، بما في ذلك :
قطعة أن تتلاشى عند هبوطها ، التي تملأ قطعة كاملة على التوالي) ومن ثم استكمال عند هبوطها على التوالي) ، التي تقع في قطع متعددة في وقت واحد ، وبصورة غير منتظمة على شكل قطعة ، قطعة طويلة ان قليلا جدا على نطاق واسع لصالح وجود فجوه في (أ) 4 - منع على التوالي انجاز!) ، Mario الى اصابة الفطر وتصبح ضخمة والموت! ، قطعة صغيرة من الحطام المتبقي بعد الصفوف تدمر ، الصاعد خطورة جعل قطعة تطفو الى الاعلى ، الخ.
محليا - فيديو مخباه في Flash الفيديو (FLV) الشكل (تقوم به استخدام VLC) :
4.3.15 "The Original Human TETRIS Performance by Guillaume Reymond" (2007.11)

"The Original Human TETRIS Performance by Guillaume Reymond" (2007.11)
من الوصف على YouTube :
"TETRIS الحقيقي الذي تضطلع به الكائنات البشريه - الجلوس في قاعة :"
TETRIS هي الرابعة من اداء الفيديو GAME OVER Project ، من اخراج الفنان السويسري Guillaume REYMOND (NOTsoNOISY الابداعيه وكالة).
هذا الاقتراح فيديو - وقف لاطلاق النار ولعب ل"LES URBAINES" مهرجان
http://www.urbaines.ch في قصر rumine (لوزان ، سويسرا) على November 24th 2007.
محليا - فيديو مخباه في Flash الفيديو (FLV) الشكل (تقوم به استخدام VLC) :
4.3.16 2.5 الابعاد tetris
مصطلح "2.5 الابعاد" المستخدم هنا على انها تعني غير متعامد نظرا للثنائي الابعاد النسخه tetris ، مع بعض السمك في البعد الثالث.
(ايجاد الصلة "tetris3d" في "F7: GAMES".)
4.4 3 - الابعاد tetris

النسخه Linux / GTK
Tetris ثلاثية الابعاد في اي شكل من اشكال Java بريمج لمتصفحات الانترنت :
Tetris ثلاثية الابعاد لWindows نظام التشغيل :
4.5 4 - الابعاد tetris

Greg Kaiser's "hypertetris" (1996) : 4 - الابعاد tetris
في [1996], [...] ، Greg Kaiser يجمع رباعية الابعاد البديل عن لعبة كلاسيكيه.
استخدام IrisGL (a.k.a. igl) خلق عمل ، اذا كان من الصعب ان تقوم به ، لعبة استخدام الفرعية الاربعة لتصوير مختلف شاشات ثلاثية الابعاد والجوانب بأسره - لعبة الفضاء.
[لأنه] ليس هناك بسهولة [مفهومة] طريقة لاستخلاص أربعة الاجسام د - على اثنين - د الشاشه الفرعية الاربعة وجهات النظر هي الطريقة العملية للمضاربة على تصور وتناوب وترجمة القطع من خلال الابعاد الاربعة) في لعبة تسمى x,y,z,w).
بدلا من استكمال خطوط القطع كما في الاصل ، فان الهدف في هذه الحاله هو لملء كامل مكعب في x,y,z subview (عادة 4 4 وعليها 4).
Subviews الاخرى التي تحتوي على البعد "w" يتم ترتيب تقصير 4 4 أو 10 في الترتيب مع كتلة "w" يجري الطويل ، "vertical" البعد في كل الحالات الثلاث ، مع (x,y), (x,z), (y,z) من اسس مختلفة.
خطورة الافعال في "-w" الاتجاه ، حتى "تسقط" قطعة في ثلاثة subviews الطويلة التي تشمل "w" ، ولا تتحرك ما لم يكن اللاعب السيطرة في الماضي (x,y,z) subview.
يأخذ awhile لتعتاد على ، على اقل تقدير.
اذا كانت المعجزه من قبل بعض من الصبر او تغيير معالم اللعبة ، فالواحد اكمال مكعب ، وسوف تختفي كما تفعل في انجاز خطوط tetris الأصلي ، على الرغم من عدم تسجيل ويحتفظ في HyperTetris.
Benjamin Bernard (2000)
4.6 N الابعاد tetris

Polytope Tetris (2003) : N الابعاد لعبة tetris البديل
Polytope Tetris هو n - tetris بشكل بعدي.
مستوحاة من برنامج HyperTetris ، Polytope Tetris يسمح لك ألف طن تقوم به في اي tetris عدد البعد.
Tetris تقوم به في 3D ، 4D ، 5D ، او اكثر.
HyperTetris هو اسم catchier بكثير من Polytope (def) tetris ، لكنني لا استطيع ان سرقة الاسم.
5. المواصفات "القياسيه tetris"
5.1 مقدمة
تعريف "معيار tetris" هو نموذج مثالي من اهم الخصائص والسلوكيات IBM-PC الاولى من تنفيذ برنامج لعبة tetris (حوالى 1986-1988).
فان نموذج مثالي يقوم على استنتاج واضح من نوايا واضعى IBM-PC الاولى من تنفيذ لعبة tetris.
فعلى سبيل المثال ، فإنه يبدو من المعقول ان يستنتج ان واضعي IBM-PC الاولى من تنفيذ لعبة tetris يقصد لاختيار شكل كل قطعة جديدة تندرج "بشكل عشوائي" ، وعلى ان استخدام Borland C للتنفيذ من rand() لا يعدو كونه وظيفة عملية للتقريب نية.
تعريف "معيار tetris" ان يحدد شكل كل قطعة جديدة تندرج في ان تكون مختارة "عشوائيا."
هذا المثل الأعلى السلوك لا يمكن ان يتحقق من جانب اي تنفيذ ، والتنفيذ ولكن يمكن الاقتراب من السلوك المثالي.
وبالرغم من عدم تنفيذ يمكن ان تنفذ تماما تعريف "tetris القياسيه" ، مثل "معيار tetris" تنطوي على خصائص موضوعية ، ويمكن مقارنة التطبيقات وفقا لقربها النسبي الى "مستوى" المثل العليا "للtetris."
يصف هذا الفرع مجموعة من العناصر ، والسلوكيات ، والقواعد ، التي ، مجتمعة ، وتحديد "مستوى tetris."
5.2 مستوى المجلس tetris
ويعرب المجلس عن شبكة من الخلايا ، وقد الاعمده 10 ، و 20 في الصفوف ، لمجموعة من الخلايا 10 * 20 = 200.

مستوى tetris المجلس (10 الاعمده ، الصفوف 20)
كل خلية يمكن ان تكون اما غير الماهوله (فارغه) أو الأراضي (بالكامل).
5.3 معيار قطعة tetris
وهناك سبع قطع (7) القياسيه tetris ، وفيما يلى اسماء الرسالة :
{ O, I, S, Z, L, J, T }
الرسالة اسماء مستوحاة من اشكال القطع.

السبع القياسيه tetris قطعة "والتوجهات"
النقطه في (0,0) يتزامن مع موقف المجلس (6,20) عندما القطعه الاولى يبدو.
ويبين العمود الاول "التوجهات" الاولية.
في ما يلي ، فان كلمة "التوجه" يستخدم لوصف أي دولة من قطعة ، ضمن مجموعة من يسمح للدول ، التي يمكن ان تنتج عن الحدث بعكس عقرب الساعة التناوب.
تغيير "التوجه" من "توجه" محدد من "I" ، "S" ، أو "قطعة Z" ، يتطلب مزيجا من التناوب والترجمة.
ولذلك ، فان استخدام كلمة "التوجه" الى هنا يعني شيئا اكثر من التناوب وحدها.
ومع ذلك ، يمكن ان تتغير الا "التوجه" وردا على الحدث بعكس عقرب الساعة التناوب ، ودورة متميزه "لتوجهات" كل قطعة يقترب ، او المباريات ، مما ادى الى دورة من دورات نقيه.
الخاصة باستخدام كلمة "توجه" في هذا السياق هو ما يعادل تقريبا لمعنى كلمة أو "زاويه دوران" ، ولكن "التوجه" هو عبارة تستخدم بدلا من "التناوب" لمحاولة للفت الانتباه الى حقيقة ان بعض القطع يتطلب ما هو اكثر من التناوب لانتاج مجموعة من يسمح للدول الناشءه عن الاحداث بعكس عقرب الساعة "التناوب."
لا يمكن الا ان قطع تبديل التوجهات (او الخضوع محددة افقيا أو رأسيا الترجمة (اذا كان للدولة مما ادى الى قطعة لن يكون له اي الاراضي (بالكامل) خلايا من خارج المنطقة والمجلس لن يكون له اي الخلايا التي تداخل الاراضي المحتلة حاليا اي خلايا للمجلس.
(في هذه القاعده ، والأراضي (بالكامل) قطعة من خلايا لا تعتبر "حاليا" جزءا من "الاراضي خلايا للمجلس"
في التعليقات التالية ، اي اشارة الى ونتيجة للبعكس عقرب الساعة التناوب الحدث مع افتراض ان هذا التناوب يمكن فعلا ان يكون أداؤها ، بالنظر الى الأوضاع القائمة من قطعة والمجلس.
وقد "O" (المربع) قطعة واحدة فقط التوجه ، ولا يغير من مواقع اي من الاراضي (بالكامل) في خلايا ردا على أي حال بعكس عقرب الساعة التناوب.
وقد "I" (الخط) قطعة اثنين من التوجهات المحتملة ، والتي تظهر في البداية افقي التوجه.
وقد "I" قطعة المناوبين بين البلدين استجابة لتوجهات بعكس عقرب الساعة التناوب الاحداث المتعاقبه.
وقد "S" و"Z" قد قطع كل اثنين التوجهات الممكنة.
كل هذه القطع البديله في التوجهات بين اثنين وردا على الاحداث المتتاليه بعكس عقرب الساعة التناوب.
وقد "L" ، "J" ، وقطع كل "T" أربعة توجهات ممكنة ، وهذه التوجهات هي نتائج بسيطة عن مركز تناوب على نقاط الاشكال.
قطعة الاولى عندما يظهر على المجلس ، وقد القطعه "الرئيسية" في "محور" افقي التوجه ، وهذه القطعه هي على رأس المجلس.
ولذلك ، لا قطعة في البداية قادرة على تغيير التوجهات لهم. القطعه يجب ان ينحدر به الى صف واحد لديهم امكانيه الحصول على تغيير توجهاتها.
مرة واحدة قد سقطت قطعة من جانب صف واحد على المجلس ، كل قطعه وتوجهات لا يمكن أن تتحقق (على افتراض القطعه ليست قريبة جدا من جانب الجدران او الى كومة من القطع الحالية).
5.4 الموحدة لسير Tetris
فيما يلى مخطط لتقارب مستوى Tetris اللعبة.

مخطط تقريبي لمستوى اللعبة Tetris

مخطط تقريبي لمستوى اللعبة Tetris
5.5 قطعة انشاء معيار Tetris
الرسم البياني التالي يبين (4 * 2 خلية خلية) عن مجلس المنطقة حيث يبدو ان جميع القطع عند انشائها.

قطعة المنطقة حيث يبدو عندما انشئت في مستوى Tetris
وعندما يبدو ان اول قطعة جديدة على المجلس ، ومنشأها ويتزامن مع نقطة على هذا الرسم البياني ، وستكون هذه القطعه تماما الواردة من المنطقة المظلله على هذا الرسم البياني.
عندما بدأت لعبة جديدة هي ، كاملة الحرة تأخير سقوط ينقضي ، وعلي الحرة الاولى - تكرار سقوط قطعة هي ولدت على رأس المجلس.
وخلال اللعب العادي ، عندما محددة الحرة "الاراضي" تكرار سقوط قطعة ، حرة كاملة تقع على التأخير وينقضي المقبلة الحرة تكرار سقوط قطعة هي ولدت على رأس المجلس.
عندما ولدت هي قطعة ، قطعة من نوع اختيار خوارزميه المصطلحات التالية :
pieceIndex = 1 + (randomInteger % 7); // 1..7
لأن هناك دائما فرصة للp (= 1/7) اختيار نوعية محددة من قطعة ، وجميع القطع من نفس النوع من المباشره ، واحتمال وجود قطع k بالضبط من نوع محدد بعد محاكمات n أ ثنائية التوزيع التالى :
P(k) = (1-p)^(n-k) * p^k * ( n! / ( (n-k)! k! ) );
p = 0.0 ... 1.0;
k = 0, 1, 2, ..., n;
mean = ( n * p )
variance = ( n * p *(1-p) )
standard deviation = sqrt( variance )
ونحن عندما تختار من بين 7 (سبعة) في القطع العشوائي ، واحتماليه الحصول على قطعة محددة هي p=(1/7).
واذا فعلنا هذا n=70 مرات ، على سبيل المثال ، فإن احتماليه الحصول على قطعة k بالضبط (مع k في مرمى 0 الى n) هو الذي توليه ثنائية التوزيع ، كما هو مبين في الصورة التالية.

ثنائية لتوزيع n=70 ، p=(1/7)
وهكذا ، يمكن للمرء ان يتنبأ متوسط اجمالي قطعة من نوع واحد وبالنظر الى العدد الاجمالي للقطع عشوائي ، ويمكن للمرء ان يتوقع ايضا احتساب الفرق والانحراف المعياري (الجذر مربع من الفرق) :
p = (1/7):
total random standard
pieces (n) mean variance deviation
============ ======= ======== =========
70 10 8 3
700 100 85 9
7000 1000 857 29
70000 10000 8571 93
عندما نقوم بتحويل قيمة عشواءيه لقطعة الرقم القياسي ، ونحن نفسر على النحو التالي :
value piece
===== =====
1 "O"
2 "I"
3 "S"
4 "Z"
5 "L"
6 "J"
7 "T"
[ما قبل التجارية MS-DOS نسخة من Tetris تستخدم عشوائيا وظيفة عدد Borland Pascal التي يقدمها المجمع.
ان وظيفة استخدم 32 بت الدولة المتغير.
ولذلك ، فان سلسلة من الارقام العشواءيه يقتصر على القيم 2^32 متميزه.
ولذلك ، من حيث المبدأ ، يمكن ان يكتشف لاعبا ، وربما بعد اسقاط 10 قطعة ، على وجه الدقه مكان فى مجموعة من الارقام المقابلة ل2^32 للحالة الراهنة للعبة.
اذا Tetris المحاكاه تتم مع تسلسل محدد من القطع 2^32 ، ثم الأمثل ويمكن الاطلاع على قرارات لكل مكان في تسلسل.
(يبدو ان هناك فرصا كافية ليجري المجلس الى مجلس الدولة فارغه تماما ، مما يسمح لنا للحصول على تزامنت مع precomputed الحل الامثل الطريق.)
خطر العشواءيه البسيطة باستخدام عدد المولدات في محاكاه يقصد بها لايجاد الحل الامثل لمشكلة هو ان يكون الحل الامثل الوحيد للطريق ولا سيما من خلال المشكلة الفضاء الذي اختاره العشواءيه البسيطة عدد المولدات. [
5.6 الضوابط الموحدة tetris
أثناء اللعب ، والمدخلات التالية متاحة :
left : request to translate left by one column
right : request to translate right by one column
rotate : request to do a counterclockwise rotation
drop : request to instantly drop the piece
جميع المدخلات ويسري مفعول ارتفاع الحافه من الاسهامات الايجابية (على الزر الصحافة ، في مقابل الافراج عن زر).
وعندما يحدث زر الصحافة ، وهذه التهم كما طلب.
عقد الزر اسفل بعد فترة معينة من الزمن قد يؤدي الى "تكرار السيارات" الميزه من لوحة المفاتيح ، وتوليد ضغوط جديدة على زر -- ولكن هذه الميزه الخارجية لمحرك اللعبة.
المساهمات المحددة اعلاه مطابقه لعبة tetris الاصل.
تدوير الطلبات التي يمكن تشغيلها اذا لم يكن هناك اي تداخل بين المرغوب فيه والتوجيه ومجموعة الخلايا على المجلس الحالية (باستثناء التى تقع قطعة) ، وإذا كان التوجه المنشود ليس له مجموعة خلايا من خارج المجلس المجال.
ترجمة الطلبات التي يمكن تشغيلها اذا لم يكن هناك اي تداخل بين المرغوب ترجمتها واعداد مجموعة الخلايا على المجلس الحالية (باستثناء التى تقع قطعة) ، واذا كان المطلوب ترجمتها تشكيل مجموعة خلايا ليس خارج المجلس المجال.
المدخلات تطلب يتم تجهيزها مع الكمون وهذا يتوقف على الاطار معدل للعبة (مثلا : 75 Hz) ، وتطلب الى حيز التنفيذ (اذا كان صحيحا) على الفور.
قطعة يمكن الاستغناء عنها من دون اي تدخل في خط الخطوات التي تحدث.
قطعة يمكن ان يترجم عدة مرات الى اليسار ، أو الحق ، واسقطت في وقت لاحق ، وكل ذلك دون اي تشهد خطوة تندرج في الخط الرسمي.
لان قطعة ولدت حديثا لا يمكن ان تكون بالتناوب (لانه تمسك ضد كبار حافة المجلس) ، علما ان اللاعب يجب ان تقبل على الاقل قطعة واحدة تقع في خطوة هي اذا كان التناوب المنشود او المطلوب.
اثر على النتيجة ضءيله.
5.7 قطعة "هبوط" مستوى tetris
اذا كان هو مجرد قطعة في انخفاض ، أنها تقع على التوالى من جانب واحد خلال كل قطعة تقع في التكرار.
وسيكون هناك تكرار التي تتحرك من مكان مع اي اتصال مع السطوح الافقيه الى مكان اتصال مع السطوح الافقيه. ويحدث هذا التكرار مرة واحدة ، هي قطع الاتصال في استراحه.
وإذا كان تكرار قطعة يبدأ في استراحه للاتصال مع سطح افقي ، وقطعة "الارض" ، ويصبح جزءا من كومة جامدة.
5.8 "اكملت الخطوط" القياسيه tetris
الانتهاء من صف هو صف من كومة في كل الخلايا التي يحتلها. وعندما أكملت الصف هو التخلص من الفرن ، والصفوف فوق تحولت هي القضاء على التوالي انخفضت بنسبة صف واحد للقضاء على الفجوه ، وهذا ما تعول الانتهاء من "الخط."
عندما قطعة اراضي يصبح جزءا من الفرن.
مباشرة بعد قطعة الأرض ، كومة من اجل التحقق من استكمال الصفوف ، والانتهاء من جميع الصفوف يتم القضاء عليها.
يصل الى اربعة صفوف يمكن الانتهاء منه في وقت واحد.
الجدول التالي يعطي الحد الاعلى على الانتهاء من الخطوط في وقت واحد قطعة واحدة :
piece max. simultaneous
rows completed
===== ==================
"O" 2
"I" 4
"S" 2
"Z" 2
"L" 3
"J" 3
"T" 2
5.9 Tetris "المستويات" القياسيه
وقد tetris مستوى 10 مستويات صعوبة ، وبلغ عدد 1 (واحد) من خلال 10 (عشرة) ، مع 1 يجري على مستوى "اقل صعوبة."
مستوى الرقم القياسي هو الحد الأقصى من هذه القيم :
actualLevel = max( initialLevel, earnedLevel );
فان قيمة initialLevel هو مستوى اللاعب ان يختار عند بدء لعبة جديدة.
نمط مستوى وظيفة من وظائف الخطوط هو الانتهاء من ملاحظتها بسهولة في مرحلة ما قبل التجارية MS-DOS نسخة من tetris :
{ 0, 1, 2, ..., 10 } --> earned level 1
{ 11, 12, ..., 20 } --> earned level 2
{ 21, 22, ..., 30 } --> earned level 3
{ 31, 32, ..., 40 } --> earned level 4
{ 41, 42, ..., 50 } --> earned level 5
{ 51, 52, ..., 60 } --> earned level 6
{ 61, 62, ..., 70 } --> earned level 7
{ 71, 72, ..., 80 } --> earned level 8
{ 81, 82, ..., 90 } --> earned level 9
{ 91, ... } --> earned level 10
وهكذا ، فان قيمة earnedLevel يحتسب تبعا لخوارزميه التالية :
if (linesCompleted <= 0)
{
earnedLevel = 1;
}
else if ((linesCompleted >= 1) && (linesCompleted <= 90))
{
earnedLevel = 1 + ((linesCompleted - 1) / 10);
}
else if (linesCompleted >= 91)
{