C/C++實現(xiàn)貪吃蛇逐步運動效果
本文實例為大家分享了C/C++實現(xiàn)貪吃蛇逐步運動效果的代碼,供大家參考,具體內容如下
主要使用結構數(shù)組和結構指針,再用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); // 移動函數(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) { //按鍵響應,并對超出界面的點進行重置 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)其他問題,歡迎指出!??!
以上就是本文的全部內容,希望對大家的學習有所幫助。
欄 目:C語言
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2343.html
您可能感興趣的文章
- 04-02c語言沒有round函數(shù) round c語言
- 01-10數(shù)據(jù)結構課程設計-用棧實現(xiàn)表達式求值的方法詳解
- 01-10使用OpenGL實現(xiàn)3D立體顯示的程序代碼
- 01-10深入理解C++中常見的關鍵字含義
- 01-10求斐波那契(Fibonacci)數(shù)列通項的七種實現(xiàn)方法
- 01-10C語言 解決不用+、-、&#215;、&#247;數(shù)字運算符做加法
- 01-10使用C++實現(xiàn)全排列算法的方法詳解
- 01-10c++中inline的用法分析
- 01-10用C++實現(xiàn)DBSCAN聚類算法
- 01-10深入全排列算法及其實現(xiàn)方法


閱讀排行
本欄相關
- 04-02c語言函數(shù)調用后清空內存 c語言調用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調用函數(shù)求fibo C語言調用函數(shù)求
隨機閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 01-10delphi制作wav文件的方法
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10C#中split用法實例總結
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文