C語言課程設(shè)計(jì)和現(xiàn)代計(jì)算機(jī)技術(shù)的實(shí)際應(yīng)用相結(jié)合是我們?cè)诒倦A段學(xué)完理論課程之后對(duì)自己該方面的能力的一次很好的檢驗(yàn)從開始的算法思路到運(yùn)行調(diào)試后的美觀的圖形界面以及另人興奮的可用程序都是一個(gè)很好的學(xué)習(xí)和鍛煉的過程。使我們鞏固了原有的理論知識(shí)培養(yǎng)了我們靈活運(yùn)用和組合集成所學(xué)過知識(shí)及技能來分析、解決實(shí)際問題的能力。使我們體會(huì)到自身知識(shí)和能力能在實(shí)際中的應(yīng)用和發(fā)揮。不但可以激發(fā)創(chuàng)新意識(shí)還可以開發(fā)創(chuàng)造能力、培養(yǎng)溝通能力。這次實(shí)習(xí)時(shí)間雖然僅有一個(gè)星期但確實(shí)使我受益非淺。通過實(shí)習(xí)我豐富了計(jì)算機(jī)操作經(jīng)驗(yàn)更加深了對(duì)C語言的了解熟悉了其環(huán)境更
社旗ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!我學(xué)習(xí)了C語言的數(shù)據(jù)類型、常量與符號(hào)常量、變量、C語言的運(yùn)算符和表達(dá)式、賦值運(yùn)算符和賦值表達(dá)式、自增自減運(yùn)算符以及逗號(hào)表達(dá)式等。 覺得實(shí)例階段應(yīng)該是一個(gè)過渡階段吧,通過前一階段對(duì)語法的學(xué)習(xí)之后,可能有很多概念我們都比較模糊,或者說很多東西太抽象了,這就為我們第二個(gè)階段的學(xué)習(xí)做好了實(shí)例化的準(zhǔn)備,可以這樣說吧,第一個(gè)階段就我們?yōu)槲覀兊膶W(xué)習(xí)一樣?xùn)|西而構(gòu)建的一個(gè)類,里面講了我們應(yīng)該在這里面要做什么?第二階,也就是本階段,我們就應(yīng)該去把前一段的東西具體化(實(shí)例化先前創(chuàng)建的類),那怎么個(gè)具體化呢,說白了,去練習(xí)一些小例子,從網(wǎng)上下載的電子書上有很多這方面的例子的,如果有自己去書店買書的話,里面也應(yīng)該提供了不少,里面的例子,我是每次都打了一遍,也許有的人不會(huì)親自去用手打一遍,什么copy等,當(dāng)然這樣也行,但我個(gè)人認(rèn)為,對(duì)于初學(xué)者來說,最好還是自己動(dòng)手打一遍比較好,畢竟這些東西對(duì)我們來說,都比較陌生,如果每個(gè)字都自己打完的話,有些代碼你不想記住也難了,在這里,我們得弄懂練習(xí)的每一個(gè)例子,如果能把一些例子稍稍修改,弄懂里面精髓的東西,讓自己知道為什么這樣做,那么是最好不過的了,我平時(shí)練習(xí)時(shí),這一步是少不了的,都習(xí)慣了,所以也就成了條件反射,想不這樣都不行。最后,我們就應(yīng)該匯一下總,把前面做過的例子里所用的技術(shù)理一下,再做一個(gè)比較大的例子,盡量把到目前為止所懂的知識(shí)全部應(yīng)用到里面去,只是盡量,當(dāng)然有些東西是不能集成到一起的,也是是代碼之間的排斥性。
二、飛機(jī)游戲(或其他軟件)中上學(xué)期學(xué)習(xí)的基本C語言語句是怎么使用的?
之前學(xué)習(xí)了好多類似于什么printf,scanf,if,else函數(shù)等等,總結(jié)了一下大概有以下幾個(gè)使用方式:
1、 表達(dá)式語句,空語句,復(fù)合語句。
2、 數(shù)據(jù)的輸入與輸出,輸入輸出函數(shù)的調(diào)用。
3、 復(fù)合語句。
4、 GOTO語句和語句標(biāo)號(hào)的使用。
三、飛機(jī)游戲(或其他軟件)的結(jié)構(gòu)的分析。
按照老師要求對(duì)代碼進(jìn)行了簡(jiǎn)單的修改
1)該程序采用函數(shù)組成模塊化結(jié)構(gòu)
2)main函數(shù)中,首先調(diào)用menu()函數(shù)產(chǎn)生菜單
3)然后通過不停接收用戶的按鍵,分別判斷是什么操作
4)然后設(shè)置飛機(jī)和×××移動(dòng)
5)顯示
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define N 35
void print(int [][N]);//輸出函數(shù)
void movebul(int [][N]);//×××移動(dòng)函數(shù)
void movepla(int [][N]);//敵機(jī)移動(dòng)函數(shù)
void setting(void);//設(shè)置函數(shù)
void menu(void);//菜單函數(shù)
void oper(void);//操作函數(shù)
int scr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;//全局變量:界面、我機(jī)初始位、界面寬度、敵機(jī)速度、敵機(jī)密度、得分、死亡
main(void)
{
menu();
oper();
}
void oper()
{
int i=0,j=0;
scr[21][pl]=1;
scr[0][5]=3;
while(1)
{
if(kbhit())
switch(getch())//控制左右移動(dòng)和進(jìn)入菜單
{
case 'a':case 'A':
if(pl>0)
scr[21][pl]=0,scr[21][--pl]=1;
break;
case 'd':case 'D':
if(pl<width-2)
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)//控制生產(chǎn)敵機(jī)的速度
{
j=0;srand(time(NULL));
scr[0][rand()%width]=3;
}
if(++i%speed==0)//控制敵機(jī)移動(dòng)速度,相對(duì)于×××移動(dòng)速度
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;
for(j=0;j<width;j++)
{
if(a[i][j]==0)
printf(" ");
if(a[i][j]==1)
printf("\5");//輸出我機(jī)的符號(hào)
if(a[i][j]==2)
printf(".");//×××
if(a[i][j]==3)
printf("\3"); //輸出敵機(jī)符號(hào)
if(a[i][j]==4)
printf("|");
if(i==0&&j==width-1)
printf("得分:%d",score);//右上角顯示得分
if(i==1&&j==width-1)
printf("死亡:%d",death);
if(i==2&&j==width-1)
printf("設(shè)置:Esc");
if(i==3&&j==width-1)
printf("Copyright:張尋");
}
printf("\n");
}
}
void movebul(int a[][N])
{
int i,j;
for(i=0;i<22;i++)
for(j=0;j<width;j++)
{
if(i==0&&a[i][j]==2)
a[i][j]=0;
if(a[i][j]==2)
{
if(a[i-1][j]==3)
score+=10,printf("\7");
a[i][j]=0,a[i-1][j]=2;
}
}
}
void movepla(int a[][N])
{
int i,j;
for(i=21;i>=0;i--)//從最后一行往上是為了避免把敵機(jī)直接沖出數(shù)組。
for(j=0;j<width;j++)
{
if(i==21&&a[i][j]==3)
a[i][j]=0;//底行賦值0 以免越界。
if(a[i][j]==3)
a[i][j]=0,a[i+1][j]=3;
}
if(a[20][pl]==3&&a[21][pl]==1)
death++;
}
void setting(void)
{
int sw=0,i,j;
system("cls");
do{sw=0;printf("\n 游戲界面的大?。?.大2.小>> ");
switch(getche())
{
case '1':
width=34;
break;
case '2':
width=24;
break;
default:
printf("\n 錯(cuò)誤,請(qǐng)重新選擇...\n");
sw=1;
}
}
while(sw);
do
{
sw=0;
printf("\n 請(qǐng)選擇敵機(jī)密度: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 錯(cuò)誤,請(qǐng)重新選擇...\n");
sw=1;
}
}while(sw);
do
{
sw=0;
printf("\n 敵機(jī)的飛行速度:1.快2.中3.慢>> ");
switch(getche())
{
case '1':
speed=2;
break;
case '2':
speed=3;
break;
case '3':
speed=4;
break;
default:
printf("\n 錯(cuò)誤,請(qǐng)重新選擇...\n");
sw=1;
}
}while(sw);
for(i=0;i<22;i++)
for(j=0;j<45;j++)
scr[i][j]=0;
scr[21][pl=9]=1;
printf("\n 按任意鍵保存...");
getch();
}
void menu(void)
{
printf("說明:按A D 控制我機(jī)左右飛行,W 發(fā)射×××\n 設(shè)置:請(qǐng)按Esc\n 開始游戲:任意鍵\n by zhang-xun");
if(getch()==27)
setting();
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
文章名稱:C語言程序設(shè)計(jì)感想-創(chuàng)新互聯(lián)
文章來源:http://aaarwkj.com/article36/ccpipg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站、域名注冊(cè)、Google、網(wǎng)站排名、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容