這個(gè)是代碼

渝中網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
#include"time.h"
#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
#define ESC 033
#define UP 0110
#define DOWN 0120
#define LEFT 0113
#define RIGHT 0115
#define X1 15
#define X2 40
#define Y1 2
#define Y2 20
#define N 15
/*************************************************************/
void food(int *b)
{
*b=random(X2-X1+1)+X1; b++; /*產(chǎn)生食物*/
*b=random(Y2-Y1+1)+Y1;
}
/*************************************************************/
void init(int (*a)[2],int *b)
{
int i,j;
food(b);
a[0][0]=random(X2-X1-5)+X1+3; /*隨機(jī)生成一3斷長(zhǎng)的snack */
a[0][1]=random(Y2-Y1-5)+Y1+3;
switch(random(4))
{case 0:i=-1; j=0; break;
case 1:i=1; j=0; break;
case 2:i=0; j=-1; break;
case 3:i=0; j=1; break;}
a[1][0]=a[0][0]+i;
a[1][1]=a[0][1]+j;
a[2][0]=2*a[1][0]-a[0][0];
a[2][1]=2*a[1][1]-a[0][1];
window(1,1,80,25);
textbackground(BLACK);
clrscr();
window(X1,Y1,X2,Y2);
textbackground(BLUE);
clrscr();
window(1,1,80,25);
textbackground(YELLOW);
textcolor(YELLOW);
for(i=0;i3;i++)
{gotoxy(a[i][0],a[i][1]);
cprintf("%c",'%');}
gotoxy(b[0],b[1]);
cprintf("%c",'*');
}
/*************************************************************/
void putout(int a[][2],int n,int b[],int step)
{
textbackground(YELLOW);
gotoxy(a[0][0],a[0][1]);
cprintf("%c",'%');
gotoxy(b[0],b[1]);
cprintf("%c",'#');
textbackground(BLUE);
gotoxy(a[n][0],a[n][1]);
cprintf("%c",' '); /*清除蛇的尾部*/
gotoxy(X1,Y2+2);
cprintf("Length:%2d Delay:%3dms",n,step);
}
/*************************************************************/
void direction(int a[][2],int n)
{
char ch;
int i,across,down;
across=a[0][0]-a[1][0];
down=a[0][1]-a[1][1];
if(kbhit())
{ch=getch();
while(ch==0)
ch=getch();
if(ch==LEFT) {if(across!=1) {down=0; across=-1;}}
else if(ch==RIGHT) {if(across!=-1) {down=0; across=1; }}
else if(ch==UP) {if(down!=1) {down=-1; across=0; }}
else if(ch==DOWN) {if(down!=-1) {down=1; across=0; }}
else if(ch==ESC) exit(1);
}
for(i=n;i0;i--)
{a[i][0]=a[i-1][0];
a[i][1]=a[i-1][1];
}
a[0][0]+=across;
a[0][1]+=down;
}
/*************************************************************/
int die(int a[][2],int n)
{int i;
if(a[0][0]X2||a[0][0]X1||a[0][1]Y2||a[0][1]Y1) return 1;
for(i=4;i=n;i++)
{if(a[0][0]==a[i][0]a[0][1]==a[i][1])
return 1;
}
return 0;
}
/*************************************************************/
int meet(int a[][2],int b[])
{
if(a[0][0]==b[0]a[0][1]==b[1]) return 1;
return 0;
}
/*************************************************************/
void delay2(int step)
{float t;
static clock_t start=0;
clock_t end;
do{end=clock();
t=(end-start)/CLK_TCK;
}
while(t*1000step);
start=clock();
}
/*************************************************************/
void ifdie()
{
char ch;
gotoxy(X1,Y2+2);
printf("You die. Do you want to go on?(Y/N)");
ch=getch();
if(ch!='y') exit(1);
}
/*************************************************************/
void ifwin()
{
char ch;
gotoxy(X1,Y2+2);
puts("You win. Do you want to continue?(Y/N)");
ch=getch();
if(ch=='y') return;
exit(1);
}
/**************************************************************/
int main()
{
int a[N][2],b[2];
int n,step;
REPLAY:
for(step=300;1;step*=.9)
{randomize();
init(a,b);
for(n=3;nN;n++)
{do{putout(a,n,b,step);
delay2(step);
direction(a,n);
if(die(a,n))
{putout(a,n,b,step);
ifdie();
goto REPLAY;
}
}
while(!meet(a,b));
food(b);
}
ifwin();
}
return 0;
}
拓展訓(xùn)練項(xiàng)目貪吃蛇
拓展訓(xùn)練項(xiàng)目貪吃蛇不知道大家是否玩過(guò)?下面由我為大家收集的關(guān)于拓展訓(xùn)練項(xiàng)目之貪吃蛇的介紹,歡迎大家閱讀!
拓展訓(xùn)練項(xiàng)目之貪吃蛇簡(jiǎn)介:
可能我們大家在小的時(shí)候或者不久前,都玩過(guò)貪吃蛇的游戲。和別的游戲不同,很多游戲都是打通關(guān)打到底,而貪食蛇的結(jié)局卻是死亡。不管你玩得多么純熟,手藝多么高超,當(dāng)手機(jī)上的小蛇越長(zhǎng)越長(zhǎng),積分越來(lái)越高的時(shí)候,死亡也就越來(lái)越近。“貪食蛇”,要命的就在一個(gè)“貪”字上。
接下來(lái)我們將要操作的拓展訓(xùn)練項(xiàng)目之貪吃蛇:貪食蛇,跟我們的手機(jī)里玩得有些類(lèi)似,主要是讓大家體驗(yàn)這份快樂(lè)和信息高效傳遞。任務(wù):就是在隊(duì)友看不見(jiàn)、又不能溝通的情況下從目標(biāo)區(qū)域內(nèi)取出不同分值的球。
拓展訓(xùn)練拓展項(xiàng)目之貪吃蛇規(guī)則:
拓展訓(xùn)練項(xiàng)目之貪吃蛇規(guī)則一:拓展項(xiàng)目之貪吃蛇是以隊(duì)為單位來(lái)進(jìn)行,行進(jìn)過(guò)程中手搭手行進(jìn),手不能斷開(kāi);如若發(fā)現(xiàn)有手松開(kāi)的情況,我們每發(fā)現(xiàn)一次將扣除5分的積分;
拓展訓(xùn)練項(xiàng)目之貪吃蛇規(guī)則二:行進(jìn)中不能首尾相連,圍成一個(gè)圓環(huán);
拓展v項(xiàng)目之貪吃蛇規(guī)則三:除了蛇尾最后一名隊(duì)友外,其它隊(duì)友都須戴上眼罩,除了第一個(gè)隊(duì)友可以說(shuō)話以外,其它隊(duì)友不可以講話;再?gòu)?qiáng)調(diào)一下:第一名隊(duì)友看不見(jiàn),但能說(shuō)話,最后一名隊(duì)名,看得見(jiàn),但不能說(shuō)話;從第二名隊(duì)友開(kāi)始到倒數(shù)第二名隊(duì)(教練做個(gè)示范,指定一下)是既看不見(jiàn),又不能說(shuō)話。這是一個(gè)君子游戲,如果發(fā)現(xiàn)有說(shuō)話的、偷看的、每發(fā)現(xiàn)一次我們將扣除總積分的…分;
拓展訓(xùn)練項(xiàng)目之貪吃蛇規(guī)則四:第一隊(duì)友撿了球之后就停下來(lái),然后從前面往后面?zhèn)鳎瑐鞯阶詈笠幻锇橐院螅诺街付▍^(qū)域,最后一名伙伴將球放到指定的'區(qū)域后,回到隊(duì)伍,才能繼續(xù)下一個(gè)任務(wù);
拓展訓(xùn)練項(xiàng)目之貪吃蛇注意:其它隊(duì)伍不能干擾正在場(chǎng)上操作的隊(duì)伍,每個(gè)球的分值在任務(wù)上,每個(gè)隊(duì)的分值是不一樣的,就是在五分鐘的時(shí)間里完成任務(wù)書(shū)的要求。
拓展訓(xùn)練項(xiàng)目之貪吃蛇拓展目的:
1、培養(yǎng)團(tuán)隊(duì)決策能力培養(yǎng)參與者相互溝通的意識(shí)。克服相互溝通障礙的能力。
2、培養(yǎng)參與者聽(tīng)從指揮,不斷改進(jìn)的心態(tài)。培訓(xùn)參與者系統(tǒng)思考的能力。
3、培養(yǎng)善于學(xué)習(xí)、總結(jié),積極有效的把握信息、主動(dòng)出擊把握機(jī)會(huì)的能力以及感受團(tuán)隊(duì)的分工、搭配、協(xié)調(diào),創(chuàng)造團(tuán)隊(duì)的學(xué)習(xí)能力。
;
#ifndef __COLORCONSOLE__H__
#define __COLORCONSOLE__H__
#include windows.h
#include iostream
#include conio.h
#include time.h
using namespace std;
HANDLE initiate();
BOOL textout(HANDLE hOutput,int x,int y,WORD wColors[],int nColors,LPTSTR lpszString);
#endif
#ifndef __FOOD__H__ //防止重復(fù)引用該頭文件
#define __FOOD__H__
#include "colorConsole.h"
class Food
{
public:
void initfood(int); //出始化食物函數(shù)
protected:
WORD goodcolor[1]; //定義正常食物的顏色
WORD badcolor[1]; //定義變質(zhì)食物的顏色
int numgood,goodx[50],goody[50]; //定義正常食物的個(gè)數(shù)、坐標(biāo)
int numbad,badx[30],bady[30]; //定義變質(zhì)食物的個(gè)數(shù)、坐標(biāo)
};
#endif
#ifndef __FOOD__H__ //防止重復(fù)引用該頭文件
#define __FOOD__H__
#include "colorConsole.h"
class Food
{
public:
void initfood(int); //出始化食物函數(shù)
protected:
WORD goodcolor[1]; //定義正常食物的顏色
WORD badcolor[1]; //定義變質(zhì)食物的顏色
int numgood,goodx[50],goody[50]; //定義正常食物的個(gè)數(shù)、坐標(biāo)
int numbad,badx[30],bady[30]; //定義變質(zhì)食物的個(gè)數(shù)、坐標(biāo)
};
#endif
#ifndef __SNAKE__H__ //防止重復(fù)引用該頭文件
#define __SNAKE__H__
#include "colorConsole.h"
class Snake
{
public:
void initsnake(); //初始化蛇的函數(shù)
protected:
WORD bColor[1]; //定義蛇身的顏色
WORD hColor[1]; //定義蛇頭的顏色
int headx,heady,bodyx[100],bodyy[100]; //定義蛇頭和蛇身的坐標(biāo)
int node; //定義蛇身的節(jié)數(shù)
};
#endif
#include "colorConsole.h"
HANDLE initiate()
{
HANDLE hOutput;
hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
return hOutput;
}
BOOL textout(HANDLE hOutput,int x,int y,WORD wColors[],int nColors,LPTSTR lpszString)
{
DWORD cWritten;
BOOL fSuccess;
COORD coord;
coord.X = x; // start at first cell
coord.Y = y; // of first row
fSuccess = WriteConsoleOutputCharacter(
hOutput, // screen buffer handle
lpszString, // pointer to source string
lstrlen(lpszString), // length of string
coord, // first cell to write to
cWritten); // actual number written
if (! fSuccess)
cout"error:WriteConsoleOutputCharacter"endl;
for (;fSuccess coord.X lstrlen(lpszString)+x; coord.X += nColors)
{
fSuccess = WriteConsoleOutputAttribute(
hOutput, // screen buffer handle
wColors, // pointer to source string
nColors, // length of string
coord, // first cell to write to
cWritten); // actual number written
}
if (! fSuccess)
cout"error:WriteConsoleOutputAttribute"endl;
return 0;
}
#include "Food.h"
HANDLE handle;
void Food::initfood(int lev) //初始化食物
{
numgood=lev*5;
numbad=lev*2;
goodcolor[0]=FOREGROUND_RED|FOREGROUND_BLUE; //正常食物的顏色
badcolor[0]=FOREGROUND_RED|FOREGROUND_GREEN; //變質(zhì)食物的顏色
srand((unsigned) time(NULL));
textout(handle,64,6,goodcolor,1,"正常食物為★"); //輸出圖例
textout(handle,64,8,badcolor,1,"變質(zhì)食物為★");
for(int fgood=0;fgoodnumgood;fgood++) //輸出正常食物
{
goodx[fgood]=((rand()%55+4)/2)*2;
goody[fgood]=rand()%26+4;
textout(handle,goodx[fgood],goody[fgood],goodcolor,1,"★");
}
for(int fbad=0;fbadnumbad;fbad++) //輸出變質(zhì)食物
{
badx[fbad]=((rand()%56+4)/2)*2;
bady[fbad]=rand()%26+4;
textout(handle,badx[fbad],bady[fbad],badcolor,1,"★");
}
}
#include "Game.h"
HANDLE handle;
Game::Game()
{
node=3; //蛇的出始默認(rèn)節(jié)數(shù)
headx=44,heady=4; //蛇頭的出始默認(rèn)坐標(biāo)
controlx=-2,controly=0; //蛇的出始默認(rèn)方向?yàn)橄蜃?/p>
start=0;
scores=0;
self=0,wall=0,died=0; //游戲結(jié)束條件默認(rèn)為否
sColor[0]=FOREGROUND_GREEN|FOREGROUND_INTENSITY; //圍墻顏色
head[0]=FOREGROUND_RED|FOREGROUND_INTENSITY; //開(kāi)始界面文字顏色
}
int Game::starting()
{
while(1)
{
textout(handle,22,16,head,1,"控制鍵: W-上 S-下 A-左 D-右"); //開(kāi)始界面
textout(handle,16,18,head,1,"吃完所有正常食物升級(jí) 千萬(wàn)不要吃到變質(zhì)的食物哦!");
textout(handle,30,20,head,1, "選擇級(jí)數(shù) 1-9 ");
if(_kbhit())
{
int v=_getch(); //選擇級(jí)數(shù)
switch(v)
{
case 49:
level=1;
break;
case 50:
level=2;
break;
case 51:
level=3;
break;
case 52:
level=4;
break;
case 53:
level=5;
break;
case 54:
level=6;
break;
case 55:
level=7;
break;
case 56:
level=8;
break;
default:
level=9;
break;
}
textout(handle,16,18,head,1," "); //清屏
textout(handle,30,20,head,1, " ");
textout(handle,22,16,head,1," ");
break;
}
}
//設(shè)置四周?chē)鷫?/p>
for(int wideup=2;wideup60;wideup+=2) //上邊
{
textout(handle,wideup,2,sColor,1,"■");
}
for(int widedown=2;widedown60;widedown+=2) //下邊
{
textout(handle,widedown,30,sColor,1,"■");
}
for(int longr=2;longr30;longr++) //左邊
{
textout(handle,2,longr,sColor,1,"■");
}
for(int longl=2;longl31;longl++) //右邊
{
textout(handle,60,longl,sColor,1,"■");
}
levelup=5*level;
return level;
}
void Game::ifstart() //由用戶(hù)判斷是否開(kāi)始游戲
{
textout(handle,24,0,sColor,1,"按 y 開(kāi)始游戲");
int v=_getch();
switch(v)
{
case 'y': start=1;break;
default : start=0;break;
}
textout(handle,24,0,sColor,1," "); //清屏
}
bool Game::getstart() //獲得start
{
return start;
}
void Game::moventurn() //關(guān)于移動(dòng)和轉(zhuǎn)向的函數(shù)
{
int len1=0; //設(shè)置一個(gè)消除原有圖形的計(jì)數(shù)器
for(int len=0;lennode;len++) //消除原有圖形
{
textout(handle,bodyx[len],bodyy[len],bColor,1," ");
}
for(int len6=node-1;len60;len6--) //顯示移動(dòng)以后的圖形
{
len1=len6-1;
bodyx[len6]=bodyx[len1]; //獲得前一節(jié)body的坐標(biāo)
bodyy[len6]=bodyy[len1];
textout(handle,bodyx[len6],bodyy[len6],bColor,1,"●"); //移動(dòng)后的圖形
}
bodyx[0]=headx;
bodyy[0]=heady;
textout(handle,bodyx[0],bodyy[0],bColor,1,"●"); //顯示移動(dòng)后的第一節(jié)
headx+=controlx;
heady+=controly;
textout(handle,headx,heady,hColor,1,"◎"); //顯示移動(dòng)后的頭部
Sleep(165-level*17); //速度
if(kbhit()) //轉(zhuǎn)向
{
char direction=getch(); //獲取方向
if(direction=='w'direc!='s')
{
textout(handle,headx,heady,hColor,1," ");
textout(handle,headx,heady,hColor,1,"◎");
controlx=0;
controly=-1;
direc='w';
}
if(direction=='s'direc!='w')
{
textout(handle,headx,heady,hColor,1," ");
textout(handle,headx,heady,hColor,1,"◎");
controlx=0;
controly=1;
direc='s';
}
if(direction=='a'direc!='d')
{
textout(handle,headx,heady,hColor,1," ");
textout(handle,headx,heady,hColor,1,"◎");
controlx=-2;
controly=0;
direc='a';
}
if(direction=='d'direc!='a')
{
textout(handle,headx,heady,hColor,1," ");
textout(handle,headx,heady,hColor,1,"◎");
controlx=2;
controly=0;
direc='d';
}
}
}
bool Game::ifgameover() //判斷是否結(jié)束游戲
{
if(headx==2||headx==60||heady==2||heady==30) //撞墻
{
wall=1;
return 1;
}
for(int sbody=1;sbodynode;sbody++) //咬到自己
{
if(headx==bodyx[sbody]heady==bodyy[sbody])
{
self=1;
return 1;
}
}
for(int countbad=0;countbadnumbad;countbad++) //吃到變質(zhì)食物
{
if(headx==badx[countbad]heady==bady[countbad])
{
died=1;
return 1;
}
}
return 0;
}
void Game::gameover() //輸出游戲結(jié)束界面
{
//sndPlaySound("DOWN.wav",SND_ASYNC);
if(wall==1)
textout(handle,20,14,sColor,1,"撞到墻了 游戲結(jié)束");
if(self==1)
textout(handle,20,14,sColor,1,"咬到自己了 游戲結(jié)束");
if(died==1)
textout(handle,19,14,sColor,1,"吃到變質(zhì)食物了 游戲結(jié)束");
}
void Game::scorenlevelup()
{
char marks[5],Level[5]; //準(zhǔn)備輸出級(jí)數(shù)和分?jǐn)?shù)
for(int eatgood=0;eatgoodnumgood;eatgood++) //判斷是否咬到正常食物以加分
{
if(headx==goodx[eatgood]heady==goody[eatgood])
{
//sndPlaySound("LASER.wav",SND_ASYNC);
goodx[eatgood]=74; //防止以后走到已吃過(guò)食物點(diǎn)的時(shí)候會(huì)判斷為吃到而加分以影響升級(jí)
goody[eatgood]=6;
node++; //長(zhǎng)一截
scores+=10; //加十分
itoa(scores,marks,10); //轉(zhuǎn)換數(shù)據(jù)類(lèi)型,準(zhǔn)備輸出
itoa(level,Level,10);
textout(handle,64,11,hColor,1,"分?jǐn)?shù):"); //輸出分?jǐn)?shù)
textout(handle,70,11,hColor,1,marks);
textout(handle,64,13,hColor,1,"級(jí)數(shù):"); //輸出級(jí)數(shù)
textout(handle,70,13,hColor,1,Level);
levelup--;
if(levelup==4)
{
for(int fgood=0;fgoodnumgood;fgood++) //再次輸出正常食物
{
textout(handle,goodx[fgood],goody[fgood],goodcolor,1,"★");
}
}
}
}
if(levelup==0) //升級(jí)
{
level++;
levelup=5*level;
for(int i=4;i58;i+=2) //清屏
{
for(int j=4;j30;j++)
{
textout(handle,i,j,sColor,1," ");
}
}
initfood(level); //輸出食物
textout(handle,headx,heady,hColor,1,"◎"); //打印蛇頭
for(int j=0;jnode;j++) //打印蛇身
{
textout(handle,bodyx[j],bodyy[j],bColor,1,"●");
}
textout(handle,18,0,hColor,1,"按任意鍵開(kāi)始更高的等級(jí)");
itoa(level,Level,10);
textout(handle,70,13,hColor,1,Level); //輸出新的級(jí)數(shù)
while(1) //由用戶(hù)控制是否開(kāi)始更高等級(jí)
{
if (_kbhit())
{
textout(handle,18,0,sColor,1, " ");
break;
}
}
}
}
#include "Snake.h"
extern HANDLE handle;
void Snake::initsnake() //初始化蛇
{
hColor[0]=FOREGROUND_RED|FOREGROUND_INTENSITY; //蛇頭顏色
bColor[0]=FOREGROUND_BLUE|FOREGROUND_INTENSITY; //蛇身顏色
for(int i=0;inode;i++) //蛇身各節(jié)的坐標(biāo)定義
{
bodyx[i]=(i+1)*2+headx;
bodyy[i]=heady;
}
textout(handle,headx,heady,hColor,1,"◎"); //打印蛇頭
for(int j=0;jnode;j++) //打印蛇身
{
textout(handle,bodyx[j],bodyy[j],bColor,1,"●");
}
}
#include "Snake.h"
#include "Food.h"
#include "Game.h"
Game game;
HANDLE handle; //窗口句柄
void main()
{
//sndPlaySound("BACKGROUND.wav",SND_LOOP|SND_ASYNC);
handle=initiate(); //初始化窗口句柄
game.initfood(game.starting()); //初始化食物
game.initsnake(); //初始化蛇
game.ifstart(); //玩家是否開(kāi)始游戲
if(game.getstart())
{ while(1)
{
game.moventurn(); //蛇的移動(dòng)和轉(zhuǎn)向
game.scorenlevelup(); //得分和升級(jí)
if(game.ifgameover()) //判斷是否中止游戲
break;
}
game.gameover(); //輸出游戲結(jié)束原因
}
}
這是一個(gè)控制臺(tái)的貪吃蛇 比較簡(jiǎn)單
只要樓主了解幾個(gè)API函數(shù)就可以 至于算法 有好多 我這個(gè)不怎么樣
我建議用鏈表來(lái)表示蛇體 下面是我的一個(gè)snake 類(lèi) 函數(shù)體沒(méi)給 樓主自己想吧
struct node
{node* pre;br Cpoint point;br node* next;br};
node::node()
{ point(0,0);
pre=NULL;
next=NULL;
};
class snake
{ private:
node* snakehead;
node snakebody[100];
int length
int direction;
public:
void go();
bool fail();
void textout();
}
主要內(nèi)容就是設(shè)計(jì)蛇的形狀和方向,以及食物的產(chǎn)生與位置,先創(chuàng)建一個(gè)Point對(duì)象point,由多個(gè)point 組合成蛇身,當(dāng)蛇吃到食物時(shí),則增加一個(gè)point在蛇身上,使蛇身不斷加長(zhǎng),同時(shí)利用隨機(jī)函數(shù)在游戲面板上產(chǎn)生一個(gè)新的Food對(duì)象代替原來(lái)被“吃掉”的food,其次,玩家使用方向鍵來(lái)控制蛇的行進(jìn),當(dāng)蛇吃到 food 就給玩家加分作為獎(jiǎng)勵(lì),最后就可以得出用戶(hù)的分?jǐn)?shù)。
設(shè)計(jì)的目的在于學(xué)習(xí)Java程序設(shè)計(jì)基本技術(shù),學(xué)習(xí)用MyEclipse開(kāi)發(fā)Java程序的相關(guān)技術(shù),以及熟悉項(xiàng)目開(kāi)發(fā)的完整過(guò)程。學(xué)會(huì)怎樣進(jìn)行一個(gè)項(xiàng)目的需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)等軟件開(kāi)發(fā)過(guò)程,熟練地掌握J(rèn)ava程序設(shè)計(jì)的基本技術(shù)和方法,以及熟練地掌握MyEclipse開(kāi)發(fā)環(huán)境的使用方法,培養(yǎng)初步的項(xiàng)目分析能力和程序設(shè)計(jì)能力。
游戲?qū)崿F(xiàn)的具體任務(wù)如下:
1) 游戲的開(kāi)始,停止,暫停,繼續(xù)。 根據(jù)用戶(hù)單擊的按鈕(開(kāi)始,停止,暫停,繼續(xù)),游戲?qū)崿F(xiàn)具體相應(yīng)的功能。
2) 游戲難度的調(diào)整。 用戶(hù)可以通過(guò)選擇相應(yīng)難度地形來(lái)設(shè)置游戲的難度級(jí)別,級(jí)別越高,游戲難度也越大。
3) 游戲幫助。單擊游戲幫助按鈕彈出一個(gè)消息框提供相應(yīng)的游戲介紹。另外在游戲中提供了網(wǎng)格對(duì)每一塊小方塊進(jìn)行包裹,玩家可以選擇是否顯示網(wǎng)格,可以幫助剛?cè)腴T(mén)的玩家比對(duì)蛇頭與食物的位置。
4) 蛇身和背景顏色的設(shè)置。可以通過(guò)單擊相應(yīng)的設(shè)置按鈕讓蛇身或背景的顏色以用戶(hù)喜歡的顏色輸出。另外如果玩家選擇顯示網(wǎng)格,也可以單擊相應(yīng)按鈕設(shè)置網(wǎng)格線的顏色。
5) 游戲獎(jiǎng)勵(lì)。當(dāng)蛇吃到一顆食物時(shí)則得到10分作為獎(jiǎng)勵(lì),同時(shí)如果吃到
特殊的食物則會(huì)得到普通食物三倍的獎(jiǎng)勵(lì)。但特殊的食物會(huì)在一定時(shí)間內(nèi)自動(dòng)消失。
本文標(biāo)題:go語(yǔ)言項(xiàng)目貪吃蛇 貪吃蛇編程python
當(dāng)前網(wǎng)址:http://chinadenli.net/article8/dojoiop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、虛擬主機(jī)、全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站導(dǎo)航、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)