2016.5.10

張鑫源  150809109


  我對於這次C語言程序的基本語句能完成功能的體會是能夠通過衆多簡單的C語言語句編寫出一個具有功能的程序,上學期學習的學習的是最基礎的命令,並有進行過如此複雜的編程,這次我們自己嘗試編寫的飛機遊戲,讓我受益匪淺,在這個程序中,我們運用了上學期的知識,先以INCLUDE爲開頭,然後構建基礎,然後追加各種設定,讓其成爲了一個較爲複雜的程序,最後成功使其成爲一款簡單的遊戲。

  雖然在上個學期中,我們已經學習了《C 語言程序設計》這門課,但是我所學的知識最多也就是在做作業的時候纔會用到,平時沒有什麼練習的機會,這次的課程設計是我第一次通過自己構思,和同學討論並且不斷查閱資料來設計一項程序。這次設計,不僅鞏固了我以前所學的知識,還讓我對c語言有了更深一步的瞭解,掌握了更多的技巧和技能。  C語言是計算機程序設計的重要理論基礎,在我們以後的學習和工作中都有着十分重要的地位。要學好這種語言,僅僅學習課本上的知識是不夠的,還要經常自己動手,有較強的實踐能力。只有多動手,經常編寫程序,才能發現我們學習上的漏洞和自己的不足,並在實踐中解決這些問題,不斷提高自己轉化知識的能力。






#include.h>

#include.h>

#include.h>

#include.h>

#define N 35

void print(int [][N]);//輸出函數

void movebul(int [][N]);//子彈移動函數

void movepla(int [][N]);//敵機移動函數

void setting(void);//設置函數

void menu(void);//菜單函數

int scr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;//全局變量:界面、我機初始位、界面寬度、敵機速度、敵機密度、得分、死亡

main(void)

{

menu();

int i=0,j=0;

scr[21][pl]=1;

scr[0][5]=3;

while(1){if(kbhit())switch(getch())//控制左右移動和進入菜單

{case \'a\':case \'A\':if(pl>0)scr[21][pl]=0,scr[21][--pl]=1;break;

case \'d\':case \'D\':if(pl)scr[21][pl]=0,scr[21][++pl]=1;<>

break;

case \'w\':case \'W\':scr[20][pl]=2;break;case 27 :setting();

break;

}

if(++j%density==0)//控制生產敵機的速度

{j=0;srand(time(NULL));

scr[0][rand()%width]=3;

}

if(++i%speed==0)//控制敵機移動速度,相對於子彈移動速度

movepla(scr);

movebul(scr);

print(scr);

if(i==30000)i=0;//以免i 越界

}

}

void print(int a[][N]){system(\"cls\");

int i,j;

for(i=0;i<22;i++){a[i][width-1]=4;< p="\"\"">

for(j=0;j> \");;j++){if(a[i][j]==0)printf(\\\\\\\\\\\\\\\\\\\\\>

switch(getche())

{

case \'1\':width=34;break;

case \'2\':width=24;break;

default:printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 錯誤,請重新選擇...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\");

sw=1;

}

}

while(sw);

do

{

sw=0;

printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 請選擇敵機密度:1.大2.中3.小>> \");

switch(getche())

{

case \'0\':density=10;

break;

case \'1\':density=20;

break;case \'2\':density=30;

break;case \'3\':density=40;break;

default:printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 錯誤,請重新選擇...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\");

sw=1;

}

}

while(sw);

do

{

sw=0;

printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 敵機的飛行速度:1.快2.中3.慢>> \");

switch(getche())

{

case \'1\':speed=2;

break;

case \'2\':speed=3;

break;

case \'3\':speed=4;

break;

default:printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 錯誤,請重新選擇...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\");

sw=1;

}

}

while(sw);

for(i=0;i<22;i++)< p="\"\"">

for(j=0;j<45;j++)< p="\"\"">

scr[i][j]=0;

scr[21][pl=9]=1;

printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 按任意鍵保存...\");

getch();

}

void menu(void)

{

printf(\"說明:按A D 控制我機左右飛行,W 發射子彈\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 設置:請按Esc\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 開始遊戲:任意鍵\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\");

if(getch()==27)setting();

}






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章