- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
//判斷事件是由下列那一個Button送交的 for(int i = 0; i 9; i++){ if(obj.equals(button[i])){ //找到按鍵來源物件 setTitle(九宮格排列遊戲-- + b.getText()); //建立新的視窗標題 count++; //遞增按鍵次數 if((i - 3) == zero_i){ //有上方按鈕存在, 而且剛好等於0的位置 == 交換 } else if((i + 3) == zero_i){ //有下方按鈕存在, 而且剛好等於0的位置 == 交換 } else if((i - 1) == zero_i){ //有左方按鈕存在, 而且剛好等於0的位置 == 交換 } else if((i + 1) == zero_i){ //有右方按鈕存在, 而且剛好等於0的位置 == 交換 } break; } 視窗程式設計簡介 - * 4 與使用者間的互動-Java事件處理(九宮格(1)亂數分佈0-8 public void init_randNo(){ int i;//i 用來當作陣列元素的索引值 int rand_i; //取得亂數值,用來指定目前是以哪一個陣列元素分配到固定數字 //step 1: //要將所有陣列元素設定初始值為 -1 for( i = 0;i 9; i++) NPalace[i]=-1; //step 2: //從數字0開始依序分配到亂數產生的陣列元素上去 i=0; while(i9){ //利用亂數產生陣列元素的索引,用來指定目前分配到哪一個固定的數字。 rand_i=(int)(Math.random()*9); //產生0-9的數字區間 //如果NPalace[]上的相對位置未被放置數字,將數字填入!! if(NPalace[rand_i] == -1){ NPalace[rand_i]=I;//當分配到數字0的時候,需要預先儲存所在位置! if(i==0){ zero_i=rand_i; } i++; } else continue; } } 視窗程式設計簡介 - * 4 與使用者間的互動-Java事件處理(九宮格(2)判斷九宮格是否完成 現象觀察:當九宮格排好後,會有一個特殊狀況。 數字1的對角線位置為5,相加總合為6 數字2的對角線位置為6,相加總合為8 數字3的對角線位置為7,相加總合為10 數字4的對角線位置為8,相加總合為12 上述現象皆適用於順、逆時針狀況 規納方法: 將四個對角元素組合各自相加存入輔助陣列(temp)中。 設置另一輔助陣列(sum)內容固定為{6,8,10,12} 。 比對temp中的第一元素值對應到sum中的那一位置, 然後再以順、逆時針方式各自判斷剩下三個值是否對應。 視窗程式設計簡介 - * 4 與使用者間的互動-Java事件處理(九宮格(2)判斷九宮格是否完成 public int match(){ //輔助陣列宣告 int temp[]=new int[4]; int sum[]={6,8,10,12}; int i=0; //首先將九宮格中的對角線位置元素兩兩相加 temp[0]=NPalace[0]+NPalace[8]; temp[1]=NPalace[1]+NPalace[7]; temp[2]=NPalace[2]+NPalace[6]; temp[3]=NPalace[3]+NPalace[5]; //判斷temp[0]的值為何,再決定從何處比對 switch(temp[0]){ case 6: i=0;break; case 8: i=1;break; case 10: i=2;break; case 12: i=3;break; } if(temp[1]==sum[(i+1)%4] temp[2]==sum[(i+2)%4] temp[3] == sum[(i+3)%4]) return 1; //順時針排列成功 else if(temp[1]==sum[(i+3)%4] temp[2]==sum[(i+2)%4] temp[3] == sum[(i+1)%4]) return 2; //逆時針排列成功 else return 0; //尚未完成 } 4 與使用者間的互動-Java事件處理(九宮格(2)判斷九宮格是否完成 視窗程式設計簡介 - * 4 與使用者間的互動-Java選單使用分類,Menu的類別物件階層 MenuItem 本身其實就是Button的一種! MenuItem 可延伸三種用法:
您可能关注的文档
最近下载
- 手术体位相关性周围神经损伤预防专家共识解读PPT课件.pptx VIP
- 离散型数字化工厂MES系统产品解决方案(49页 PPT).pptx
- 初中生防性侵安六全教育.ppt VIP
- 《教育学原理》课件PPT第2章 教育与社会发展.ppt VIP
- 中医养生__不寐.ppt VIP
- JR∕T 0071.2-2020金融行业网络安全等级保护实施指引 第2部分:基本要求.pdf VIP
- 【2025年】安徽职业技术大学招聘考试笔试试卷【附答案】.docx
- DB53_T 1256.3-2024 党政机关后勤服务管理规范 第3部分:秩序维护服务.docx VIP
- 杭州市西湖区文新街道招考编外用工模拟试卷【附答案解析】.docx VIP
- 小学数学方程应用题100题集.docx VIP
原创力文档


文档评论(0)