91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 167KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-07-31
  • 語言: 其他
  • 標簽: 代碼??

資源簡介

俄羅斯方塊AI的C代碼和設計文檔 (包含調試信息的版本與不包含調試信息的版本)

資源截圖

代碼片段和文件信息

//?Tetris.cpp?:?定義控制臺應用程序的入口點。
//

//#include?“stdafx.h“
#include?“string.h“
#include?“stdlib.h“
#include?“stdio.h“
#include?“time.h“

int?const?LINE=17;
int?const?WIDTH=10;?

int?HIGHLIMIT=6;
int?SCORE;

typedef?struct?Status{
int?xyOffset[4][2];?//?block?body?based?on?base?point?xy
int?curDrc;?//direction
int?side;?//?the?leftest?point?x?
Status?*next;
}Status;


typedef?struct?Factor{
Status?*status;?//status?of?Block

int?faces;
int?fullLine;
int?emptyCells;
int?hight;

int?realX;?//coordinate?of?Block
int?realY;?//coordinate?of?Block
}Factor;

int?Board[LINE+1][WIDTH];//?Game?board?17line*10width
int?TempBoard[LINE+1][WIDTH];//Used?to?get?board?Status
Status?*?Block[8];?//?7?blocksblock?list


//advanced?array
int?const?AdvLength=20;//?length?of?the?array
int?AdvBlocks[AdvLength];?//advanced?blocks
int?CurIndex;?//current?index?of?in?the?array



void?PrintTempBoard()
{
//int?minLine=GetTempBoard();

for(int?i=0;i for(int?j=0;j printf(“%c“TempBoard[i][j]?‘x‘:‘-‘);
printf(“\n“);
}

void?PrintBoard()
{
for(int?y=0;y for(int?x=0;x printf(“%c“Board[LINE-y-1][x]?‘X‘:‘-‘);
}

void?PrintBlock(Status?block)
{
int?xy[6][6]={0};
for(int?i=0;i<4;i++)
{
printf(“(%d%d)\t“block.xyOffset[i][0]block.xyOffset[i][1]);

int?x=block.xyOffset[i][0]+2;
int?y=block.xyOffset[i][1]+2;
xy[x][y]=1;
}

printf(“\n“);

for(int?i=5;i>=0;i--printf(“\n“))
for(int?j=0;j<6;j++)
{
printf(“%c“xy[j][i]?‘X‘:‘-‘);
}
printf(“\n\n“);
}


/*
init?the?AdvBlocks?array?
*/

int?containBlock(int?block)
{
for(int?i=0;i if(AdvBlocks[i]==block) return?1;
return?0;
}

void?initAdvBlocks()
{
srand(time(NULL));
for(int?i=0;i AdvBlocks[i]=rand()%7+1;
}


/*
get?a?new?block
*/
int?getNextBlock()
{

int?temp=AdvBlocks[CurIndex];

//AdvBlocks[CurIndex]=?containBlock(2)?rand()%7+1:2;
AdvBlocks[CurIndex]=?rand()%7+1;

CurIndex=(CurIndex+1)%AdvLength;

//return?rand()%2?5:7;

return?temp;
}

/*
preview?the?next?block
*/
int?viewNextBlock()
{
return?AdvBlocks[(CurIndex+1)%AdvLength];
}



/*
determine?whether?a?cell?is?inside?the?board?(Board?/?TempBoard)
*/

int?insideBoard(int?yint?x)
{
return??(y>=0?&&?y=0&&?x}


/*
Get?the?TempBoard?which?is?used?to?specify?the?empty?space?where?the?block?can?be?put.
*/
void?GetTempBoard()
{
memset(TempBoard1sizeof(TempBoard));

for(int?x=0;x {
for(int?y=LINE-1;y>=0;y--)
{
if(Board[y][x]) break;

TempBoard[y][x]=0;

}
}

//PrintTempBoard();
}

/*
Determine?whether?the?block?is?fit?into?the?TempBoard.
*/
int?fitIn(Status?*?block??int?x?int?y)
{
for(int?i=0;i<4;i++)
{
int?realX=x+block->xyOffset[i][0];
int?realY=y+block->xyOffset[i][1];

if(!insideBoard(realYreal

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????13335??2009-09-23?14:16??Tetris_Debug.cpp

?????文件?????182390??2009-06-07?16:37??Design?specification.docx

?????文件??????12458??2009-06-01?16:43??Tetris_Sec.cpp

-----------?---------??----------?-----??----

???????????????208183????????????????????3


評論

共有 條評論