您的位置:首页 > 其它

纸牌游戏之五 主界面类

2016-06-24 20:59 246 查看
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 android.app.AlertDialog.Builder;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
private int imgpath [] =new int[]{R.drawable.img14,R.drawable.img15,R.drawable.img3,R.drawable.img4,
R.drawable.img5,R.drawable.img6,R.drawable.img7,R.drawable.img8,R.drawable.img9,R.drawable.img10,R.drawable.img11
,R.drawable.img12,R.drawable.img13};
private int paire[]=new int [20];
private int [] cmsjs5=new int [5];
private int [] cmsjs7=new int [7];
private String[]cmsjsindex=new String[7];
private ImageView ivcpu,ivcm;
private TextView tvshow;
private EditText edtcm,edtusename;
private Button btnesc,btnok,btnlogin,btnget;
private int szcpu,szcm,cmexam,cpuexam,gamecishu,aa,cpusj;
private MyDatabaseHelper mydbhelper;
private String usename;
private ListView lvZhipai,lvcmsjs;
private List<Zhipai> zhipai;
protected boolean gamesz=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.usenamesave);
ivcpu=(ImageView) findViewById(R.id.ivcpu);
ivcm=(ImageView) findViewById(R.id.ivcm);
tvshow=(TextView)findViewById(R.id.tvshow);
edtcm=(EditText) findViewById(R.id.edtcm);
btnok=(Button)findViewById(R.id.buttonok);
btnlogin=(Button)findViewById(R.id.btnlogin);
edtusename=(EditText)findViewById(R.id.edtusename);
lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
btnlogin.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
setusename();
AlertDialog aldg=new AlertDialog.Builder(MainActivity.this).create();
aldg.setIcon(R.drawable.ic_launcher);
aldg.setTitle("提示");
aldg.setMessage("你好"+usename+"欢迎进入纸牌游戏!");
aldg.setButton(DialogInterface.BUTTON_POSITIVE, "进入", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
setContentView(R.layout.activity_main);
ivcpu=(ImageView) findViewById(R.id.ivcpu);
ivcm=(ImageView) findViewById(R.id.ivcm);
tvshow=(TextView)findViewById(R.id.tvshow);
edtcm=(EditText) findViewById(R.id.edtcm);
btnok=(Button)findViewById(R.id.buttonok);
lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
star();
getcmpai();
}
});
aldg.show();
}});

}
private void setusename(){
mydbhelper=new MyDatabaseHelper(MainActivity.this, "examsto.db", null, 2);
mydbhelper.getWritableDatabase();
usename=edtusename.getText().toString();
SQLiteDatabase db=mydbhelper.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.clear();
cv.put("name",usename);
cv.put("examcm", 0);
long l1=db.insert("exam", null, cv);
if(l1!=-1){
Toast.makeText(MainActivity.this, "插入数据成功", Toast.LENGTH_SHORT).show();
}
}
private void ok(){
//    	cmsjsindex=new String[1];
//    	int i=cmsjsindex.length-1;
//    	if(i>0){
//    	cmsjsindex[i]="";
//    	i--;
//    	lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
//    	ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjsindex);//使用系统已经实现好的xml文件simple_list_item_1
//    	lvcmsjs.setAdapter(adapter);
//    	}
btnok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
paicm();
}
});
}
private void star(){
for(int i=0;i<paire.length;i++){paire[i]=0;}cmexam=0;cpuexam=0;gamecishu=0;
final String[] s = new String[] {"开始游戏", "游戏设置", "排行榜"};
tvshow.setText(R.string.show1);
Builder bdr=new AlertDialog.Builder(MainActivity.this);
bdr.setIcon(R.drawable.ic_launcher);
bdr.setTitle("纸牌游戏");
bdr.setItems(s, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(s[which].equals("游戏设置")){
gameset();
}
else if(s[which].equals("排行榜")){Button1();  }
else if(s[which].equals("开始游戏")){

}
Toast.makeText(MainActivity.this, s[which], Toast.LENGTH_SHORT).show();
}
});
bdr.show();
ivcpu.setImageDrawable(getResources().getDrawable(R.drawable.img16));
ivcm.setImageDrawable(getResources().getDrawable(R.drawable.img16));
ok();
}
private void regame(){
edtcm.setText("");
ivcpu.setImageDrawable(getResources().getDrawable(R.drawable.img16));
ivcm.setImageDrawable(getResources().getDrawable(R.drawable.img16));
ok();
}
private void pai(){
szcpu=(int)(Math.random()*12)+1;
if(szcpu!=cpusj){
cpusj=szcpu;
}else{
cpusj=(int)(Math.random()*12)+1;
szcpu=cpusj;
}
paire[cpusj-1]=cpusj;
ivcpu.setImageResource(imgpath[szcpu-1]);
}
private void gameset(){
final String gameset[]=new String[]{"五局制","七局制"};
Builder bdr=new AlertDialog.Builder(MainActivity.this);
bdr.setIcon(R.drawable.ic_launcher);
bdr.setItems(gameset, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(gameset[which].equals("五局制")){
paicmsjs5();
regame();
}
else if(gameset[which].equals("七局制")){
paicmsjs7();
gamesz=true;
regame();
}
}
});
bdr.show();
}
private void paicmsjs5(){
for(int k=0;k<cmsjs5.length;k++){
cmsjs5[k]=(int)(Math.random()*12+1);
cmsjsindex[k]="数字: "+cmsjs5[k];
}
lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjsindex);//使用系统已经实现好的xml文件simple_list_item_1
lvcmsjs.setAdapter(adapter);
AlertDialog aldg=new AlertDialog.Builder(MainActivity.this).create();
aldg.setIcon(R.drawable.ic_launcher);
aldg.setTitle("提示");
aldg.setMessage("恭喜你获得了5个数字!");
aldg.setButton(DialogInterface.BUTTON_NEGATIVE,"确定",new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}});
aldg.show();
}
private void paicmsjs7(){
for(int k=0;k<cmsjs7.length;k++){
cmsjs7[k]=(int)(Math.random()*12+1);
cmsjsindex[k]="数字: "+cmsjs7[k];
}
lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjsindex);//使用系统已经实现好的xml文件simple_list_item_1
lvcmsjs.setAdapter(adapter);
AlertDialog aldg=new AlertDialog.Builder(MainActivity.this).create();
aldg.setIcon(R.drawable.ic_launcher);
aldg.setTitle("提示");
aldg.setMessage("恭喜你获得了7个数字!");
aldg.setButton(DialogInterface.BUTTON_NEGATIVE,"确定",new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}});
aldg.show();
}
private void finalyexam(){
if(gamecishu==5){
AlertDialog aldg=new AlertDialog.Builder(MainActivity.this).create();
aldg.setIcon(R.drawable.ic_launcher);
aldg.setTitle("提示");
aldg.setMessage("您选择的是5局制。您已经进行了"+gamecishu+"场游戏了!\n"+"是否查看计分表?");
aldg.setButton(DialogInterface.BUTTON_POSITIVE, "重开游戏", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
star();
}
});
aldg.setButton(DialogInterface.BUTTON_NEGATIVE, "退出游戏", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "查看计分表", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Button1();
}
});
aldg.show();

}else if(gamecishu==7){
AlertDialog aldg=new AlertDialog.Builder(MainActivity.this).create();
aldg.setIcon(R.drawable.ic_launcher);
aldg.setTitle("提示");
aldg.setMessage("您选择的是七局制。您已经进行了"+gamecishu+"场游戏了!\n"+"是否查看计分表?");
aldg.setButton(DialogInterface.BUTTON_POSITIVE, "重开游戏", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
star();
}
});
aldg.setButton(DialogInterface.BUTTON_NEGATIVE, "退出游戏", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "查看计分表", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Button1();
}
});
}
}
private void getcmpai(){
btnget=(Button)findViewById(R.id.btnget);
btnget.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(gamesz==false){
paicmsjs5();
}
else{
paicmsjs7();
}
}
});
}
private void paicm(){
String xz=edtcm.getText().toString();
if(xz.equals("")){
AlertDialog aldg=new AlertDialog.Builder(MainActivity.this).create();
aldg.setIcon(R.drawable.ic_launcher);
aldg.setTitle("提示");
aldg.setMessage("请您输入相应的数字");
aldg.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
edtcm.setText("");
edtcm.findFocus();
}
});
aldg.show();
}
else{
aa=Integer.parseInt(xz);
szcm = Integer.parseInt(xz);
if(aa<14&&aa>0){
if(paire[aa-1]==aa){
Toast.makeText(MainActivity.this, "你或电脑已经使用过此牌了。", Toast.LENGTH_SHORT).show();edtcm.setText("");return;
}
switch (aa){
case 1:ivcm.setImageResource(imgpath[0]);paire[aa-1]=aa;break;
case 2:ivcm.setImageResource(imgpath[1]);paire[aa-1]=aa;;break;
case 3:ivcm.setImageResource(imgpath[2]);paire[aa-1]=aa;;break;
case 4:ivcm.setImageResource(imgpath[3]);paire[aa-1]=aa;;break;
case 5:ivcm.setImageResource(imgpath[4]);paire[aa-1]=aa;;break;
case 6:ivcm.setImageResource(imgpath[5]);paire[aa-1]=aa;;break;
case 7:ivcm.setImageResource(imgpath[6]);paire[aa-1]=aa;;break;
case 8:ivcm.setImageResource(imgpath[7]);paire[aa-1]=aa;;break;
case 9:ivcm.setImageResource(imgpath[8]);paire[aa-1]=aa;;break;
case 10:ivcm.setImageResource(imgpath[9]);paire[aa-1]=aa;break;
case 11:ivcm.setImageResource(imgpath[10]);paire[aa-1]=aa;break;
case 12:ivcm.setImageResource(imgpath[11]);paire[aa-1]=aa;break;
case 13:ivcm.setImageResource(imgpath[12]);paire[aa-1]=aa;break;
}
pai();game();
}else
{
Toast.makeText(MainActivity.this, "请输入1~13的数字", Toast.LENGTH_LONG).show();
edtcm.setText("");
edtcm.findFocus();
return;
}
}
}
public void game(){
gamecishu+=1;
if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+2");cmexam+=2;}
else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cpuexam+=2;}
else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
AlertDialog aldg=new AlertDialog.Builder(MainActivity.this).create();
aldg.setIcon(R.drawable.ic_launcher);
aldg.setTitle("提示");
aldg.setMessage("您已经进行了"+gamecishu+"场游戏了!\n"+"您的得分:"+cmexam+"\nAI得分:"+cpuexam+"是否继续?");
aldg.setButton(DialogInterface.BUTTON_POSITIVE, "继续游戏", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
regame();
}
});
aldg.setButton(DialogInterface.BUTTON_NEGATIVE, "退出游戏", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "查看排行榜", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Button1();
}
});
aldg.show();
caozuodata();
finalyexam();
}
private void caozuodata(){
//更新
SQLiteDatabase db2=mydbhelper.getWritableDatabase();
ContentValues cv2=new ContentValues();
cv2.put("examcm", cmexam);
int i3=db2.update("exam", cv2, "name=?", new String[]{usename});
if(i3!=0){
Toast.makeText(MainActivity.this, "录入成功", Toast.LENGTH_SHORT).show();
}
}
public void Button1() {
setContentView(R.layout.star_main);
exam();
btnesc = (Button) findViewById(R.id.buttonesc);
btnesc.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
setContentView(R.layout.activity_main);
ivcpu=(ImageView) findViewById(R.id.ivcpu);
ivcm=(ImageView) findViewById(R.id.ivcm);
tvshow=(TextView)findViewById(R.id.tvshow);
edtcm=(EditText) findViewById(R.id.edtcm);
btnok=(Button)findViewById(R.id.buttonok);
lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
star();
}
});
}
private void exam(){
Button btnDataToList=(Button)findViewById(R.id.buttoning);
lvZhipai=(ListView)findViewById(R.id.lvZhipai);
btnDataToList.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
SQLiteDatabase db=mydbhelper.getWritableDatabase();
//Cursor c=db.query("book", null, "pages>?", null, null, null, "pages desc");
Cursor c=db.query("exam", null, null, null,null,null ,"examcm desc"); //最后一个参数:页数降序! name:玩家;分数:score desc;
zhipai=new ArrayList<Zhipai>();
if(c!=null){
while(c!=null && c.moveToNext()){
Zhipai zp=new Zhipai(); //新建一个book对象;实体类,要实体类的每个属性;
zp.setId(c.getInt(0));
zp.setName(c.getString(1));
zp.setExamcm(c.getInt(2));
zhipai.add(zp); //每一个对象,都要加进books集合里面;
}
c.close();   //关闭游标,切记,不要忘记完毕cursor对象;
}
//加载
String []examInfo=new String[zhipai.size()]; //数组长度,集合长度;
ArrayAdapter<String>arrayAdapter=null; //适配器;
int i=0;
for(Zhipai z:zhipai){ //写了一个迭代器,从books集合里面逐个取对象book;
//将图书相关信息组合成一个字符串,存储在字符串数组中的相应位置;
examInfo[i]=z.getId()+"|\t\t\t"+z.getName()+" \t\t"+z.getExamcm();
i++;
}
//使用字符串数组初始化ArrayAdapter对象;
arrayAdapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,examInfo);
lvZhipai.setAdapter(arrayAdapter);
}
});

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: