Java課程設(shè)計(jì)報(bào)告-21點(diǎn)小游戲_第1頁(yè)
Java課程設(shè)計(jì)報(bào)告-21點(diǎn)小游戲_第2頁(yè)
Java課程設(shè)計(jì)報(bào)告-21點(diǎn)小游戲_第3頁(yè)
Java課程設(shè)計(jì)報(bào)告-21點(diǎn)小游戲_第4頁(yè)
Java課程設(shè)計(jì)報(bào)告-21點(diǎn)小游戲_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

-.z.---.可修編.2016—20172016—2017學(xué)年第二學(xué)期《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告題目:21點(diǎn)小游戲?qū)I(yè):班級(jí)::指導(dǎo)教師:成績(jī):計(jì)算機(jī)學(xué)院2017年5月16日TOC\o"1-2"\h\u1.課程設(shè)計(jì)的目的22.設(shè)計(jì)思路23.設(shè)計(jì)結(jié)果與分析24.設(shè)計(jì)體會(huì)25.參考文獻(xiàn)26.附錄2-.z.---.可修編.1.設(shè)計(jì)目的面向?qū)ο蟪绦蛟O(shè)計(jì)是一門實(shí)踐性很強(qiáng)的專業(yè)基礎(chǔ)課程,課程設(shè)計(jì)是學(xué)習(xí)完該課程后進(jìn)行的一次較全面的綜合練習(xí)。其目的在于通過實(shí)踐加深學(xué)生對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的理論、方法和基礎(chǔ)知識(shí)的理解,掌握使用Java語(yǔ)言進(jìn)行面向?qū)ο笤O(shè)計(jì)的基本方法,提高運(yùn)用面向?qū)ο笾R(shí)分析實(shí)際問題、解決實(shí)際問題的能力,提高學(xué)生的應(yīng)用能力。通過這次設(shè)計(jì),掌握了以下容:面向?qū)ο蠹夹g(shù)中的繼承與多態(tài)(重載和覆蓋)機(jī)制、各種修飾符的使用類、包、接口的定義與使用。常用工具類與算法的實(shí)現(xiàn)(數(shù)組、向量、字符串、鏈表),java.awt、java*.swing中常用標(biāo)準(zhǔn)GUI組件及相應(yīng)的事件處理,Java的異常處理機(jī)制,Java的數(shù)據(jù)庫(kù)連接技術(shù),Java的多線程技術(shù)與動(dòng)畫制作以及Java的網(wǎng)絡(luò)編程。游戲規(guī)則是:各個(gè)參與者設(shè)法使自己的牌達(dá)到總分21而不超過這個(gè)數(shù)值。2.設(shè)計(jì)思路本游戲選用Eclipse、uilder、NetBeans等作為開發(fā)平臺(tái)以提高開發(fā)效率,通過資料查閱和學(xué)習(xí)盡可能熟練掌握其中一種集成開發(fā)環(huán)境。在要牌的過程中,如果所有的牌加起來超過21點(diǎn),玩家就輸了——叫爆掉(Bust),游戲也就結(jié)束了。假如玩家沒爆掉,而莊家的總點(diǎn)數(shù)加起來大于21點(diǎn)后,那莊家就輸了。假如莊家沒爆掉,而玩家也沒有爆掉,則玩家就與莊家比點(diǎn)數(shù)大小,大為贏。一樣的點(diǎn)數(shù)則莊家贏。開始開始玩家點(diǎn)數(shù)莊家點(diǎn)數(shù)玩家贏玩家輸結(jié)束大于21點(diǎn),爆牌,爆牌大于21點(diǎn),爆牌,爆牌玩家點(diǎn)數(shù)大于莊家點(diǎn)數(shù)YN圖1結(jié)構(gòu)圖3.設(shè)計(jì)結(jié)果與分析當(dāng)打開該小游戲時(shí),打開游戲菜單里面的開始游戲,軟件運(yùn)行界面如下圖所示圖2主界面圖3玩家點(diǎn)數(shù)大于21點(diǎn)圖4玩家點(diǎn)數(shù)大于莊家點(diǎn)數(shù)圖5莊家點(diǎn)數(shù)大于玩家點(diǎn)數(shù)圖6繼續(xù)要牌圖7玩家點(diǎn)數(shù)等于莊家點(diǎn)數(shù)4.設(shè)計(jì)體會(huì)該課程設(shè)計(jì),除了全面系統(tǒng)的理解了JAVA面向?qū)ο缶幊淘淼囊话阍砗突緦?shí)現(xiàn)方法。還把死板的課本知識(shí)變得生動(dòng)有趣,激發(fā)了學(xué)習(xí)的積極性。把學(xué)過的編程原理的知識(shí)強(qiáng)化,能夠把課堂上學(xué)的知識(shí)通過自己設(shè)計(jì)的程序表示出來,加深了對(duì)理論知識(shí)的理解。以前對(duì)面向?qū)ο笳J(rèn)識(shí)和概念是有點(diǎn)模糊的,現(xiàn)在通過自己動(dòng)手做課程設(shè)計(jì),從實(shí)踐上認(rèn)識(shí)了面向?qū)ο缶幊淌侨绾瓮ㄟ^對(duì)象來簡(jiǎn)化面向過程中的操作。課程設(shè)計(jì)中程序比較復(fù)雜,在調(diào)試時(shí)應(yīng)該仔細(xì),在程序調(diào)試時(shí),注意盡力尋找程序中存在的不足之處,進(jìn)而使功能更加完善。在這次課程設(shè)計(jì)中,我就是按照實(shí)驗(yàn)指導(dǎo)的思想來完成。加深了理解21點(diǎn)游戲的部功能及部實(shí)現(xiàn),培養(yǎng)實(shí)踐動(dòng)手能力和程序開發(fā)能力的目的。當(dāng)然在做課程設(shè)計(jì)要有很大的耐心,做的過程就是不斷的調(diào)試—修改—調(diào)試過程,只有靜下心來才能把問題解決。5.參考文獻(xiàn)[1]耿祥義,躍平.Java2實(shí)用教程(第三版)[M].:清華大學(xué),2004.5:37-103.[2][美]HerbertSchildt.Java參考大全[M].:清華大學(xué),2007.8:145-168.[3]家興.JAVA圖形用戶界面設(shè)計(jì)與實(shí)例[M].:冶金工業(yè),2005.2:75-89.[4]偉.Java程序設(shè)計(jì)實(shí)戰(zhàn)訓(xùn)練[M].:人民郵電,2005.7:97-105.[5]衛(wèi)琴.Java面向?qū)ο缶幊蘙M].:電子工業(yè),2009.5:123-156.[6][美]Deitel.Java.大學(xué)基礎(chǔ)教程(第六版)[M].:電子工業(yè),2008.8:34-78.[7][美]迪特爾().Java程序設(shè)計(jì)教程[M].:清華大學(xué),2007.4:12-34.6.附錄packagesdf;importjava.awt.*;

importjava.awt.event.*;

importjava.util.Random;

publicclassGamee*tendsFrameimplementsWindowListener,ActionListener{

Buttonst=newButton("開始游戲");

Buttonyao=newButton("繼續(xù)發(fā)牌");

Buttonkai=newButton("開牌");

Panelp=newPanel();

Randomr=newRandom();

Fontf1=newFont("楷體",Font.BOLD,24);

ImageI[]=newImage[13];

intk[]=newint[14];

booleanbool=false,bol=false;

inti,n,sum,w;

publicvoidpaint(Graphicsg){

int*=20;

if(bool){

for(i=0;i<n;i++){

g.drawImage(I[k[i]],*,50,this);

*=*+80;

}

Strings;

s=Integer.toString(sum);

g.drawString("你現(xiàn)在的點(diǎn)數(shù)是:",20,300);

g.setColor(Color.BLUE);

g.setFont(f1);

g.drawString(s,110,300);

}

if(sum>21){

g.drawString("Sorry!你爆了~",300,380);

}

if(bol){

if(sum>w){

g.drawString("恭喜你~YOUWIN!",200,380);

}elseif(sum==w)

g.drawString("莊家和你一樣大,所以莊家贏!",200,380);

else

g.drawString("莊家比你大,YOULOST!",200,380);

bol=false;

Stringstr;

g.drawString("莊家的牌面點(diǎn)數(shù)是:",250,420);

str=Integer.toString(w);

g.drawString(str,455,420);

}

}

publicGame(){

super("21點(diǎn)小游戲");

setSize(600,500);

setLocation(300,100);

setLayout(newBorderLayout());

addWindowListener(this);

setBackground(Color.lightGray);

p.setBackground(Color.blue);

p.add(st);

st.addActionListener(this);

p.add(yao);

yao.addActionListener(this);

p.add(kai);

kai.addActionListener(this);

add("South",p);

I[0]=Toolkit.getDefaultToolkit().getImage("a.jpg");

I[1]=Toolkit.getDefaultToolkit().getImage("2.jpg");

I[2]=Toolkit.getDefaultToolkit().getImage("3.jpg");

I[3]=Toolkit.getDefaultToolkit().getImage("4.jpg");

I[4]=Toolkit.getDefaultToolkit().getImage("5.jpg");

I[5]=Toolkit.getDefaultToolkit().getImage("6.jpg");

I[6]=Toolkit.getDefaultToolkit().getImage("7.jpg");

I[7]=Toolkit.getDefaultToolkit().getImage("8.jpg");

I[8]=Toolkit.getDefaultToolkit().getImage("9.jpg");

I[9]=Toolkit.getDefaultToolkit().getImage("10.jpg");

I[10]=Toolkit.getDefaultToolkit().getImage("j.jpg");

I[11]=Toolkit.getDefaultToolkit().getImage("q.jpg");

I[12]=Toolkit.getDefaultToolkit().getImage("k.jpg");

setVisible(true);

}

publicstaticvoidmain(String[]args){

Gameg=newGame();

}

publicvoidwindowActivated(WindowEvente){

}

publicvoidwindowClosed(WindowEvente){

}

publicvoidwindowClosing(WindowEvente){

e.getWindow().dispose();

System.e*it(0);

}

publicvoidwindowDeactivated(WindowEvente){

}

publicvoidwindowDeiconified(WindowEvente){

}

publicvoidwindowIconified(WindowEvente){

}

publicvoidwindowOpened(WindowEvente){

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==st){

kai.setEnabled(true);

yao.setEnabled(true);

w=Math.abs(r.ne*tInt()%22);

if(w<10){

w=w+10;

}

bool=true;

n=2;

for(i=0;i<2;i++){

k[i]=Math.abs(r.ne*tInt()%13);

}

}

if(e.getSource()==yao){

k[n]=Math.abs(r.ne*tInt()%13);

n++;

}

jifen();

repaint();

if(e.getSource()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論