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

正文內(nèi)容

java五子棋設(shè)計(jì)畢業(yè)論文-在線瀏覽

2024-08-08 08:09本頁面
  

【正文】 或沖四的強(qiáng)制手段奪取主動(dòng)權(quán)的著法。 25. 打譜:按照棋譜演練著法,是提高棋藝水平的重要方法之一。對局結(jié)束又重演對局的過程。第四章 開發(fā)工具、環(huán)境及其技術(shù) JAVA簡介JAVA技術(shù)介紹: Java技術(shù)是一門編程語言,也是一個(gè)平臺(tái),它基于Java虛擬機(jī)技術(shù),借助這個(gè)東西建立了跨平臺(tái)的優(yōu)勢。另外現(xiàn)在熱炒的RIA富客戶端的概念下的技術(shù)除了AJAX外還有Adobe的Flash/Flex,微軟的Silver Light,SUN的JavaFX等,個(gè)人更看好FLash/Flex,原因是Flash插件在瀏覽器端占用率很高) Java技術(shù)的重要性就不講了,從最近流行的一個(gè)統(tǒng)計(jì)數(shù)據(jù)上來說,目前世界上編程語言Java 、C 、VB、C++依次排名前4位,這排名本身不說明什么,至少也是工業(yè)界對編程語言使用上一個(gè)側(cè)面的反映吧。編譯只進(jìn)行一次,而解釋在每次運(yùn)行程序時(shí)都會(huì)進(jìn)行。這段是摘自網(wǎng)上的,編譯原理學(xué)的不是很好,對這門語言的背后運(yùn)行機(jī)制理解到這樣了。 Java SE(Java Platform,Standard Edition)這個(gè)版本以前叫做J2SE,所以就叫成Java SE 。它允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的Java 應(yīng)用程序。 雖說桌面應(yīng)用程序,Java一直不被看好,但也稍微提一下,負(fù)責(zé)桌面GUI開發(fā)的類庫我知道的有:JDK自帶的主要是AWT/SWING這個(gè)Java原生類庫;也可以使用IBM的SWT/JFace這個(gè)第三方類庫。 Java EE(Java Platform,Enterprise Edition)這個(gè)版本以前叫做J2EE,也就是大家可能聽得比較多的,也是Java比較流行的領(lǐng)域,Java的企業(yè)級版本。 根據(jù)項(xiàng)目大小、應(yīng)用領(lǐng)域,技術(shù)平臺(tái)的選擇面還是很多的,除了Java EE,LAMP組合(Linux、Apatch、MySql、PHP組合),相對來說比較新Ruby在Ruby on Rails的框架應(yīng)用,后兩者可能在相對來說比較輕量級的Web領(lǐng)域運(yùn)用成功案例比較多,更重量的企業(yè)級潛力還有待挖掘。應(yīng)用領(lǐng)域像各種移動(dòng)設(shè)備和嵌入式設(shè)備,比如:手機(jī)、PDA、電視機(jī)頂盒和打印機(jī)。這個(gè)平臺(tái)貌似會(huì)對Java ME有些沖擊,按照網(wǎng)上的消息,Android包括:高度定制的Linux操作系統(tǒng)內(nèi)核及智能手機(jī)硬件驅(qū)動(dòng)支持;經(jīng)過Google修改過的Java虛擬機(jī)Dalvik,這里的性能比SUN的Hotspot高,支持大部分Java核心類庫;大量智能手機(jī)開發(fā)核心類庫;大量現(xiàn)成的智能手機(jī)應(yīng)用軟件;基于Eclipse的開發(fā)環(huán)境。 Java開發(fā)工具很多,個(gè)人使用的IDE有Eclipse和NetBeans。這些IDE各有優(yōu)勢劣勢,根據(jù)你開發(fā)的項(xiàng)目來選擇了。 (2) 設(shè)置環(huán)境變量: 右擊 我的電腦屬性高級環(huán)境變量,這時(shí)候可以看到以下的環(huán)境變量:Path:系統(tǒng)在任何路徑下都可以識別Java命令。JAVA_HOME:Java的安裝路徑。 。 .。Progran Files\java\\lib\ JAVA_HOME:下載地址為 。(3) Log4E:Log4j插件,提供各種與log4j相關(guān)的任務(wù),Log4j專用于為程序輸入調(diào)試信息。支持jsp編寫,包括語法著色和語法檢查:。(6) TomcatPlugin:支持Tomcat插件。當(dāng)然,JPanel必須放在JFrame中,所以,又通過繼承JFrame得到一個(gè)實(shí)例。 ,如果有則提示玩家重新下子,否則通過java里的畫圖函數(shù)在此處畫上棋子,重新刷新輸出棋盤。 ,每次用戶點(diǎn)擊鼠標(biāo)后,若本局還未結(jié)束則會(huì)變換玩家,從而畫出對應(yīng)黑方白方的棋子,直到有一方獲勝程序技術(shù)。 2. 繪制棋盤,17條橫線,17條豎線,在直線交點(diǎn)處下棋子(實(shí)心黑白圓形)。若是人人對弈,則是黑方先下,黑白交替下子。 5. 當(dāng)選擇的是人機(jī)對弈模式的時(shí)候,輪到電腦下子時(shí),電腦會(huì)通過算法計(jì)算每個(gè)沒有棋子的位置的重要性來選擇最重要的位置下子。算法的中心思想是:利用分?jǐn)?shù)代表每個(gè)位置的重要程度,越重要的位置的分?jǐn)?shù)值會(huì)越高,當(dāng)電腦下棋時(shí)會(huì)先將電腦和玩家棋型的分?jǐn)?shù)分別計(jì)算一遍,然后選擇二者中分?jǐn)?shù)最高的點(diǎn)下子。 具體的分?jǐn)?shù)值賦值如下:分?jǐn)?shù)電腦玩家活二6050半活二4035死二1010半死二1010活三950700半活三900650死三100100半死三100100活四60003500半活四50003000死四4000800半死四3600750活五2000015000半活五100003300死五2000015000半死五100003300解釋一下其中的活,半活,死,半死:活:代表幾個(gè)子是相連的,中間沒有空格,兩端都至少有一個(gè)空格。死:代表幾個(gè)子是相連的,中間沒有空格,但有一端緊挨著對方的棋子或有一端正好在棋盤的邊界。 每個(gè)位置的分?jǐn)?shù)的計(jì)算方式是各個(gè)方向的分?jǐn)?shù)相加,最后找出電腦棋型和玩家棋型的分?jǐn)?shù)的最高的位置為電腦的下棋點(diǎn)下棋。棋局結(jié)束后,任何一方均不能繼續(xù)操作。PlayerVsPC:主程序類,窗口的創(chuàng)建和整個(gè)邏輯程序代碼。import 。import 。import 。import 。 private int n,m。 n=n1。 } public void paintComponent(Graphics g){ (g)。 Graphics2D g3=(Graphics2D)g。 double Y=20。 double height=480。 // 畫棋盤網(wǎng)格 for(int i=0。i++){ (new (X+i*jiange,Y,X+i*jiange,height+Y))。 } //畫中間點(diǎn)的標(biāo)記 ()。 (new (245,254,254,254))。 (new (267,254,275,254))。 (new (254,266,254,275))。 (new (266,266,275,266))。i。ja[i].length1。 (j*3025, i*3025, 28, 28)。 (circle)。 (circle)。amp。 (new BasicStroke())。 (new (30*m16,30*n4,30*m4,30*n16))。import 。import 。import 。import 。import 。import 。import 。public class PlayerVsPC { private JFrame frame。 //菜單欄 private JMenuItem[][] jit。//模式項(xiàng)數(shù)組 private JMenu[] jm。 //是否為黑方下子狀態(tài) private int[][] qipan。 //當(dāng)前行 private int col。 private int pcol。 //棋盤背景顏色 private DrawPanel panel。 //棋盤上方的標(biāo)簽 private JPanel panel0。 private int[][] qixingPC。 private boolean isPC = true。 //記錄選擇的對弈模式 public PlayerVsPC(){ frame=new JFrame(五子棋游戲)。 jm=new JMenu[2]。 qipan=new int[19][19]。 qixingPlayer = new int[17][17]。i19。j19。 } } for(int i=0。i++){ for(int j=0。j++){ qixingPC[i][j]=0。 } } label = new JLabel(人+(isPC?機(jī):人)+對弈模式,請按開局開始游戲!)。 addItems()。 printqipan(0,0)。 jm[1]=new JMenu(選項(xiàng))。 jit[0][0]=new JMenuItem(開局)。 jit[0][2]=new JMenuItem(結(jié)束游戲)。 jit[1][0]=new JMenu(對弈模式)。 mode[0] = new JMenuItem(人人對弈)。 jit[1][0].add(mode[0])。 jit[1][1]=new JMenuItem(悔棋)。 for(int i=0。i++){ for(int j=0。j++){ jm[i].add(jit[i][j])。 (jm[0])。 (bar)。 } //給菜單項(xiàng)設(shè)定事件 public void addEventAction(){ jit[0][0].addActionListener(new ActionListener(){ //開局 public void actionPerformed(ActionEvent e) { row=prow=0。 isPC=cMode。 isEnd = false。i19。j19。 }else{ qipan[i][j]=0。 }else{ //人人對弈模式 (游戲開始,請+(isBlack?黑:白)+方先下棋!)。 addEventHandler()。 jit[0][1].addActionListener(new ActionListener(){ //重新開始 public void actionPerformed(ActionEvent e) { row=prow=0。 isBlack = true。 for(int i=0。i++){ for(int j=0。j++){ if(i==0||j==0||i==()||j==()){ qipan[i][j] = 1。 } } } if(isPC){ //人機(jī)對弈模式 (游戲開始,請玩家先下棋!)。 } printqipan(row,col)。 } })。 (已選擇人+(cMode?機(jī):人)+對弈模式,重新開局將生效!)。 mode[1].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { cMode = true。 } })。 isEnd=true。 jit[1][1].addActionListener(new ActionListener(){ //悔棋 public void actionPerformed(ActionEvent e) { if(!isPC){ huiqi()。 } } })。 if(cc!=null){ c=cc。 } } })。 int y=(()5)/30。 }else{ (此處已經(jīng)有棋子,請重新下子!)。 } //電腦下
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1