好几天没写博客了,感觉时间过挺快,其实每天都在学习了,学习真是考验一个人的毅力,慢慢的发现写代码其实挺有趣的,也不是很枯燥。不断的学习也会很充实,而且掌握了所学的知识以后会有种很满足的感觉。废话不多,这次就上一个面向对象的简单的猜拳小游戏了,非常适合像我一样的新手去理解和编写。。
import java.util.Scanner;
/**
* 用户和电脑玩猜拳的小游戏类
*/
class Game{
public void start(){
System.out.println("----------------欢迎进入游戏----------------");
System.out.println("\t\t*************");
System.out.println("\t\t** 猜拳游戏 **");
System.out.println("\t\t*************");
int userFist=showUserFist();
int computerFist=showComputerFist();
if(
(userFist==1&&computerFist==2)||
(userFist==2&&computerFist==3)||
(userFist==3&&computerFist==1)
){
System.out.println("恭喜你,你赢了");
}else if(userFist==computerFist){
System.out.println("很遗憾,你俩平局");
}else{
System.out.println("非常抱歉,你输了");
}
}
public int showUserFist(){
System.out.println("请输入1-石头、2-剪刀、3-布");
System.out.println("请出拳");
Scanner sc=new Scanner(System.in);
int userFist=sc.nextInt();
if(userFist>=1&&userFist<=3){
return userFist;
}else{
System.out.println("您输入的数字有误,电脑帮你出1-石头");
return 1;
}
}
public int showComputerFist(){
int a=(int)(Math.random()*3)+1;
switch(a){
case 1:
System.out.println("电脑出拳,石头");
break;
case 2:
System.out.println("电脑出拳,剪刀");
break;
case 3:
System.out.println("电脑出拳,布");
break;
}
return a;
}
}
public class GameTestMain {
public static void main(String[] args) {
Game game=new Game();
game.start();
}
}
###因为代码非常简单,就没有多写注释。简单说下思路吧!
- 创建一个Game类,创建一个用户出拳的方法,得到用户出拳的数据并且return。
- 然后在创建一个电脑出拳的方法,得到电脑出拳的数据并且return,这步需要获取随机数,可以直接套用公式,假设获取一个a~b的随机数,则随机数int=(int)(Math.random()*(b-a+1))+a
- 创建一个对比用户出拳和电脑出拳的方法,判断输赢。
万丈高楼平地起,虽然我也是是个新手,但我觉的基础这这块对编程真的挺重要的,因为新手刚接触编程,脑子里往往没有任何思路,都是在模仿别人怎么写,不过时间长了不培养自己动脑子想方法,想思路,到了一些难的东西的根本难以理解,看都看不懂,所以还是得尽快培养自己的编程思路,遇到问题能解决的尽量自己解决(比如出BUG,没思路,不会写)实在解决不了在网上搜索或者请教别人。
话说我接触编程也快半年了,刚开始入门学的是HTML5 CSS JavaScript 前端一些简单的基础语法,刚开始觉得做网页挺有趣的,就是调东西挺麻烦,有时候一些看着简单的效果要写好多代码一个一个调,什么内边距外边框啥的,非常头大,需要非常好的耐心,估计这也是学java前端的女孩子多的原因吧。。好了,就这样了,希望有和我一样的编程新手,大家一起加油,不管前面的路有多么难走,干就完了!!
End.