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 Mainactivity1 extends Activity {
private int[] paire = new int[13];
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 [] cmsjs5=new int [5];
private int [] cmsjs7=new int [7];
private String[]cmsjs5index=new String[5];
private String[]cmsjs7index=new String[7];
private String xz;
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);
btnlogin=(Button)findViewById(R.id.btnlogin);
edtusename=(EditText)findViewById(R.id.edtusename);
btnlogin.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
setusename();
}});
}
protected void setusename() {
mydbhelper=new MyDatabaseHelper(Mainactivity1.this, "examsto.db", null, 2);
mydbhelper.getWritableDatabase();
usename=edtusename.getText().toString();
if(!usename.equals("")){
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(Mainactivity1.this, "插入数据成功", Toast.LENGTH_SHORT).show();
AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.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);
lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
btnget=(Button)findViewById(R.id.btnget);
star();
}
});
aldg.show();
}
}else{
Toast.makeText(Mainactivity1.this, "用户名不能为空!", Toast.LENGTH_SHORT).show();
return;
}
}
private void star() {
cmexam=0;cpuexam=0;gamecishu=0;gamesz=false;
btnget.setVisibility(View.VISIBLE);
final String[] s = new String[] {"开始游戏", "游戏设置", "排行榜"};
tvshow.setText(R.string.show1);
Builder bdr=new AlertDialog.Builder(Mainactivity1.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("开始游戏")){
getcmpai();
regame();
}
Toast.makeText(Mainactivity1.this, s[which], Toast.LENGTH_SHORT).show();
}
});
bdr.show();
getcmpai();
ok();
}
protected void gameset() {
final String gameset[]=new String[]{"五局制","七局制"};
Builder bdr=new AlertDialog.Builder(Mainactivity1.this);
bdr.setIcon(R.drawable.ic_launcher);
bdr.setItems(gameset, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(gameset[which].equals("五局制")){
gamesz=false;
regame();
}
else if(gameset[which].equals("七局制")){
gamesz=true;
regame();
}
}
});
bdr.show();
}
private void getcmpai() {
btnget=(Button)findViewById(R.id.btnget);
btnget.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(gamesz==true){
paicmsjs7();
}
else if(gamesz==false){
paicmsjs5();
}
btnget.setVisibility(View.INVISIBLE);
}
});
}
protected void paicmsjs7() {
lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs7index);
lvcmsjs.setAdapter(adapter);
AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.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();
}
protected void paicmsjs5() {
lvcmsjs=(ListView) findViewById(R.id.lvcmsz);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs5index);
lvcmsjs.setAdapter(adapter);
AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.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();
}
protected void regame() {
creatRandom5();
creatRandom7();
}
private int[] creatRandom5() {
int j = 0;
int number = 13;
List arr = new ArrayList();
for (int i = 0; i < number; i++)
arr.add(i + 1);
for (j = 0; j < cmsjs5.length; j++)
{
int index = (int) (Math.random() * number);
cmsjs5[j] = (Integer) arr.get(index);
arr.remove(index);
number--;
cmsjs5index[j]="数字: "+cmsjs5[j];
}
return cmsjs5;
}
private int[] creatRandom7() {
int j = 0;
int number = 13;
List arr = new ArrayList();
for (int i = 0; i < number; i++)
arr.add(i + 1);
for (j = 0; j < cmsjs7.length; j++)
{
int index = (int) (Math.random() * number);
cmsjs7[j] = (Integer) arr.get(index);
arr.remove(index);
number--;
cmsjs7index[j]="数字: "+cmsjs7[j];
}
return cmsjs7;
}
public void game(){
gamecishu+=1;
if(gamecishu<7 &&gamesz==true){
if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+"+(szcm-szcpu));cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.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) {
gogame();
}
});
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();
}else if(gamecishu==7&&gamesz==true){
if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+"+(szcm-szcpu));cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
caozuodata();
AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.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) {
Button1();
}
});
aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "重开游戏", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
star();
}
});
aldg.show();
}
if(gamecishu<5 &&gamesz==false){
if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+"+(szcm-szcpu));cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
caozuodata();
AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.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) {
gogame();
}
});
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();
}else if(gamecishu==5&&gamesz==false){
if(szcm>szcpu){tvshow.setText("恭喜你获胜了!分数+"+(szcm-szcpu));cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
else if(szcm<szcpu){tvshow.setText("你失败了呢,再接再厉!");cmexam+=szcm-szcpu;cpuexam-=szcm-szcpu;}
else if(szcm==szcpu){tvshow.setText("打了个平手,都不得分!");}
AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.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) {
Button1();
}
});
aldg.setButton(DialogInterface.BUTTON_NEUTRAL, "重开游戏", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
star();
}
});
aldg.show();
}
}
protected void gogame() {
edtcm.setText("");
ivcpu.setImageDrawable(getResources().getDrawable(R.drawable.img16));
ivcm.setImageDrawable(getResources().getDrawable(R.drawable.img16));
ok();
}
private void 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(Mainactivity1.this, "录入成功", Toast.LENGTH_SHORT).show();
}
}
private void ok(){
btnok=(Button)findViewById(R.id.buttonok);
btnok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(gamesz==true){
reshuz7();
}else if(gamesz==false){
reshuz5();
}
}
});
}
protected void reshuz7() {
for (int i=0;i<cmsjs7index.length;i++) {
xz=edtcm.getText().toString();
if (xz.equals(""+cmsjs7[i])) {
cmsjs7[i]=0;
cmsjs7index[i]="";
lvcmsjs.setAdapter(null);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs7index);
lvcmsjs.setAdapter(adapter1);
Toast.makeText(Mainactivity1.this, "成功使用此牌", Toast.LENGTH_SHORT).show();
paicm();
return;
}else {
tvshow.setText("");
}
}
}
protected void reshuz5() {
for (int i=0;i<cmsjs5index.length;i++) {
xz=edtcm.getText().toString();
if (xz.equals(""+cmsjs5[i])) {
cmsjs5[i]=0;
cmsjs5index[i]="";
lvcmsjs.setAdapter(null);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cmsjs5index);
lvcmsjs.setAdapter(adapter1);
Toast.makeText(Mainactivity1.this, "成功使用此牌", Toast.LENGTH_SHORT).show();
paicm();
}else {
tvshow.setText("");
}
}
}
private void paicm(){
String xz=edtcm.getText().toString();
if(xz.equals("")){
AlertDialog aldg=new AlertDialog.Builder(Mainactivity1.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&&gamesz==false){
switch (aa){
case 1:ivcm.setImageResource(imgpath[0]);break;
case 2:ivcm.setImageResource(imgpath[1]);break;
case 3:ivcm.setImageResource(imgpath[2]);break;
case 4:ivcm.setImageResource(imgpath[3]);break;
case 5:ivcm.setImageResource(imgpath[4]);break;
case 6:ivcm.setImageResource(imgpath[5]);break;
case 7:ivcm.setImageResource(imgpath[6]);break;
case 8:ivcm.setImageResource(imgpath[7]);break;
case 9:ivcm.setImageResource(imgpath[8]);break;
case 10:ivcm.setImageResource(imgpath[9]);break;
case 11:ivcm.setImageResource(imgpath[10]);break;
case 12:ivcm.setImageResource(imgpath[11]);break;
case 13:ivcm.setImageResource(imgpath[12]);break;
}
pai();
game();
}
else if(aa<14&&aa>0&&gamesz==true){
switch (aa){
case 1:ivcm.setImageResource(imgpath[0]);break;
case 2:ivcm.setImageResource(imgpath[1]);break;
case 3:ivcm.setImageResource(imgpath[2]);break;
case 4:ivcm.setImageResource(imgpath[3]);break;
case 5:ivcm.setImageResource(imgpath[4]);break;
case 6:ivcm.setImageResource(imgpath[5]);break;
case 7:ivcm.setImageResource(imgpath[6]);break;
case 8:ivcm.setImageResource(imgpath[7]);break;
case 9:ivcm.setImageResource(imgpath[8]);break;
case 10:ivcm.setImageResource(imgpath[9]);break;
case 11:ivcm.setImageResource(imgpath[10]);break;
case 12:ivcm.setImageResource(imgpath[11]);break;
case 13:ivcm.setImageResource(imgpath[12]);break;
}
pai();
game();
}
else{
Toast.makeText(Mainactivity1.this, "请输入1~13的数字", Toast.LENGTH_LONG).show();
edtcm.setText("");
edtcm.findFocus();
return;
}
}
}
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]);
}
protected 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("exam", null, null, null,null,null ,"examcm desc");
zhipai=new ArrayList<Zhipai>();
if(c!=null){
while(c!=null && c.moveToNext()){
Zhipai zp=new Zhipai();
zp.setId(c.getInt(0));
zp.setName(c.getString(1));
zp.setExamcm(c.getInt(2));
zhipai.add(zp);
}
c.close();
}
String []examInfo=new String[zhipai.size()];
ArrayAdapter<String>arrayAdapter=null;
int i=0;
for(Zhipai z:zhipai){
examInfo[i]=z.getId()+"|\t\t\t"+z.getName()+" \t\t"+z.getExamcm();
i++;
}
arrayAdapter=new ArrayAdapter<String>(Mainactivity1.this,android.R.layout.simple_list_item_1,examInfo);
lvZhipai.setAdapter(arrayAdapter);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}