版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
-.z.---.可修編.2016—20172016—2017學(xué)年第二學(xué)期《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告題目:21點(diǎn)小游戲?qū)I(yè):班級::指導(dǎo)教師:成績:計(jì)算機(jī)學(xué)院2017年5月16日TOC\o"1-2"\h\u1.課程設(shè)計(jì)的目的22.設(shè)計(jì)思路23.設(shè)計(jì)結(jié)果與分析24.設(shè)計(jì)體會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é)生對面向?qū)ο蟪绦蛟O(shè)計(jì)的理論、方法和基礎(chǔ)知識的理解,掌握使用Java語言進(jìn)行面向?qū)ο笤O(shè)計(jì)的基本方法,提高運(yùn)用面向?qū)ο笾R分析實(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ù)庫連接技術(shù),Java的多線程技術(shù)與動畫制作以及Java的網(wǎng)絡(luò)編程。游戲規(guī)則是:各個參與者設(shè)法使自己的牌達(dá)到總分21而不超過這個數(shù)值。2.設(shè)計(jì)思路本游戲選用Eclipse、uilder、NetBeans等作為開發(fā)平臺以提高開發(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)打開該小游戲時,打開游戲菜單里面的開始游戲,軟件運(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ì)體會該課程設(shè)計(jì),除了全面系統(tǒng)的理解了JAVA面向?qū)ο缶幊淘淼囊话阍砗突緦?shí)現(xiàn)方法。還把死板的課本知識變得生動有趣,激發(fā)了學(xué)習(xí)的積極性。把學(xué)過的編程原理的知識強(qiáng)化,能夠把課堂上學(xué)的知識通過自己設(shè)計(jì)的程序表示出來,加深了對理論知識的理解。以前對面向?qū)ο笳J(rèn)識和概念是有點(diǎn)模糊的,現(xiàn)在通過自己動手做課程設(shè)計(jì),從實(shí)踐上認(rèn)識了面向?qū)ο缶幊淌侨绾瓮ㄟ^對象來簡化面向過程中的操作。課程設(shè)計(jì)中程序比較復(fù)雜,在調(diào)試時應(yīng)該仔細(xì),在程序調(diào)試時,注意盡力尋找程序中存在的不足之處,進(jìn)而使功能更加完善。在這次課程設(shè)計(jì)中,我就是按照實(shí)驗(yàn)指導(dǎo)的思想來完成。加深了理解21點(diǎn)游戲的部功能及部實(shí)現(xiàn),培養(yǎng)實(shí)踐動手能力和程序開發(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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度危化品物流配送與倉儲服務(wù)合同3篇
- 2025年度科技創(chuàng)新項(xiàng)目試用合作全新試用協(xié)議3篇
- 2025年度寵物店寵物用品定制生產(chǎn)與銷售權(quán)轉(zhuǎn)讓協(xié)議3篇
- 2025年度文化產(chǎn)業(yè)融資合同范本集3篇
- 二零二五年度綠色環(huán)保產(chǎn)業(yè)市場拓展?fàn)I銷策劃合同3篇
- 2025年度內(nèi)架承包與施工噪聲及光污染控制協(xié)議3篇
- 2025年度智能網(wǎng)聯(lián)汽車制造企業(yè)整體轉(zhuǎn)讓協(xié)議版3篇
- 二零二五年度展會現(xiàn)場展臺搭建與物料租賃合同2篇
- 養(yǎng)殖業(yè)產(chǎn)業(yè)鏈金融支持2025年度合作協(xié)議3篇
- 2025年度海外空間科學(xué)與技術(shù)留學(xué)合同
- GB/T 6344-2008軟質(zhì)泡沫聚合材料拉伸強(qiáng)度和斷裂伸長率的測定
- GA/T 798-2008排油煙氣防火止回閥
- GA/T 1163-2014人類DNA熒光標(biāo)記STR分型結(jié)果的分析及應(yīng)用
- 《中國紅》詩歌朗誦
- 光伏工程啟動驗(yàn)收鑒定書
- 承攬合同糾紛答辯狀范例2篇
- 管線管廊布置設(shè)計(jì)規(guī)范
- 招聘與錄用選擇題
- 《工資、薪金的個人所得稅的計(jì)算》教學(xué)設(shè)計(jì)
- 周視瞄準(zhǔn)鏡的初步設(shè)計(jì)-北京理工大學(xué)-光電學(xué)院小學(xué)期作業(yè)
- Writing寫作教學(xué)設(shè)計(jì)
評論
0/150
提交評論