亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? snake.cpp.bak

?? 對(duì)貪食蛇程序進(jìn)行了學(xué)習(xí)和簡單的模擬實(shí)現(xiàn)
?? BAK
字號(hào):
#include <qapplication.h>
#include <qpalette.h>
#include "snake.h"
#define N 100
#define LEFT 0x1012
#define RIGHT 0x1014
#define DOWN 0x1015
#define UP 0x1013
#define ESC 0x1000
#define PAUSE 0X50
struct Food{   int x;/*食物的橫坐標(biāo)*/   int y;/*食物的縱坐標(biāo)*/   int yes;/*判斷是否要出現(xiàn)食物的變量*/}food;/*食物的結(jié)構(gòu)體*/struct Snake{   int x[N];   int y[N];   int node;/*蛇的節(jié)數(shù)*/   int direction;/*蛇移動(dòng)方向*/   int life;/* 蛇的生命,0活著,1死亡*/}snake;
SnakeGame::SnakeGame(QWidget *parent,const char *name,WFlags f):QWidget(parent,name,f)
{
	
SnakeTime=new QTimer(this);
QObject::connect(SnakeTime,SIGNAL(timeout()),this,SLOT(SnakeRun()));
lcd =new QLCDNumber(5,this,"");

lcd->setSegmentStyle( QLCDNumber::Flat );
lcd->setFrameStyle( QFrame::NoFrame | QFrame::Plain );

InitGame();

}
void SnakeGame::paintEvent(QPaintEvent *event)
{
	
	QPainter paint( this );

    QRect v = paint.viewport();
    
    paint.setViewport( v.left() ,
			v.top() , width(), height());

	lcd->setGeometry(width()-100,5,100,30);
     DrawGame(&paint);
     PlayGame(&paint);
 
    


}
void SnakeGame::InitGame()
{
	

	pause=1;stage=1,score=0;gamespeed =400;key=0;
	setPaletteBackgroundColor(QColor(192,253,123)); 
	
SnakeTime->start(gamespeed,false);

food.yes=1;/*1表示需要出現(xiàn)新食物,0表示已經(jīng)存在食物*/
   snake.life=0;/*活著*/
   snake.direction=1;/*方向往右*/
   snake.x[0]=50;snake.y[0]=100;/*蛇頭*/
   snake.x[1]=40;snake.y[1]=100;
   snake.node=2;/*節(jié)數(shù)*/
   }

void SnakeGame::SnakeRun()
{

update();

}

void SnakeGame::GameScore()
{
	
	lcd->display(score);
	
	
}
void SnakeGame::DrawGame(QPainter *painter)
{

painter->setPen( QPen(QColor( 41,75,35),1,Qt::SolidLine,Qt::RoundCap,Qt::RoundJoin)); 

for(i=0;i<=18;i+=2)/*畫圍墻*/
   {
     painter->drawRect(i,i+40,width()-2*i,height()-2*i-40); 
     
   }
 

}
void SnakeGame::PlayGame(QPainter *painter)
{
  

  GameScore();/*輸出得分*/
  
  if(food.yes==1)/*需要出現(xiàn)新食物*/
  {
      food.x=rand()%width()/2+20;
      food.y=rand()%height()/2+20+40;
      while(food.x%10!=0)/*食物隨機(jī)出現(xiàn)后必須讓食物能夠在整格內(nèi),這樣才可以讓蛇吃到*/
  food.x++;
      while(food.y%10!=0)
  food.y++;
  food.yes=0;/*畫面上有食物了*/
  }
  if(food.yes==0)/*畫面上有食物了就要顯示*/
  {painter->setBrush( QColor(Qt::yellow ));
            
            painter->drawRoundRect(food.x,food.y,10,10,50,50);
  }
  if(snake.life==0&&pause==1)/*蛇移動(dòng)*/
	  {
QString str;
str = QString( "GAME STAGE : %1" )
          .arg( stage);
painter->drawText(10,20,str);
 for(i=snake.node-1;i>0;i--)/*蛇的每個(gè)環(huán)節(jié)往前移動(dòng),也就是貪吃蛇的關(guān)鍵算法*/
         {
            snake.x[i]=snake.x[i-1];
     snake.y[i]=snake.y[i-1];
  }
    /*1,2,3,4表示右,左,上,下四個(gè)方向,通過這個(gè)判斷來移動(dòng)蛇頭*/
		if(key==UP&&snake.direction!=4)
/*判斷是否往相反的方向移動(dòng)*/
   snake.direction=3;
       else
   if(key==RIGHT&&snake.direction!=2)
      snake.direction=1;
   else
      if(key==LEFT&&snake.direction!=1)
  snake.direction=2;
      else
  if(key==DOWN&&snake.direction!=3)
     snake.direction=4;
 
         switch(snake.direction)
  {
     case 1: snake.x[0]+=10;break;
     case 2: snake.x[0]-=10;break;
     case 3: snake.y[0]-=10;break;
     case 4: snake.y[0]+=10;break;
  }

  
  for(i=3;i<snake.node;i++)/*從蛇的第四節(jié)開始判斷是否撞到自己了,因?yàn)樯哳^為兩節(jié),第三節(jié)不可能拐過來*/
  {
     if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0])
     {
               snake.life=1;
               break;
     }
        }
