黑马程序员技术交流社区
标题:
基础知识--做的小游戏
[打印本页]
作者:
914360849
时间:
2015-5-28 20:50
标题:
基础知识--做的小游戏
/*
检验用户登陆的一个方法
1、让用户输入用户名和密码,如果用户名和密码不是admin的话,就让用户一直输入,
如果用户输入exit,结束程序。
2、如果用户登陆成功,提示用户:开始玩游戏吧。
这个时候,给用户一个选择界面:
请输入你要玩的游戏的编号:
1、让用户输入两个数字,然后我们给用户显示出这个两个数字范围内的整数和。
2、让用户输入两个数字,求两个数的和。
3、求最大值。
4、哪就给用户输出一个九九乘法表。
用户输入1,就输出矩形形式。
用户输入2、就输出正三角。
用户输入3,就输出倒三角。
5,让用户输入两个数字,咱们来交换这两个变量
a=10,b=20; 不要这么写sop("a="+b,"b="+a);
6、猜数字小游戏。
String s1= new String(zhangsan);//另个对象
String s2 = "zzhangsan";一个对象
*/
import java.util.*;
class GameTest
{
public static void main(String[] args)
{
System.out.println("****!输入886结束游戏!****");//提升用户输入
Scanner sc1=new Scanner(System.in);//创建Scanner 对象
Scanner sc2=new Scanner(System.in);//创建Scanner 对象
String userName="admin";
boolean flag=false;
while(true)
{
// String userName="admin";
// System.out.println("****!输入886结束游戏!****");//提升用户输入
if(flag!=true)
{
System.out.println("请输入用户名:");//提升用户输入
String s1=sc1.nextLine();
if("886".equals(s1)) break;
System.out.println("请输入密码:");//提升用户输入密码
String s2=sc2.nextLine();
if("886".equals(s2)) break;
if((!(s1.equals( userName )&&s2.equals( userName) ) ) &&flag!=true )
{
System.out.println("用户名或密码不对,请重新输入!");
continue;
}
else
{
System.out.println("!!登陆成功,开始游戏吧!!");
flag=true;
}
}
// else if((!(s1.equals( userName )&&s2.equals( userName) ) ) &&flag!=true )
// {
//
// System.out.println("用户名或密码不对,请重新输入!");
// continue;
// }
// else if("886".equals(s1)||"886".equals(s2))
// {
// break;
// }
else
{ flag=true;//定义标记 flag为TRUE是 用户已经通过认证
System.out.println("请选择游戏:");
System.out.println("1:求两个数的和。");
System.out.println("2:求最大值。");
System.out.println("3:打印九九乘法表。");
System.out.println("4:输入两个数字,显示出这个两个数字范围内的整数和。");
System.out.println("5:猜数字游戏。");
System.out.println("6:交换两个数字的值。");
Scanner sc3=new Scanner(System.in);//创建Scanner 对象
int num=sc3.nextInt();
if(886==num)
break;
if(num==1)
{
System.out.println("\t请输入第一个数:");
Scanner sc4=new Scanner(System.in);
int a=sc4.nextInt();
System.out.println("\t请输入第二个数:");
Scanner sc5=new Scanner(System.in);
int b=sc5.nextInt();
int sum=new ToSum().toSum(a,b);
System.out.println("\t"+a+"和"+b+"的和为:"+sum);
}
else if(num==2)
{
System.out.println("\t请输入第一个数:");
Scanner sc4=new Scanner(System.in);
int a=sc4.nextInt();
System.out.println("\t请输入第二个数:");
Scanner sc5=new Scanner(System.in);
int b=sc5.nextInt();
int max=new GetMax().getMax(a,b);
System.out.println("\t"+a+"和"+b+"的最大值为:"+max);
}
else if(num==3)
{
System.out.println("\t1:矩形样式");
System.out.println("\t2:正三角形样式");
System.out.println("\t3:倒三角形样式");
Scanner sc6=new Scanner(System.in);
int a=sc6.nextInt();
if(a==1)
new JiuJiu().jiuJiuJX();
else if (a==2)
new JiuJiu().jiuJiuZ();
else if (a==3)
new JiuJiu().jiuJiuD();
}else if(num==4)
{
System.out.println("\t请输入第一个数:");
Scanner sc4=new Scanner(System.in);
int a=sc4.nextInt();
System.out.println("\t请输入第二个数:");
Scanner sc5=new Scanner(System.in);
int b=sc5.nextInt();
new AToBSum().aToBSum(a,b);
}
else if(num==5)
{
int n=(int)(Math.random()*100);//产生0-100之间的随机数
while(true)
{
Scanner sc=new Scanner(System.in);
System.out.println("\t 请输入0-100之间的整数。");
int ran=sc.nextInt();
if (n>ran)
{
System.out.println("\t 您输入数字太小了。");
continue;
}
else if(n<ran)
{
System.out.println("\t 您输入数字太大了。");
continue;
}
else
{
System.out.println("\t!!恭喜您猜中了!!");
break;
}
}
}
else if(num==6)
{
Scanner sc4=new Scanner(System.in);
System.out.println("\t 请输入第一个。");
String s1=sc4.nextLine();//接收第一个输入
Scanner sc5=new Scanner(System.in);
System.out.println("\t 请输入第二个。");
String s2=sc5.nextLine();//接收第二个输入
System.out.println("\t 您的第一个输入为:"+s1+"\t您的第二个输入为:"+s2);
new GuessNumber().changeLocation1(s1,s2);
// System.out.println("\t 交换后为:"+s1+"\t"+s2);
/*
Scanner sc4=new Scanner(System.in);
System.out.println("\t 请输入第一个。");
int s1=sc4.nextInt();//接收第一个输入
Scanner sc5=new Scanner(System.in);
System.out.println("\t 请输入第二个。");
int s2=sc5.nextInt();//接收第二个输入
System.out.println("\t 您的第一个输入为:"+s1+"\t您的第二个输入为:"+s2);
new GuessNumber().changeLocation2(s1,s2);
System.out.println("\t 交换后为:"+s1+"\t"+s2);*/
}
else
{
System.out.println("\t!!输入的数据不存在!!");
}
}
}
System.out.println("\t\t-----------欢迎下次再来啊-----------");
}
}
//定义类 猜数字,包含交换位置功能
class GuessNumber
{
// int n=(int)(Math.random()*100);
public void changeLocation1(String s1,String s2)
{
// System.out.println("\t 交换前00为:"+s1+"\t"+s2);
String s=s1;
s1=s2;
s2=s;
System.out.println("\t 交换后为:"+s1+"\t"+s2);
}
public void changeLocation2(int s1,int s2)
{
System.out.println("\t 交换前00为:"+s1+"\t"+s2);
int s=s1;
s1=s2;
s2=s;
System.out.println("\t 交换后00为:"+s1+"\t"+s2);
}
}
//定义类,求两个数的和
class ToSum
{
public int toSum(int a,int b)
{
return a+b;
}
}
//定义类 求两个数的最值
class GetMax
{
public int getMax(int a,int b)
{
return a>b?a:b;
}
}
//定义类 打印九九乘法表
class JiuJiu
{
//矩形样式
public void jiuJiuJX()
{
for(int a=1;a<=9;a++)
{
for(int b=1;b<=9;b++)
{
System.out.print(a+"*"+b+"="+a*b+"\t");
}
System.out.println( );
}
}
//正三角样式
public void jiuJiuZ()
{
for(int a=1;a<=9;a++)
{
for(int b=1;b<=a;b++)
{
System.out.print(a+"*"+b+"="+a*b+"\t");
}
System.out.println( );
}
}
//倒三角样式
public void jiuJiuD()
{
for(int a=9;a>=1;a--)
{
for(int b=1;b<=a;b++)
{
System.out.print(a+"*"+b+"="+a*b+"\t");
}
System.out.println( );
}
}
}
//定义类
//输入两个数字,显示出这个两个数字范围内的整数和。
class AToBSum
{
public void aToBSum(int a,int b)
{
int count=0;
boolean flag=false;
if (a<b)
{
flag=true;
int sum=0;
System.out.print(a+"和"+b+"之间的整数为:");
for (int x=a+1;x<b ;x++ )
{
if(count%8==0)
System.out.println();
else if(count==0)
{
System.out.println();
}
sum+=x;
System.out.print("\t"+x+",");
count++;
}
System.out.println();
System.out.println("\t"+a+"和"+b+"之间的整数"+"和为:"+sum);
}
else //if(a>b)
{
System.out.println("\t您输入的第一个数不大于第二个数!!!" );
}
}
}
复制代码
作者:
人在旅途~东营
时间:
2015-5-28 21:17
顶一个,楼主很有想法啊,这样一个案例就能把以前很多东西都穿插进来了,综合性和趣味性都不错,代码敲的也不枯燥:lol
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2