【java】【愤怒的小鸟】项目编写记录

package homework;

import java.util.Scanner;

public class AGbird2 {


	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String playerArray[]= new String[50];  //玩家信息
		int index = 0;  //玩家数量
		Scanner sc = new Scanner(System.in);
		while(true)
		{
			System.out.println("************************************************");
			System.out.println("");		
			System.out.println("\t\t愤怒的小鸟");
			System.out.println("");
			System.out.println("请选择登录方式:1、玩家登陆\t 2、管理员登陆\t 0、退出");
			System.out.println("");
			System.out.println("************************************************");
			int loginCho = sc.nextInt();
			if(loginCho==0 || loginCho==1 || loginCho==2)
			{
				switch(loginCho)
				{
					case 1:
						System.out.println("************************************************");
						System.out.println("");		
						System.out.println("\t\t玩家登陆");
						System.out.println("");
						System.out.println("请输入用户名:\n"); 
						System.out.println("请输入密码:\n");
						System.out.println("");
						System.out.println("************************************************");
						String userName = sc.next();
						String userPwd = sc.next();
						if(userName.equals("admin") && userPwd.equals("admin"))
						{
							System.out.println("************************************************");
							System.out.println("");		
							System.out.println("\t\t愤 怒 的 小 鸟");
							System.out.println("");
							System.out.println("\t\t1、开 始 游 戏");
							System.out.println("");
							System.out.println("\t\t2、查 看 成 绩");
							System.out.println("");
							System.out.println("\t\t0、返 回 上 级");
							System.out.println("");
							System.out.println("************************************************");
						}
						int userCho = sc.nextInt();
						switch(userCho)
						{
						
							case 1:
							
								System.out.println("************************************************");
								System.out.println("");		
								System.out.println("\t\t请 选 择 小 鸟");
								System.out.println("");
								System.out.println("\t1、红色小鸟  攻击力:80    命中率:50%");
								System.out.println("");
								System.out.println("\t2、黑色小鸟  攻击力:200  命中率:30%");
								System.out.println("");
								System.out.println("\t3、蓝色小鸟  攻击力:50     命中率:80%");
								System.out.println("");
								System.out.println("\t0、返 回 上 级\n\n");
								System.out.println("请选择(需选择三个小鸟发起攻击,可相同也可不同):\n");
								System.out.println("************************************************");
									
								System.out.println("************************************************");
								System.out.println("");		
								System.out.println("游戏开始:");
								System.out.println("帅气的飞了过来,它的攻击力是:");
								System.out.println("帅气的开始攻击。。。。。。");
								System.out.println("“Boom!”打中了野猪大王!Lucky!(命中目标)");
								System.out.println("笨重的,它的攻击力是:\n攻击开始了。。。。。。");
								System.out.println("“额 额 。。。”没有打中!衰!!(没有命中)");
								System.out.println("最后发起攻击的是:轻盈的,它的攻击力是:");
								System.out.println("攻击开始了。。。。。。");
								System.out.println("“Boom!”打中了野猪大王!Lucky!(命中目标)\n");
								System.out.println("攻击结束:您的总分数是:XXX\n\n");
								System.out.println("1、再 玩 一 局");
								System.out.println("2、返 回 菜 单\n");
								System.out.println("************************************************");
								break;
							
							case 0:
								System.out.println("返回!");
								break;
							default:
								System.out.println("输入错误!");
								
						}
						break;
						
					case 2:
						for(int i=1;i<=3;i++)
						{
							System.out.println("************************************************");
							System.out.println("");		
							System.out.println("\t\t管理员登陆");
							System.out.println("");
							System.out.println("请输入用户名:\n"); 
							System.out.println("请输入密码:\n");
							System.out.println("");
							System.out.println("************************************************");
							String managerName = sc.next();
							String managerPwd = sc.next();
							if(managerName.equals("admin") && managerPwd.equals("admin"))
							{
								String goOn;
								do {
									System.out.println("************************************************");
									System.out.println("");		
									System.out.println("\t\t系 统 管 理");
									System.out.println("");
									System.out.println("\t\t1、新增玩家");
									System.out.println("");
									System.out.println("\t\t2、修改玩家");
									System.out.println("");
									System.out.println("\t\t3、删除玩家");
									System.out.println("");
									System.out.println("\t\t4、查询玩家");
									System.out.println("");
									System.out.println("\t\t5、查询游戏");
									System.out.println("");
									System.out.println("\t\t6、分数统计");
									System.out.println("");
									System.out.println("\t\t7、参数设置");
									System.out.println("");
									System.out.println("\t\t0、返    回");
									System.out.println("************************************************");
									int managerCho=sc.nextInt();
									switch(managerCho)
									{
										case 1:
											System.out.println("******************新增玩家*******************");
											System.out.println("请输入玩家的登录名:(必须要有字母,且在系统中唯一)");
											String playerName = sc.next();
											System.out.println("请输入玩家的密码:(必须要有字母和数字,且最少不能少于 6 位)");
											String playerPwd = sc.next();
											System.out.println("请输入玩家昵称:");
											String nickName = sc.next();
											System.out.println("请输入玩家的性别:(只可输入男或女)");
											String sex = sc.next();
											System.out.println("请输入玩家的年龄:(只可输入正整数,且最大不可大于 99)");
											int age = sc.nextInt();
											
											String playerMess = playerName+"&"+playerPwd+"&"+nickName+"&"+sex+"&"+age;
											playerArray[index] = playerMess;
											index++;
											System.out.println("添加玩家信息成功!");
											break;
										
										case 2:
											System.out.println("*********************修改玩家*********************");
											//列出可修改的玩家
											System.out.println("请选择要修改的玩家:");
											for(int count=0;count<index;count++)
											{
												String messStr = playerArray[count]; //玩家信息字符串
												String messArr[] = messStr.split("&"); //将玩家信息拆分,放到字符串中
												System.out.println((count+1)+"、"+messArr[0]);
											}
											System.out.println("请选择(1~"+index+"):");
											
											int changeChoice;
											while(true) {
												changeChoice = sc.nextInt();
												if(changeChoice >= 1 && changeChoice <= index) {
													break;
												}else {//判断是否有要修改的玩家
													System.out.println("没有您要修改的玩家,请重新选择:");
												}
											}
											
											//除了玩家名不能修改,其余全部一起修改
											//输入修改值之前提示原始值
											//要修改的元素的下标值为changeChoice-1
											String oldPlayerMess = playerArray[changeChoice-1];
											String oldPlayerMessArr[] = oldPlayerMess.split("&");
											System.out.println("玩家的原密码是:["+oldPlayerMessArr[1]+"],请输入新的密码:");
											String newPwd = sc.next();
											System.out.println("玩家的原昵称是:["+oldPlayerMessArr[2]+"],请输入新的昵称:");
											String newNickName = sc.next();
											System.out.println("玩家的原性别是:["+oldPlayerMessArr[3]+"],请输入新的性别:");
											String newSex = sc.next();
											System.out.println("玩家的原年龄是:["+oldPlayerMessArr[4]+"],请输入新的年龄:");
											int newAge = sc.nextInt();
											    
											//需要使用新的值替换旧值
											String newPlayerMess = oldPlayerMessArr[0]+"&"+newPwd+"&"+newNickName+"&"+newSex+"&"+newAge;
											//把新的字符串替换原字符串
											//重新赋值
											playerArray[changeChoice-1] = newPlayerMess;
											System.out.println("修改成功!");
											break;
											
										case 3:
											System.out.println("********************删除玩家*****************");
											//基本与修改的步骤相同
											//要列出来可删除的玩家
											System.out.println("请选择要删除的玩家:");
											for(int count = 0;count < index;count++) {
												String messStr = playerArray[count]; //玩家信息字符串
												String messArr[] = messStr.split("&"); //把字符串信息转换成数组信息
												System.out.print((count+1)+"、"+messArr[0]+"\t");
											}
											System.out.println("\n请选择(1-"+index+"):");
											
											//判断是否有要删除的玩家
											int deleteChoice;
											while(true) {
												deleteChoice = sc.nextInt();
												if(deleteChoice >= 1 && deleteChoice <= index) {
													break;
												}else {
													System.out.println("没有您要删除的玩家,请重新选择:");
												}
											}
											
											//要删除谁,就把谁的原字符串改为 ""
											playerArray[deleteChoice-1] = "";
											System.out.println("删除成功!");
											break;
											
										case 4:
											System.out.println("*********************查询玩家*********************");
											for(int j = 0;j < index; j ++)
											{
												String messStr = playerArray[j];
												String messArr[] = messStr.split("&");
												for(String m:messArr)
												{
													System.out.print(m+"\t");
												}
												System.out.println("\n");
											}
											break;
											
										case 5:
											System.out.println("*********************删除玩家*********************");
											break;
											
										case 6:
											System.out.println("*********************删除玩家*********************");
											break;
											
										case 7:
											System.out.println("**********************修改参数*******************");
											System.out.println("");		
											System.out.println("\t\t请 选 择 要 修 改 的 参 数 ");
											System.out.println("");
											System.out.println("\t1、红色小鸟1  攻击力:80    命中率:50%");
											System.out.println("");
											System.out.println("\t2、黑色小鸟  攻击力:200  命中率:30%");
											System.out.println("");
											System.out.println("\t3、蓝色小鸟  攻击力:50     命中率:80%");
											System.out.println("");
											System.out.println("\t4、管理员登陆名");
											System.out.println("");
											System.out.println("\t5、管理员密码");
											System.out.println("");
											System.out.println("\t6、管理员最大登陆次数");
											System.out.println("");
											System.out.println("\t0、返 回 上 级\n");
											System.out.println("************************************************");
											break;
											
									}
									System.out.println("请问是否继续管理员操作(输入y继续,其他符号退出!)");
									goOn = sc.next();
								}while(goOn.equals("y"));
								
								break;
							}else {
									
									if(i==3)
									{
										System.out.println("三次输入错误!退出程序!");
									}else {
										System.out.println("管理员名或密码输入错误!");
									}
								}
						}
					case 0:
						System.out.println("感谢使用!退出系统。。。");
						continue;
				}
			}else{
				System.out.println("没有您要进行的操作!请重新输入!");
			}
		}

	}
}

猜你喜欢

转载自blog.csdn.net/biasxxi/article/details/84137721