if(snake.x[0]<30||snake.x[0]>width()-40||snake.y[0]<70||
    snake.y[0]>height()-40)/*蛇是否撞到墻壁*/
{
  
     snake.life=1; /*蛇死*/

}   
if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/
{
        painter->setBrush( QColor( 192,253,123));
        painter->drawRoundRect(food.x,food.y,10,10,50,50); /*把畫面上的食物東西去掉*/
    snake.x[snake.node]=-20;snake.y[snake.node]=-20;
          /*新的一節(jié)先放在看不見的位置,下次循環(huán)就取前一節(jié)的位置*/
    snake.node++;/*蛇的身體長一節(jié)*/
    food.yes=1;/*畫面上需要出現(xiàn)新的食物*/
    score+=10;
	
    GameScore();/*輸出新得分*/

	if(snake.node>10*stage+1&&stage<6)
		{
		stage+=1;
		gamespeed=gamespeed-100;
		pause=0;
		}/*關(guān)卡速度變快,游戲暫停*/

}
	
}
else	
{
	SnakeTime->stop();	

	if(pause==1)painter->drawText(10,20,"GAME  OVER!");
	else painter->drawText(10,20,"GAME  PAUSE!");
	
}/*游戲結(jié)束、暫停*/
painter->setBrush( QColor( Qt::red));painter->drawRoundRect(snake.x[0],snake.y[0],10,
               10,50,50);painter->setBrush( QColor( Qt::blue));
for(i=1;i<snake.node;i++)
     painter->drawRoundRect(snake.x[i],snake.y[i],10,
               10,50,50);/*畫出蛇*/

 painter->setPen( QPen(QColor( QColor(192,253,123)),1,Qt::SolidLine,Qt::RoundCap,Qt::RoundJoin));painter->setBrush( QColor( 192,253,123));
 painter->drawRoundRect(snake.x[snake.node-1],snake.y[snake.node-1],
10,10,50,50);/*去除蛇的的最后一節(jié)*/
 
    

}

