freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

貪吃蛇課程設(shè)計(jì)總結(jié)報(bào)告書-文庫(kù)吧資料

2024-11-09 23:05本頁(yè)面
  

【正文】 的解決措施等;,前期發(fā)現(xiàn)錯(cuò)誤為游戲界面靜止。⑤輸出分?jǐn)?shù)函數(shù)PrScore():在指定位置利用sprintf()將整數(shù)轉(zhuǎn)換為字符串,用outtextxy()輸出,、bar()函數(shù)的應(yīng)用是為了覆蓋原來(lái)的值。如果按鍵為Esc鍵則結(jié)束游戲,程序運(yùn)行結(jié)束;如果所按鍵為方向鍵,則根據(jù)該鍵改變蛇方向的變量direction的值,相反方向鍵無(wú)效。采用的方法是每次移動(dòng)的時(shí)候從最后一節(jié)開(kāi)始到倒數(shù)第二節(jié),將前一節(jié)的坐標(biāo)賦值給后一節(jié)的坐標(biāo),移動(dòng)后只要把最后一節(jié)用背景色去除即可。如果沒(méi)有食物,隨機(jī)出現(xiàn)食物;食物的隨機(jī)出現(xiàn)要確保它的位置在10的倍數(shù)位置上,因?yàn)樯叩淖鴺?biāo)都是以10為模的;如果有食物,則顯示食物,蛇貪吃蛇游戲程序設(shè)計(jì)報(bào)告移動(dòng)身體,根據(jù)蛇的方向改變坐標(biāo)值,并判斷蛇是否撞到了墻或自己吃到了自己,如果出現(xiàn)這兩種情況之一,則蛇死;調(diào)用游戲結(jié)束函數(shù)GamePlay(),結(jié)束本次游戲;判斷蛇吃到食物的方法是蛇頭的坐標(biāo)和食物的坐標(biāo)都相等;如果蛇吃到了食物,蛇身體長(zhǎng)一節(jié),數(shù)組元素增加一個(gè),身體節(jié)數(shù)、分?jǐn)?shù)都進(jìn)行相應(yīng)的改變。為防止食物出現(xiàn)在一個(gè)位置上,要設(shè)置隨機(jī)數(shù)發(fā)生器,真正產(chǎn)生隨機(jī)數(shù)。②畫界面函數(shù)DrawK():主界面是一個(gè)密封的圍墻,用兩個(gè)循環(huán)語(yǔ)句分別在水平方向和垂直方向輸出連續(xù)的寬度和高度均為10個(gè)單位的矩形小方塊,設(shè)置成淡青色,背景顏色為黑色。/*本次游戲結(jié)束*/=1。amp。amp。/*本次游戲結(jié)束*/=1。amp。amp。amp。=0。while(%10!=0)++。/*指定位置2*/} if(==1)/*需要出現(xiàn)新食物*/{=rand()60。/*指定位置1*/} for(i=120。五 for(i=200。一次次修改,一次次失敗,就像貪吃蛇想方設(shè)法吃蘋果會(huì)Game over,我們只有認(rèn)真學(xué)好基礎(chǔ)理論,并結(jié)合實(shí)踐經(jīng)驗(yàn)才會(huì)取得進(jìn)步。蘋果位置的出現(xiàn)也同樣需要進(jìn)一步的搜索,通過(guò)更改食物的橫縱坐標(biāo)以及出現(xiàn)的概率來(lái)確定食物的位置。在學(xué)習(xí)過(guò)程中,深深的發(fā)現(xiàn)了自己的不足之處,對(duì)于C語(yǔ)言,只學(xué)了一點(diǎn)點(diǎn)皮毛東西,想要學(xué)好C語(yǔ)言,編好程序,還要付出很多的努力,還要用更多的時(shí)間來(lái)學(xué)習(xí)C語(yǔ)言這門深?yuàn)W的學(xué)科。他們自己編寫程序,我很佩服他們,越是這樣想。作為小組中唯一的女生,明顯感覺(jué)有壓力,打字速度不如另外兩個(gè)男生,對(duì)游戲和程序的敏感也不如他們強(qiáng),有種小小的挫敗感。剛開(kāi)始接觸貪吃蛇的C語(yǔ)言成尋時(shí),看著Cfree上面出現(xiàn)的有十幾個(gè)錯(cuò)誤的程序,一片茫然不知所措??偟膩?lái)說(shuō)這次課程設(shè)計(jì)收獲很多,也知道了自己的不足,在以后的學(xué)習(xí)中要多實(shí)踐,實(shí)踐很能提高自己的能力。同時(shí)在編改程序的時(shí)候切記不能煩躁要靜心慢慢來(lái),好幾次自己都因心燥出現(xiàn)了很多不該出現(xiàn)的錯(cuò)誤浪費(fèi)了很多時(shí)間。沒(méi)辦法只能借助與課本了。徐XXX: 剛開(kāi)始拿到題目時(shí)候什么也不會(huì)一片茫然,從網(wǎng)上找了一個(gè)程序一看,太嚇人了,這么長(zhǎng)怎么看啊,而且還是錯(cuò)誤的。多看,多練,多總結(jié)。對(duì)于這次課題中,“設(shè)計(jì)一個(gè)墻,就要對(duì)應(yīng)一個(gè)函數(shù)舍得蛇撞墻死”,讓我明白,C語(yǔ)言程序中各部分的聯(lián)系性,牽一發(fā)而動(dòng)全身,所以在編程時(shí)一定要注意全局的把握。還有在編程時(shí)候,書寫一定要規(guī)范,特別是if語(yǔ)句的花括號(hào)的位置要對(duì)應(yīng)起來(lái),因?yàn)槲恢脹Q定范圍。同時(shí)要注意記住平時(shí)編程的時(shí)候,出現(xiàn)的錯(cuò)誤指示是什么意思。還有比如我在遇到程序顯示“else多余”的警告時(shí)候不不知所措,問(wèn)了老師才知道是if()后面加了“;”而且if沒(méi)有用“{}”來(lái)固定范圍,這個(gè)錯(cuò)誤原因是分號(hào)使得if語(yǔ)句結(jié)束了,孤立的else當(dāng)然是多余的了。我想,現(xiàn)在肯定有很多同學(xué)還不知道邏輯運(yùn)算的優(yōu)先次序吧?這個(gè)問(wèn)題我本人在使用邏輯語(yǔ)言的時(shí)候也不太會(huì),還查看了書。而在我本人還沒(méi)有掌握好課本的知識(shí)點(diǎn)的情況下,做起這個(gè)程序自然很費(fèi)事,一個(gè)簡(jiǎn)單的課本P293講到的struct結(jié)構(gòu)體,我一開(kāi)始竟然忘記它是什么意思,不知道它是什么,就更不用談怎么用它了。x%+d的隨機(jī)數(shù),那不就能固定只在某一行出現(xiàn)蘋果了嗎?所以我們覺(jué)得,充分利用手邊的資源也是很重要的,畢竟C語(yǔ)言很高深,課本上的東西總是有限的,要想知道更多的東西還需多練習(xí),多查閱資料。和關(guān)系運(yùn)算符級(jí)別的高低,使得我們?cè)O(shè)計(jì)的墻,總是撞不死蛇,為此我們很是惱火,著急的組員還在這里發(fā)生了點(diǎn)小摩擦,由此可見(jiàn)C語(yǔ)言的嚴(yán)謹(jǐn)性!最后我們又通過(guò)在網(wǎng)上查找信息,知道了隨機(jī)數(shù)發(fā)生器randomize()的用法:rand()=x%+d 意思是說(shuō)在d~(x1)之間隨機(jī)產(chǎn)生一個(gè)數(shù)字。剛一開(kāi)始我們忽略的amp。amp。在我們進(jìn)行了全局來(lái)看以后才知道,原來(lái)設(shè)計(jì)一堵墻,都要再設(shè)計(jì)一個(gè)if語(yǔ)句來(lái)使得蛇在這個(gè)范圍內(nèi)會(huì)死亡。我們用這個(gè)方法知道了其他很多數(shù)值的用途。irectangle(i,300,i+10,309)。還有就是我們發(fā)現(xiàn)程序在編寫時(shí)的規(guī)范性很重要,比如同級(jí)別花括號(hào)的位置的對(duì)應(yīng),對(duì)應(yīng)好了,模塊就好找,對(duì)應(yīng)不好就很亂。沒(méi)有了方向了的征程,一開(kāi)始就是個(gè)錯(cuò)誤。我們?nèi)齻€(gè)人以此程序?yàn)樘澹苯娱_(kāi)始對(duì)程序模塊進(jìn)行挑選,因?yàn)槲覀円呀?jīng)浪費(fèi)了兩天,所以我們決定進(jìn)行分工作業(yè),分別去尋找:筑墻模塊,加蘋果模塊,撞墻死模塊。首先,在我們剛剛進(jìn)行第一步“尋找程序”的時(shí)候,就被擱淺了,因?yàn)槲覀儼l(fā)現(xiàn),在網(wǎng)上能找到一個(gè)真正符合我們使用標(biāo)準(zhǔn)的程序很難,就是找到了幾個(gè)也沒(méi)有能運(yùn)行它們的程序。在經(jīng)歷了一學(xué)期的C語(yǔ)言學(xué)習(xí)后,我們從以往的“紙上談兵”直接過(guò)渡到“實(shí)際作戰(zhàn)”。/*游戲速度自己調(diào)整*/通過(guò)改變變量的值,就可以個(gè)性化選擇自己喜歡的顏色,這將是一場(chǎng)別開(kāi)生面的游戲界面。第四步對(duì)食物墻壁的顏色以及對(duì)蛇的運(yùn)動(dòng)速個(gè)性化調(diào)節(jié)setcolor(4)。=0。while(%10!=0)/*食物隨機(jī)出現(xiàn)后必須讓食物能夠在整格內(nèi),這樣才可以讓蛇吃到*/++。{=rand()%400+60。i{rectangle(i,200,i+10,209)。/*蛇死*/} 相應(yīng)的新添加的墻。*/{GameOver()。amp。amp。amp。只要明白了坐標(biāo)的意思,就可以實(shí)現(xiàn)對(duì)游戲的改編。//本行代表縱坐標(biāo)上:100代表墻的最左邊面一行的位置,69代表墻最右面一行的位置。6960=9,9代表墻塊的厚度 } 縱向上的墻:for(i=100。i{rectangle(i,60,i+10,69)。//可以改變顏色setlinestyle(SOLID_LINE,0,THICK_WIDTH)。關(guān)于該程序的相關(guān)分析思路答題模板:::經(jīng)過(guò)小組成員的認(rèn)真研究我們對(duì)其進(jìn)行了如下改編 第一步加墻 void DrawK(void){ /*setbkcolor(MAGENTA)。irectangle(i,300,i+10,309)。對(duì)于找到的模塊如何進(jìn)行改編呢?怎么才能知道某個(gè)數(shù)值或函數(shù)代表什么呢? 我們有兩個(gè)方法:1.)看名字,比如snakecolor(),很明顯他的意思是蛇的顏色。irectangle(i,200,i+10,209)。setlinestyle(SOLID_LINE,0,THICK_WIDTH)。第三步:尋找模塊并分類,而后進(jìn)行改編。同樣重要的是了解游戲程序。第二步:運(yùn)行游戲并了解游戲程序。因?yàn)槲覀儺吘箯奈纯吹竭^(guò)用C編游戲的程序,讓我們兩手一抹黑的開(kāi)始編寫是有一定的困難的,如果我們自己找一個(gè)已經(jīng)設(shè)計(jì)好的程序,以此為跳板實(shí)現(xiàn)我們想要達(dá)到的效果,那么肯定是高效的。此游戲不僅能鍛煉人的思維敏捷性,而且還可以提高玩家的邏輯判斷能力。}if((rbtnHigh)){(100)。}if((rbtnLow)){(300)。}isPause =!isPause。}if((btnPause)){if(isPause == true){(“暫?!?。if((btnStart)){(false)。}if(()== ){ = RIGHT。}if(()== ){ = DOWN。amp。//移動(dòng)蛇身}if(isEnd){ //游戲結(jié)束(true)。amp。//顯示蛇頭}}class SnakeThread extends Thread {public void run(){while(true){try {()。}blocks[row[0]][col[0]].setBackground()。}blocks[x][y].setBackground()。while(blocks[x][y].isVisible()){x =(int)(()* ROWS)。x =(int)(()* ROWS)。}}//吃豆后,蛇身加長(zhǎng),并隨機(jī)顯示下一個(gè)豆if(blocks[row[0]][col[0]].getBackground().equals()){len++。if(speed == 200)(true)。 speed 100){(null, “恭喜你過(guò)關(guān)了,準(zhǔn)備進(jìn)入下一關(guān)”)。if(score % 2000 == 0 amp。}//吃豆if(blocks[row[0]][col[0]].getBackground().equals()){score += 100。}}//當(dāng)蛇頭碰到墻時(shí),蛇頭碰到蛇身時(shí),游戲結(jié)束if(row[0] = ROWS || row[0] 0 || col[0] = COLS || col[0] 0 ||blocks[row[0]][col[0]].getBackground().equals()){isEnd = true。lastdirection = RIGHT。}case RIGHT: {if(lastdirection == LEFT)col[0]= 1。lastdirection = DOWN。}case DOWN: {if(lastdirection == UP)row[0]= 1。lastdirection = LEFT。}case LEFT: {if(lastdirection == RIGHT)col[0] += 1。lastdirection = UP。}//根據(jù)蛇身運(yùn)動(dòng)方向,決定蛇頭位置switch(direction){case UP: {if(lastdirection == DOWN)row[0] += 1。col[i] = len1]。for(int i = 0。row = new int[ROWS]。direction = RIGHT。public long speed = 300。public int col[]。try {()。}blocks[x][y].setBackground()。while(blocks[x][y].isVisible()){x =(int)(()* ROWS)。}}//在游戲區(qū)內(nèi)隨機(jī)放置豆int x =(int)(()* ROWS)。j++){blocks[i][j].setBackground()。i++){for(int j = 0。//初始化游戲區(qū)for(int i = 0。isEnd = false。score = 0。if(())(200)。}public void start(){snake = new SnakeBody()。()。(blocks[i][j])。blocks[i][j].setBackground()。j COLS。i ROWS。//創(chuàng)建并初始化游戲區(qū)方塊blocks = new JButton[ROWS][COLS]。(pnlTop, )。(jLabel1)。(btnPause)。(“f3”, rbtnHigh)。(“f1”, rbtnLow)。(playPanel)。(rbtnHigh)。(rbtnLow)。(())。(grid1)。(btnAct)。(btnAct)。(btnAct)。btnAction btnAct = new btnAction()。(keyAct)。(keyAct)。(keyAct)。keyAction keyAct = new keyAction()。(false)。contentPane =(JPanel)()。public Snake(){super(“貪食蛇游戲”)。JRadioButton rbtnMid = new JRadioButton(“中級(jí)”)。ButtonGroup buttonGroup1 = new ButtonGroup()。JLabel jLabel1 = new JLabel(“得分:”)。//游戲區(qū)布局private JButton[][] blocks。//當(dāng)前得分SnakeThread thread = new SnakeThread()。//游戲結(jié)束標(biāo)志private SnakeBody snake。//游戲區(qū)列數(shù)private boolean isPause = false。//蛇運(yùn)動(dòng)方向private static final int ROWS = 30。private GridLayout rbtnLayout = new GridLayout(10, 1, 1, 1)。//游戲區(qū)面板private BorderLayout borderLayout1 = new BorderLayout()。//頂部按鈕和分?jǐn)?shù)面板private JPanel pnlLeft = new JPanel()。//游戲暫停按鈕private JButton btnExit = new JButton(“退出”)。//窗體內(nèi)容網(wǎng)格private JButton btnStart = new JButton(“開(kāi)始”)。import
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1