纸牌游戏之四 游戏规则类

举报
tea_year 发表于 2021/12/30 00:12:27 2021/12/30
【摘要】 package com.example.azhipai; import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import ...

  
  1. package com.example.azhipai;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import android.os.Bundle;
  5. import android.app.Activity;
  6. import android.app.AlertDialog;
  7. import android.app.AlertDialog.Builder;
  8. import android.content.ContentValues;
  9. import android.content.DialogInterface;
  10. import android.content.DialogInterface.OnClickListener;
  11. import android.database.Cursor;
  12. import android.database.sqlite.SQLiteDatabase;
  13. import android.view.Menu;
  14. import android.view.View;
  15. import android.widget.ArrayAdapter;
  16. import android.widget.Button;
  17. import android.widget.EditText;
  18. import android.widget.ImageView;
  19. import android.widget.ListView;
  20. import android.widget.TextView;
  21. import android.widget.Toast;
  22. public class Mainactivity1 extends Activity {
  23. private int[] paire = new int[13];
  24. private int imgpath [] =new int[]{R.drawable.img14,R.drawable.img15,R.drawable.img3,R.drawable.img4,
  25. R.drawable.img5,R.drawable.img6,R.drawable.img7,R.drawable.img8,R.drawable.img9,R.drawable.img10,R.drawable.img11
  26. ,R.drawable.img12,R.drawable.img13};
  27. private int [] cmsjs5=new int [5];//5局时的随机数
  28. private int [] cmsjs7=new int [7];//7局时的随机数
  29. private String[]cmsjs5index=new String[5];
  30. private String[]cmsjs7index=new String[7];//lvcmsjs加载的数据
  31. private String xz;//获取的edtcm的文本
  32. private ImageView ivcpu,ivcm;
  33. private TextView tvshow;
  34. private EditText edtcm,edtusename;
  35. private Button btnesc,btnok,btnlogin,btnget;
  36. private int szcpu,szcm,cmexam,cpuexam,gamecishu,aa,cpusj;//电脑比牌用的数字,用户比牌用的数字。aa作用于类型转换=xz
  37. private MyDatabaseHelper mydbhelper;
  38. private String usename;
  39. private ListView lvZhipai,lvcmsjs;
  40. private List<Zhipai> zhipai;
  41. protected boolean gamesz=false;//关于游戏的5局制和七局制
  42. @Override
  43. protected void onCreate(Bundle savedInstanceState) {
  44. super.onCreate(savedInstanceState);
  45. setContentView(R.layout.usenamesave);
  46. btnlogin=(Button)findViewById(R.id.btnlogin);
  47. edtusename=(EditText)findViewById(R.id.edtusename);
  48. btnlogin.setOnClickListener(new View.OnClickListener(){
  49. @Override
  50. public void onClick(View v) {
  51. setusename();
  52. }});
  53. }
  54. //设置登录名的方法
  55. protected void setusename() {
  56. mydbhelper=new MyDatabaseHelper(Mainactivity1.this, "examsto.db", null, 2);
  57. mydbhelper.getWritableDatabase();
  58. usename=edtusename.getText().toString();
  59. if(!usename.equals("")){//输入用户名不能空
  60. SQLiteDatabase db=mydbhelper.getWritableDatabase();//创建数据库
  61. ContentValues cv=new ContentValues();
  62. cv.clear();
  63. cv.put("name",usename);//插入name列中
  64. cv.put("examcm", 0);//插入examcm列中
  65. long l1=db.insert("exam", null, cv);
  66. if(l1!=-1){//判断插入是否成功
  67. Toast.makeText(Mainactivity1.this, "插入数据成功", Toast.LENGTH_SHORT).show();
  68. //出欢迎游戏的对话框
  69. AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.this).create();
  70. aldg.setIcon(R.drawable.ic_launcher);
  71. aldg.setTitle("提示");
  72. aldg.setMessage("你好"+usename+"欢迎进入纸牌游戏!");
  73. aldg.setButton(DialogInterface.BUTTON_POSITIVE, "进入", new OnClickListener() {
  74. @Override
  75. public void onClick(DialogInterface dialog, int which) {
  76. setContentView(R.layout.activity_main);//转换页面
  77. ivcpu=(ImageView) findViewById(R.id.ivcpu);
  78. ivcm=(ImageView) findViewById(R.id.ivcm);
  79. tvshow=(TextView)findViewById(R.id.tvshow);
  80. edtcm=(EditText) findViewById(R.id.edtcm);
  81. lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
  82. btnget=(Button)findViewById(R.id.btnget);
  83. star();//游戏初始化
  84. }
  85. });
  86. aldg.show();
  87. }
  88. }else{
  89. Toast.makeText(Mainactivity1.this, "用户名不能为空!", Toast.LENGTH_SHORT).show();
  90. return;
  91. }
  92. }
  93. //游戏初始化
  94. private void star() {
  95. cmexam=0;cpuexam=0;gamecishu=0;gamesz=false;
  96. btnget.setVisibility(View.VISIBLE);//获取按钮为可见
  97. final String[] s = new String[] {"开始游戏", "游戏设置", "排行榜"};
  98. tvshow.setText(R.string.show1);//设置tvshow的文本为游戏规玩法
  99. Builder bdr=new AlertDialog.Builder(Mainactivity1.this);
  100. bdr.setIcon(R.drawable.ic_launcher);
  101. bdr.setTitle("纸牌游戏");
  102. bdr.setItems(s, new OnClickListener() {
  103. @Override
  104. public void onClick(DialogInterface dialog, int which) {
  105. if(s[which].equals("游戏设置")){ //s【which】即为选择项的问本
  106. gameset();//显示游戏设置对话框
  107. }
  108. else if(s[which].equals("排行榜")){Button1(); }
  109. else if(s[which].equals("开始游戏")){
  110. getcmpai();//选择用户得到牌的方式
  111. regame();//为再次游戏
  112. }
  113. Toast.makeText(Mainactivity1.this, s[which], Toast.LENGTH_SHORT).show();
  114. }
  115. });
  116. bdr.show();
  117. getcmpai();
  118. ok();//确定按钮本项目的核心
  119. }
  120. // 游戏设置
  121. protected void gameset() {
  122. final String gameset[]=new String[]{"五局制","七局制"};
  123. Builder bdr=new AlertDialog.Builder(Mainactivity1.this);
  124. bdr.setIcon(R.drawable.ic_launcher);
  125. bdr.setItems(gameset, new OnClickListener() {
  126. @Override
  127. public void onClick(DialogInterface dialog, int which) {
  128. if(gameset[which].equals("五局制")){
  129. gamesz=false;
  130. regame();
  131. }
  132. else if(gameset[which].equals("七局制")){
  133. gamesz=true;
  134. regame();
  135. }
  136. }
  137. });
  138. bdr.show();
  139. }
  140. private void getcmpai() {
  141. btnget=(Button)findViewById(R.id.btnget);
  142. btnget.setOnClickListener(new View.OnClickListener() {
  143. @Override
  144. public void onClick(View v) {
  145. if(gamesz==true){
  146. paicmsjs7();
  147. }
  148. else if(gamesz==false){
  149. paicmsjs5();
  150. }
  151. btnget.setVisibility(View.INVISIBLE);
  152. }
  153. });
  154. }
  155. protected void paicmsjs7() {
  156. // TODO Auto-generated method stub
  157. lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
  158. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs7index);//使用系统已经实现好的xml文件simple_list_item_1
  159. lvcmsjs.setAdapter(adapter);
  160. AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.this).create();
  161. aldg.setIcon(R.drawable.ic_launcher);
  162. aldg.setTitle("提示");
  163. aldg.setMessage("恭喜你获得了7个数字!");
  164. aldg.setButton(DialogInterface.BUTTON_NEGATIVE,"确定",new OnClickListener() {
  165. @Override
  166. public void onClick(DialogInterface dialog, int which) {
  167. }});
  168. aldg.show();
  169. }
  170. protected void paicmsjs5() {
  171. // TODO Auto-generated method stub
  172. lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
  173. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs5index);//使用系统已经实现好的xml文件simple_list_item_1
  174. lvcmsjs.setAdapter(adapter);
  175. AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.this).create();
  176. aldg.setIcon(R.drawable.ic_launcher);
  177. aldg.setTitle("提示");
  178. aldg.setMessage("恭喜你获得了5个数字!");
  179. aldg.setButton(DialogInterface.BUTTON_NEGATIVE,"确定",new OnClickListener() {
  180. @Override
  181. public void onClick(DialogInterface dialog, int which) {
  182. }});
  183. aldg.show();
  184. }
  185. // 重新开始游戏
  186. protected void regame() {
  187. // TODO Auto-generated method stub
  188. //五局制随机数
  189. creatRandom5();//产生不同的随机数
  190. creatRandom7();
  191. }
  192. private int[] creatRandom5() {
  193. int j = 0;
  194. int number = 13;// 控制随机数产生的范围
  195. List arr = new ArrayList();
  196. for (int i = 0; i < number; i++)
  197. arr.add(i + 1);// 为ArrayList添加元素
  198. for (j = 0; j < cmsjs5.length; j++)
  199. {
  200. int index = (int) (Math.random() * number);// 产生一个随机数作为索引
  201. cmsjs5[j] = (Integer) arr.get(index);
  202. arr.remove(index);// 移除已经取过的元素
  203. number--;// 将随机数范围缩小1
  204. cmsjs5index[j]="数字: "+cmsjs5[j];
  205. }
  206. return cmsjs5;
  207. }
  208. private int[] creatRandom7() {
  209. int j = 0;
  210. int number = 13;// 控制随机数产生的范围
  211. List arr = new ArrayList();
  212. for (int i = 0; i < number; i++)
  213. arr.add(i + 1);// 为ArrayList添加元素
  214. for (j = 0; j < cmsjs7.length; j++)
  215. {
  216. int index = (int) (Math.random() * number);// 产生一个随机数作为索引
  217. cmsjs7[j] = (Integer) arr.get(index);
  218. arr.remove(index);// 移除已经取过的元素
  219. number--;// 将随机数范围缩小1
  220. cmsjs7index[j]="数字: "+cmsjs7[j];
  221. }
  222. return cmsjs7;
  223. }
  224. // 游戏规则
  225. public void game(){
  226. gamecishu+=1;
  227. if(gamecishu<7 &&gamesz==true){
  228. if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+"+(szcm-szcpu));cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
  229. else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
  230. else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
  231. AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.this).create();
  232. aldg.setIcon(R.drawable.ic_launcher);
  233. aldg.setTitle("提示");
  234. aldg.setMessage("您已经进行了"+gamecishu+"场游戏了!\n"+"您的得分:"+cmexam+"\nAI得分:"+cpuexam+"是否继续?");
  235. aldg.setButton(DialogInterface.BUTTON_POSITIVE, "继续游戏", new OnClickListener() {
  236. @Override
  237. public void onClick(DialogInterface dialog, int which) {
  238. gogame();//继续游戏重置牌面
  239. }
  240. });
  241. aldg.setButton(DialogInterface.BUTTON_NEGATIVE, "退出游戏", new OnClickListener() {
  242. @Override
  243. public void onClick(DialogInterface dialog, int which) {
  244. finish();
  245. }
  246. });
  247. aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "查看排行榜", new OnClickListener() {
  248. @Override
  249. public void onClick(DialogInterface dialog, int which) {
  250. Button1();//调出排行榜界面
  251. }
  252. });
  253. aldg.show();
  254. caozuodata();//实现数据的更新
  255. }else if(gamecishu==7&&gamesz==true){//当gamesz为true时是七局制游戏
  256. if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+"+(szcm-szcpu));cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
  257. else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
  258. else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
  259. caozuodata();//实现数据的更新
  260. AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.this).create();
  261. aldg.setIcon(R.drawable.ic_launcher);
  262. aldg.setTitle("提示");
  263. aldg.setMessage("您已经进行了"+gamecishu+"场游戏了!\n"+"您的得分:"+cmexam+"\nAI得分:"+cpuexam+"这是最后一场游戏。");
  264. aldg.setButton(DialogInterface.BUTTON_POSITIVE, "查看计分表", new OnClickListener() {
  265. @Override
  266. public void onClick(DialogInterface dialog, int which) {
  267. Button1();//调出排行榜界面
  268. }
  269. });
  270. aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "重开游戏", new OnClickListener() {
  271. @Override
  272. public void onClick(DialogInterface dialog, int which) {
  273. star();//游戏初始化界面
  274. }
  275. });
  276. aldg.show();
  277. }
  278. if(gamecishu<5 &&gamesz==false){
  279. if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+"+(szcm-szcpu));cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
  280. else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
  281. else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
  282. caozuodata();//实现数据的更新
  283. AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.this).create();
  284. aldg.setIcon(R.drawable.ic_launcher);
  285. aldg.setTitle("提示");
  286. aldg.setMessage("您已经进行了"+gamecishu+"场游戏了!\n"+"您的得分:"+cmexam+"\nAI得分:"+cpuexam+"是否继续?");
  287. aldg.setButton(DialogInterface.BUTTON_POSITIVE, "继续游戏", new OnClickListener() {
  288. @Override
  289. public void onClick(DialogInterface dialog, int which) {
  290. gogame();//继续游戏重置牌面
  291. }
  292. });
  293. aldg.setButton(DialogInterface.BUTTON_NEGATIVE, "退出游戏", new OnClickListener() {
  294. @Override
  295. public void onClick(DialogInterface dialog, int which) {
  296. finish();
  297. }
  298. });
  299. aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "查看排行榜", new OnClickListener() {
  300. @Override
  301. public void onClick(DialogInterface dialog, int which) {
  302. Button1();//调出排行榜界面
  303. }
  304. });
  305. aldg.show();
  306. caozuodata();//实现数据的更新
  307. }else if(gamecishu==5&&gamesz==false){
  308. if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+"+(szcm-szcpu));cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
  309. else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
  310. else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
  311. AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.this).create();
  312. aldg.setIcon(R.drawable.ic_launcher);
  313. aldg.setTitle("提示");
  314. aldg.setMessage("您已经进行了"+gamecishu+"场游戏了!\n"+"您的得分:"+cmexam+"\nAI得分:"+cpuexam+"这是最后一场游戏。");
  315. aldg.setButton(DialogInterface.BUTTON_POSITIVE, "查看计分表", new OnClickListener() {
  316. @Override
  317. public void onClick(DialogInterface dialog, int which) {
  318. Button1();
  319. }
  320. });
  321. aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "重开游戏", new OnClickListener() {
  322. @Override
  323. public void onClick(DialogInterface dialog, int which) {
  324. star();
  325. }
  326. });
  327. aldg.show();
  328. }
  329. // finalyexam(); 不知道能不能用上
  330. }
  331. protected void gogame() {
  332. // TODO Auto-generated method stub
  333. edtcm.setText("");
  334. ivcpu.setImageDrawable(getResources().getDrawable(R.drawable.img16));
  335. ivcm.setImageDrawable(getResources().getDrawable(R.drawable.img16));
  336. ok();
  337. }
  338. private void finalyexam() {
  339. // TODO Auto-generated method stub
  340. }
  341. private void caozuodata(){
  342. //更新数据
  343. SQLiteDatabase db2=mydbhelper.getWritableDatabase();
  344. ContentValues cv2=new ContentValues();
  345. cv2.put("examcm", cmexam);
  346. int i3=db2.update("exam", cv2, "name=?", new String[]{usename});//当用户名等于刚开始输入的用户名是更新
  347. if(i3!=0){
  348. Toast.makeText(Mainactivity1.this, "录入成功", Toast.LENGTH_SHORT).show();
  349. }
  350. }
  351. //确定按钮的点击事件通过此按钮实现选牌,并进行游戏起到链接上下文的作用
  352. private void ok(){
  353. btnok=(Button)findViewById(R.id.buttonok);
  354. btnok.setOnClickListener(new View.OnClickListener() {
  355. @Override
  356. public void onClick(View v) {
  357. if(gamesz==true){
  358. reshuz7();
  359. }else if(gamesz==false){
  360. reshuz5();
  361. }
  362. }
  363. });
  364. }
  365. protected void reshuz7() {
  366. // TODO Auto-generated method stub
  367. for (int i=0;i<cmsjs7index.length;i++) {
  368. xz=edtcm.getText().toString();
  369. if (xz.equals(""+cmsjs7[i])) {
  370. cmsjs7[i]=0;
  371. cmsjs7index[i]="";
  372. lvcmsjs.setAdapter(null);
  373. ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs7index);//使用系统已经实现好的xml文件simple_list_item_1
  374. lvcmsjs.setAdapter(adapter1);
  375. Toast.makeText(Mainactivity1.this, "成功使用此牌", Toast.LENGTH_SHORT).show();
  376. paicm();
  377. return;
  378. }else {
  379. //Toast.makeText(Mainactivity1.this, "对不起你没有此牌", Toast.LENGTH_SHORT).show();
  380. tvshow.setText("");
  381. }
  382. }
  383. }
  384. protected void reshuz5() {//本来是重置listview但是并未实现
  385. for (int i=0;i<cmsjs5index.length;i++) {
  386. xz=edtcm.getText().toString();
  387. if (xz.equals(""+cmsjs5[i])) {
  388. cmsjs5[i]=0;
  389. cmsjs5index[i]="";
  390. lvcmsjs.setAdapter(null);
  391. ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs5index);//使用系统已经实现好的xml文件simple_list_item_1
  392. lvcmsjs.setAdapter(adapter1);
  393. Toast.makeText(Mainactivity1.this, "成功使用此牌", Toast.LENGTH_SHORT).show();
  394. paicm();
  395. }else {
  396. //Toast.makeText(Mainactivity1.this, "对不起你没有此牌", Toast.LENGTH_SHORT).show();
  397. tvshow.setText("");
  398. }
  399. // int i;
  400. // for (i=0;i<cmsjs5index.length;i++) {
  401. // if (xz.equals(""+cmsjs5index[i])) {
  402. // cmsjs5index[i]="";
  403. // lvcmsjs.setAdapter(null);
  404. // ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs5index);//使用系统已经实现好的xml文件simple_list_item_1
  405. // lvcmsjs.setAdapter(adapter);
  406. // }else{
  407. //用户选牌的方式和限制
  408. // }
  409. }
  410. }
  411. //用户选牌的方式和限制
  412. private void paicm(){
  413. String xz=edtcm.getText().toString();
  414. if(xz.equals("")){
  415. AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.this).create();
  416. aldg.setIcon(R.drawable.ic_launcher);
  417. aldg.setTitle("提示");
  418. aldg.setMessage("请您输入相应的数字");
  419. aldg.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new OnClickListener() {
  420. @Override
  421. public void onClick(DialogInterface dialog, int which) {
  422. edtcm.setText("");//输入框不能为空
  423. edtcm.findFocus();//输入框获得焦点,没什么卵用无视!
  424. }
  425. });
  426. aldg.show();
  427. }
  428. else{
  429. aa=Integer.parseInt(xz);//类型转换把输入框的内容就是xz转换成int类型
  430. szcm = Integer.parseInt(xz);//szcm就是比牌时用的数字
  431. if(aa<14&&aa>0&&gamesz==false){//输入的内容限制条件,gamesz==false游戏规则选择false为5局即默认
  432. //判断输入内容是否在数组中此处不完善
  433. switch (aa){
  434. //以下皆为得到用户的牌
  435. case 1:ivcm.setImageResource(imgpath[0]);break;
  436. case 2:ivcm.setImageResource(imgpath[1]);break;
  437. case 3:ivcm.setImageResource(imgpath[2]);break;
  438. case 4:ivcm.setImageResource(imgpath[3]);break;
  439. case 5:ivcm.setImageResource(imgpath[4]);break;
  440. case 6:ivcm.setImageResource(imgpath[5]);break;
  441. case 7:ivcm.setImageResource(imgpath[6]);break;
  442. case 8:ivcm.setImageResource(imgpath[7]);break;
  443. case 9:ivcm.setImageResource(imgpath[8]);break;
  444. case 10:ivcm.setImageResource(imgpath[9]);break;
  445. case 11:ivcm.setImageResource(imgpath[10]);break;
  446. case 12:ivcm.setImageResource(imgpath[11]);break;
  447. case 13:ivcm.setImageResource(imgpath[12]);break;
  448. }
  449. // 获取cpu的牌
  450. pai();
  451. // 开始游戏
  452. game();
  453. }
  454. else if(aa<14&&aa>0&&gamesz==true){//输入的内容限制条件,gamesz==Ture游戏规则选择为七局制时的选择
  455. switch (aa){
  456. //以下皆为得到用户的牌
  457. case 1:ivcm.setImageResource(imgpath[0]);break;
  458. case 2:ivcm.setImageResource(imgpath[1]);break;
  459. case 3:ivcm.setImageResource(imgpath[2]);break;
  460. case 4:ivcm.setImageResource(imgpath[3]);break;
  461. case 5:ivcm.setImageResource(imgpath[4]);break;
  462. case 6:ivcm.setImageResource(imgpath[5]);break;
  463. case 7:ivcm.setImageResource(imgpath[6]);break;
  464. case 8:ivcm.setImageResource(imgpath[7]);break;
  465. case 9:ivcm.setImageResource(imgpath[8]);break;
  466. case 10:ivcm.setImageResource(imgpath[9]);break;
  467. case 11:ivcm.setImageResource(imgpath[10]);break;
  468. case 12:ivcm.setImageResource(imgpath[11]);break;
  469. case 13:ivcm.setImageResource(imgpath[12]);break;
  470. }
  471. // 获取cpu的牌
  472. pai();
  473. // 开始游戏
  474. game();
  475. }
  476. else{
  477. Toast.makeText(Mainactivity1.this, "请输入1~13的数字", Toast.LENGTH_LONG).show();
  478. edtcm.setText("");
  479. edtcm.findFocus();
  480. return;
  481. }
  482. }
  483. }
  484. // cpu得到牌的方法每次不重复
  485. private void pai(){
  486. szcpu=(int)(Math.random()*12)+1;
  487. if(szcpu!=cpusj){
  488. cpusj=szcpu;
  489. }else{
  490. cpusj=(int)(Math.random()*12)+1;
  491. szcpu=cpusj;
  492. }
  493. paire[cpusj-1]=cpusj;
  494. ivcpu.setImageResource(imgpath[szcpu-1]);
  495. }
  496. protected void Button1() {
  497. // 页面转换调出排行榜页面
  498. setContentView(R.layout.star_main);
  499. exam();//加载并查询数据的方法
  500. btnesc = (Button) findViewById(R.id.buttonesc);
  501. btnesc.setOnClickListener(new Button.OnClickListener() {
  502. public void onClick(View v) {
  503. setContentView(R.layout.activity_main); //调出游戏界面并实现方法
  504. ivcpu=(ImageView) findViewById(R.id.ivcpu);
  505. ivcm=(ImageView) findViewById(R.id.ivcm);
  506. tvshow=(TextView)findViewById(R.id.tvshow);
  507. edtcm=(EditText) findViewById(R.id.edtcm);
  508. btnok=(Button)findViewById(R.id.buttonok);
  509. lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
  510. star();//游戏初始化
  511. }
  512. });
  513. }
  514. private void exam() {
  515. Button btnDataToList=(Button)findViewById(R.id.buttoning);
  516. lvZhipai=(ListView)findViewById(R.id.lvZhipai);
  517. btnDataToList.setOnClickListener(new View.OnClickListener(){
  518. @Override
  519. public void onClick(View v) {
  520. SQLiteDatabase db=mydbhelper.getWritableDatabase();
  521. //Cursor c=db.query("book", null, "pages>?", null, null, null, "pages desc");
  522. Cursor c=db.query("exam", null, null, null,null,null ,"examcm desc"); //最后一个参数:页数降序! name:玩家;分数:score desc;
  523. zhipai=new ArrayList<Zhipai>();
  524. if(c!=null){
  525. while(c!=null && c.moveToNext()){
  526. Zhipai zp=new Zhipai(); //新建一个book对象;实体类,要实体类的每个属性;
  527. zp.setId(c.getInt(0));
  528. zp.setName(c.getString(1));
  529. zp.setExamcm(c.getInt(2));
  530. zhipai.add(zp); //每一个对象,都要加进books集合里面;
  531. }
  532. c.close(); //关闭游标,切记,不要忘记完毕cursor对象;
  533. }
  534. //加载
  535. String []examInfo=new String[zhipai.size()]; //数组长度,集合长度;
  536. ArrayAdapter<String>arrayAdapter=null; //适配器;
  537. int i=0;
  538. for(Zhipai z:zhipai){ //写了一个迭代器,从books集合里面逐个取对象book;
  539. //将图书相关信息组合成一个字符串,存储在字符串数组中的相应位置;
  540. examInfo[i]=z.getId()+"|\t\t\t"+z.getName()+" \t\t"+z.getExamcm();
  541. i++;
  542. }
  543. //使用字符串数组初始化ArrayAdapter对象;
  544. arrayAdapter=new ArrayAdapter<String>(Mainactivity1.this,android.R.layout.simple_list_item_1,examInfo);
  545. lvZhipai.setAdapter(arrayAdapter);
  546. }
  547. });
  548. }
  549. @Override
  550. public boolean onCreateOptionsMenu(Menu menu) {
  551. // Inflate the menu; this adds items to the action bar if it is present.
  552. getMenuInflater().inflate(R.menu.main, menu);
  553. return true;
  554. }
  555. }
视频课:https://edu.csdn.net/course/play/7621

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/51755617

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。