void SnakeGame::keyPressEvent(QKeyEvent *k)
{
key= k->key();
if(key==ESC){SnakeTime->stop();InitGame();}
if(key==PAUSE)
	{
       if(SnakeTime->isActive())
		{//SnakeTime->stop();
	   pause=0;}
	   else
		   {
		   SnakeTime->start(gamespeed,false);
		   pause=1;
           }
	 }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美综合| 成人精品一区二区三区四区| 欧美专区亚洲专区| 亚洲午夜影视影院在线观看| 欧美日韩一区二区欧美激情| 亚洲成人免费影院| 日韩欧美黄色影院| 国产一区二区美女| 天堂在线亚洲视频| 91精品国产综合久久国产大片| 日本午夜一区二区| 久久久精品综合| 91一区二区在线观看| 一区二区三区欧美久久| 欧美巨大另类极品videosbest | 婷婷中文字幕一区三区| 欧美一区三区二区| 国产精品亚洲午夜一区二区三区 | 欧美日韩一区二区欧美激情 | 精品午夜一区二区三区在线观看| www日韩大片| 91丝袜高跟美女视频| 亚洲国产一二三| 欧美大度的电影原声| 成人高清视频在线观看| 亚洲国产另类av| 久久综合九色综合97_久久久| 99视频精品在线| 五月婷婷综合在线| 中文字幕乱码日本亚洲一区二区| 欧美三级视频在线| 国产中文字幕一区| 亚洲国产视频在线| 久久综合999| 欧美日韩高清一区| 成人高清免费观看| 久久成人羞羞网站| 一区二区高清免费观看影视大全| 精品少妇一区二区三区在线视频| 91美女片黄在线| 国产综合久久久久久久久久久久| 一区二区三区高清不卡| 国产三级欧美三级| 91精品国产综合久久蜜臀 | 一区视频在线播放| 精品久久久久久久久久久久久久久 | 91影院在线观看| 青草国产精品久久久久久| 一区在线中文字幕| 久久精品免视看| 日本道在线观看一区二区| 国内精品在线播放| 三级在线观看一区二区| 亚洲欧美日韩在线| 国产女人aaa级久久久级 | 国产91对白在线观看九色| 日韩av中文字幕一区二区 | 一区二区三区在线看| 国产欧美久久久精品影院| 日韩视频免费直播| 欧美日本韩国一区二区三区视频 | 蜜桃av一区二区三区电影| 亚洲制服欧美中文字幕中文字幕| 国产精品丝袜一区| 久久久噜噜噜久久中文字幕色伊伊 | 极品少妇一区二区三区精品视频| 国产精品久久久久久久久久免费看| 精品国产自在久精品国产| 欧美另类变人与禽xxxxx| 欧美色老头old∨ideo| 日本韩国欧美在线| 日本丰满少妇一区二区三区| 91一区一区三区| 一本久道中文字幕精品亚洲嫩| 成人国产在线观看| 不卡的av网站| 成人18视频日本| 成人国产亚洲欧美成人综合网| 国产风韵犹存在线视精品| 紧缚奴在线一区二区三区| 九九九精品视频| 国产在线精品免费| 国产一区二区三区在线看麻豆| 精品亚洲免费视频| 国产一区二区免费在线| 丁香婷婷综合色啪| 97超碰欧美中文字幕| 91免费版pro下载短视频| 91福利视频久久久久| 在线视频一区二区三区| 欧美日韩午夜精品| 欧美一级午夜免费电影| 精品国产1区2区3区| 国产欧美日韩精品a在线观看| 国产精品免费视频观看| 亚洲欧美日韩中文播放| 亚洲福利一区二区三区| 美女视频黄久久| 国产成人av电影| 色婷婷av一区二区三区gif | 欧美一区二区三区系列电影| 91精品在线免费观看| 精品99999| 国产精品毛片久久久久久| 亚洲在线免费播放| 蜜桃久久av一区| 成人毛片老司机大片| 欧洲亚洲国产日韩| 精品国产乱码久久久久久免费 | 专区另类欧美日韩| 午夜精品一区在线观看| 欧美三级韩国三级日本三斤| 制服丝袜中文字幕亚洲| 久久精品夜色噜噜亚洲a∨| 亚洲色图19p| 美女视频黄久久| k8久久久一区二区三区| 欧美理论在线播放| 亚洲国产高清不卡| 婷婷亚洲久悠悠色悠在线播放| 国产麻豆精品久久一二三| 91免费国产在线| 亚洲精品一线二线三线无人区| 日韩理论片在线| 极品少妇一区二区| 91传媒视频在线播放| 久久久久国产精品麻豆ai换脸| 亚洲在线观看免费视频| 国产不卡在线播放| 7777精品伊人久久久大香线蕉| 中文字幕乱码日本亚洲一区二区| 五月婷婷综合网| 972aa.com艺术欧美| 久久综合色8888| 天天色综合天天| 99精品视频在线免费观看| 日韩免费电影一区| 亚洲成人午夜电影| 波多野结衣中文一区| 欧美一二区视频| 亚洲香肠在线观看| 99这里都是精品| 中文字幕乱码亚洲精品一区| 另类欧美日韩国产在线| 欧美视频在线一区| 自拍av一区二区三区| 丁香婷婷综合网| 久久久久久99精品| 麻豆成人av在线| 91精品蜜臀在线一区尤物| 亚洲综合一区在线| 91亚洲国产成人精品一区二区三 | 欧美大片日本大片免费观看| 亚洲成人一区二区| 欧美午夜精品久久久| 亚洲猫色日本管| 91麻豆文化传媒在线观看| 欧美国产激情二区三区| 国产91精品一区二区麻豆网站| 精品国产三级a在线观看| 蜜臀a∨国产成人精品| 欧美一卡2卡3卡4卡| 麻豆国产一区二区| 欧美一二三区在线观看| 另类小说图片综合网| 精品少妇一区二区三区视频免付费| 成人免费精品视频| 国产精品麻豆欧美日韩ww| 国产91丝袜在线18| 亚洲欧洲日韩女同| 色综合视频在线观看| 亚洲美女免费在线| 精品视频一区三区九区| 亚洲高清免费观看高清完整版在线观看| 色成人在线视频| 亚洲一区二区三区四区不卡| 在线免费av一区| 午夜久久久影院| 日韩欧美中文一区二区| 极品少妇xxxx精品少妇偷拍| 久久精品视频一区二区| 不卡一二三区首页| 玉米视频成人免费看| 欧美性猛交xxxxxx富婆| 日韩av中文在线观看| 2024国产精品| 99精品视频在线观看免费| 伊人开心综合网| 91麻豆精品国产自产在线 | 久久精品男人的天堂| 成人免费视频国产在线观看| 亚洲乱码一区二区三区在线观看| 91黄色小视频| 美国av一区二区| 亚洲国产精品成人综合色在线婷婷| 91在线观看视频| 日韩福利电影在线| 日本一区二区三区久久久久久久久不 | 亚洲欧美经典视频| 欧美亚洲国产一区二区三区va|