国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C/C++實現貪吃蛇逐步運動效果

2020-05-23 14:05:18
字體:
來源:轉載
供稿:網友
這篇文章主要為大家詳細介紹了C/C++實現貪吃蛇逐步運動效果的相關資料,需要的朋友可以參考下
 

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

主要使用結構數組和結構指針,再用easyx圖形庫進行的繪圖,以供討論和學習

#include <conio.h> //建立儲存蛇身的結構體struct snack{  int x;  int y; };//決定方向int fangxiang=3;//w=0,s=1,a=2,d=3// 按鍵變量char anjian=0;//調整坐標關系int tiaozheng(struct snack *a);// 移動函數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;      }           }        //清屏函數      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)  {     //按鍵響應,并對超出界面的點進行重置      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來實現蛇身的長度的可控,僅使用初始值來實現,其次是未使用全局變量,整體比較凌亂,希望大家發現其他問題,歡迎指出?。?!

以上就是本文的全部內容,希望對大家的學習有所幫助。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祥云县| 莎车县| 常德市| 新泰市| 姜堰市| 大洼县| 上蔡县| 淮阳县| 渭南市| 苍梧县| 吐鲁番市| 紫阳县| 会东县| 昭觉县| 襄樊市| 花莲市| 东莞市| 曲沃县| 龙门县| 宁阳县| 浪卡子县| 邛崃市| 凤庆县| 吴堡县| 连州市| 宿松县| 赤峰市| 尖扎县| 周至县| 民权县| 鹤岗市| 探索| 潼南县| 余江县| 乌审旗| 五河县| 抚州市| 遂川县| 开鲁县| 久治县| 洛阳市|