最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C/C++實現(xiàn)貪吃蛇逐步運動效果

 更新時間:2020年04月28日 09:24:11   作者:潤筆武神  
這篇文章主要為大家詳細介紹了C/C++實現(xiàn)貪吃蛇逐步運動效果的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C/C++實現(xiàn)貪吃蛇逐步運動效果的代碼,供大家參考,具體內(nèi)容如下

主要使用結(jié)構(gòu)數(shù)組和結(jié)構(gòu)指針,再用easyx圖形庫進行的繪圖,以供討論和學習

#include <conio.h>
 
//建立儲存蛇身的結(jié)構(gòu)體
struct snack
{
 int x;
 int y;
 
};
//決定方向
int fangxiang=3;//w=0,s=1,a=2,d=3
// 按鍵變量
char anjian=0;
//調(diào)整坐標關(guān)系
int tiaozheng(struct snack *a);
// 移動函數(shù)
int move(struct snack *a);
//打印圖像
int print(struct snack *a);
//速度
int v=10;
 
 
int main()
{
 
 initgraph(640, 480); 
 
 struct snack na[10] ={0};
 while(anjian!='q')
 {
 if(kbhit())
 {
  anjian=getch();
  switch(anjian)
  {
 
   //w=0,s=1,a=2,d=3
  case 'w':
  if(fangxiang!=1)
  fangxiang=0;
  break;
  case 's':
  if(fangxiang!=0)
  fangxiang=1;
  break;
  case 'a':
  if(fangxiang!=3)
  fangxiang=2;
  break;
  case 'd':
  if(fangxiang!=2)
  fangxiang=3;
  break;
  default:
  break;
  }
  
 }
 
 
  //清屏函數(shù)
  cleardevice();
  move(na);
  print(na);
  //避免程序運行過快
  Sleep(60);
  tiaozheng(na);
  
 }
 
 closegraph();  
 return 0;
}
 
 
 
int tiaozheng(struct snack *a)
{
 //從最后以個元素開始,依次進行坐標的傳遞
  
 for(int i=9;i>0;i--)
 {
 a[i].x=a[i-1].x;
 a[i].y=a[i-1].y; 
 }
  
 
 
  return 0;
 
}
 
int print(struct snack *a)
{
 for(int i=0;i<10;i++)
 {
 //進行繪圖
 putpixel(a[i].x,a[i].y,RGB(100-10*i,255,100-10*i));
 circle(a[i].x,a[i].y,5);
 }
 return 0;
}
 
int move(struct snack *a)
{
 //w=0,s=1,a=2,d=3
 switch(fangxiang)
 {
 
 //按鍵響應(yīng),并對超出界面的點進行重置
  case 0:
  a[0].y=a[0].y-v;
  if(a[0].y<0)
   a[0].y=480;
  break;
  case 1:
  a[0].y=a[0].y+v;
  if(a[0].y>480)
   a[0].y=0;
  break;
  case 2:
  a[0].x=a[0].x-v;
  if(a[0].x<0)
   a[0].x=640;
  break;
  case 3:
  a[0].x=a[0].x+v;
  if(a[0].x>640)
   a[0].x=0;
  break;
  default:
  break;
 }
 return 0;
}

因時間有限,沒有考慮使用new來實現(xiàn)蛇身的長度的可控,僅使用初始值來實現(xiàn),其次是未使用全局變量,整體比較凌亂,希望大家發(fā)現(xiàn)其他問題,歡迎指出?。?!

關(guān)于C++小游戲的更多精彩內(nèi)容請點擊專題: 《C++經(jīng)典小游戲》 學習了解

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++中的while循環(huán)和for循環(huán)語句學習教程

    C++中的while循環(huán)和for循環(huán)語句學習教程

    這篇文章主要介紹了C++中的while循環(huán)和for循環(huán)語句學習教程,是C++入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • 利用c++和easyx圖形庫做一個低配版掃雷游戲

    利用c++和easyx圖形庫做一個低配版掃雷游戲

    這篇文章主要介紹了用c++和easyx圖形庫做一個低配版掃雷游戲,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • C語言中static與sizeof查缺補漏篇

    C語言中static與sizeof查缺補漏篇

    static在修飾變量的時候,如果是修飾全局變量,則跟全局變量功能一樣;如果是修改局部變量,則每次調(diào)用的時候,保持著上一次的值;而sizeof是用來判斷一個變量及數(shù)據(jù)類型所占字節(jié)數(shù)的,下面我們詳細來看看
    2022-07-07
  • C語言實現(xiàn)二叉樹的搜索及相關(guān)算法示例

    C語言實現(xiàn)二叉樹的搜索及相關(guān)算法示例

    這篇文章主要介紹了C語言實現(xiàn)二叉樹的搜索及相關(guān)算法,結(jié)合具體實例形式分析了基于C語言創(chuàng)建、遍歷、搜索等相關(guān)算法與實現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06
  • C語言數(shù)據(jù)結(jié)構(gòu)之棧和隊列的實現(xiàn)及應(yīng)用

    C語言數(shù)據(jù)結(jié)構(gòu)之棧和隊列的實現(xiàn)及應(yīng)用

    棧和隊列是一種數(shù)據(jù)結(jié)構(gòu),只規(guī)定了性質(zhì),并沒有規(guī)定實現(xiàn)方式。本文將以順序結(jié)構(gòu)實現(xiàn)棧,鏈表方式實現(xiàn)隊列,感興趣的小伙伴快跟隨小編一起學習一下吧
    2022-08-08
  • C++11之后的decltype類型指示符詳解

    C++11之后的decltype類型指示符詳解

    為了滿足這一要求,C++11?新標準引入了另一種類型說明符?decltype?,它的作用是選擇并返回操作數(shù)的數(shù)據(jù)類型,這篇文章主要介紹了C++11之后的decltype類型指示符,需要的朋友可以參考下
    2023-01-01
  • C語言實現(xiàn)軍旗游戲的示例代碼

    C語言實現(xiàn)軍旗游戲的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C語言實現(xiàn)軍旗游戲,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • 如何優(yōu)雅地使用c語言編寫爬蟲

    如何優(yōu)雅地使用c語言編寫爬蟲

    如何優(yōu)雅地使用c語言編寫爬蟲,本文介紹cspider爬蟲庫,這個cspider爬蟲庫的使命在于,我們能夠使用c語言,依然能夠優(yōu)雅地編寫爬蟲程序,需要的朋友可以參考下
    2015-12-12
  • C語言實現(xiàn)五子棋人人對戰(zhàn)

    C語言實現(xiàn)五子棋人人對戰(zhàn)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)五子棋人人對戰(zhàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 如何判斷一個數(shù)是否為2的冪次方?若是,并判斷出來是多少次方?

    如何判斷一個數(shù)是否為2的冪次方?若是,并判斷出來是多少次方?

    本篇文章是對如何判斷一個數(shù)是否為2的冪次方?若是,并判斷出來是多少次方的實現(xiàn)方法,進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05

最新評論

杭锦旗| 建湖县| 平阴县| 大洼县| 鹰潭市| 辉县市| 贵港市| 毕节市| 大洼县| 雷州市| 蛟河市| 竹北市| 甘洛县| SHOW| 广东省| 阿坝| 湖口县| 阳曲县| 澜沧| 鲜城| 墨江| 桃园县| 莆田市| 临夏市| 绥棱县| 镇沅| 遵化市| 天柱县| 陵川县| 九龙城区| 卫辉市| 临清市| 余姚市| 赫章县| 遂昌县| 郎溪县| 白城市| 新丰县| 阜平县| 乡城县| 永春县|