HTML制作猜拳小游戏,利用Eclipse制作的一个简单UI猜拳小游戏

玩家类:

import java.util.*;

public class Players {

//玩家角色名

String

userName="";-----------------------------用户名字

//赢的次数

int

userWin=0;----------------------------------用户赢的次数

public void username(){ ----------------------开始写用户的属性和方法 (先写用户属性

在写用户方法)

boolean

isGoOn=false;-------------------------布尔类型

do{

//提示玩家选择角色

System.out.print("请选择角色:(1.刘备\t2.孙权\t3.曹操):");

//接收玩家的选择

Scanner input=new

Scanner(System.in);--------------------------利用键盘获取用户所选择的游戏角色来进行玩出拳游戏

String

role=input.next();--------------------------------------role

只是选择角色一个变量 利用他来判断你是选择的是那个是角色从而进行后面的判断

//根据玩家选择显示出什么拳

if(role.equals("1")){

userName="刘备";-----------------------《1》刘备

}else if(role.equals("2")){

userName="孙权";-----------------------《2》孙权

}else if(role.equals("3")){

userName="曹操";-----------------------《3》曹操

}else {

//如果超出范围就提示重新选择

System.out.println("输入错误!请重新选择!");----------------------如果用户输入的不是《1

2 3》的话 他会跳出错误 叫你重新选择

isGoOn=true;

}

}while(isGoOn);-----------------------------------------------------isGoON

只是定义来表明循环是否重复执行 如果为true执行 flase不执行

}

int

fist=0;//用户的输入---------------------------fist 定义为出拳的数。。。。。defualt为0

public void showFist(){

boolean isGo=false;

do{

//提示玩家选择要出什么拳

System.out.print("请出拳:1.剪刀\t2.石头\t3.布(选择相应数字):");----------------------游戏规则 //记录玩家的选择

Scanner input=new

Scanner(System.in);----------------------------------------------------从键盘输入获取的数据看他是出的什么拳

然后在判断

fist=input.nextInt();

//根据玩家选择显示出什么拳

if(fist==1){

System.out.println("你出拳:剪刀");

}else if(fist==2){

System.out.println("你出拳:石头");

}else if(fist==3){

System.out.println("你出拳:布");

}else {

//如果超出范围就提示重新选择

System.out.println("输入错误!请重新选择!");-----------------------------------------这个跟上面一样要是输入不对的话

也是用来判断一下是否要循环

isGo=true;

}

}while(isGo);

}

}

//上面是用户类 的属性和方法

// 下面我们也要弄一下计算机的属性和方法 差不多跟用户类一样 有一点要注意看

计算机类:

public class Computers {

//计算机名字

String

computerName="匿名";--------------------------------计算机自定义一个名字

//计算机赢的次数

int

computerWin=0;-----------------------------------------计算机赢的次数

int

computerFist=0;--------------------------------------computerFist

跟上面的Fist 是功能是一样的 不过计算机只是随机改变

而用户那边要是从用户那边获取的

public void showFist(){

//电脑获取随机数

computerFist=(int)(Math.random()*3+1);------------------计算机随机出拳的语法结构

//根据获取的随机数提示出什么拳

if(computerFist==1){------------------------------------判断而以 System.out.println("电脑出拳:剪刀");

}else if(computerFist==2){

System.out.println("电脑出拳:石头");

}else if(computerFist==3){

System.out.println("电脑出拳:布");

}

}

}

//这个计算机的类变写完了 不过有人会问 写完了 感觉少了东西耶 不急 我来解释一下

// 用户类里面有(属性和方法)为什么计算机没有

// 计算机是一个固定的也可能说是一个固定的变量吧。。。而现在他只方法啦。。

游戏控制类:

import java.util.Scanner;

public class GameControl {

Players player;----------------------------player

变量用来后面和计算机对比

Computers

computer;------------------------Computer 变量计算机也是用来对比的

// 记录对战次数

int sum =

0;------------------------------sum 变量 用来定义 用户和计算机对比的结果

// 显示欢迎界面

public void initial() {

player = new Players(); // 玩家实例

computer = new Computers();//

电脑实例----------------------把用户和计算机都初始化一下

}

public void welcome() {

System.out

.println("---------------------------------------------------");

System.out.println("\t\t-----------------");

System.out.println("\t\t-- 猜拳,开始 --");

System.out.println("\t\t-----------------");

System.out.println("------------------------------------------------");

}

// 显示出拳规则

public void rule() {

System.out.println("出拳规则:\t1.剪刀\t2.石头\t3.布");

}

// 提示选择角色

public boolean isStart() {

boolean con = true;

// 询问是否开始

System.out.print("是否开始游戏?(y/n):");

Scanner input = new Scanner(System.in);

String yes = input.next();

if (yes.equalsIgnoreCase("y")) {

con = true;

} else {

con = false;

}

return con;

}

//这断代码问你要不是开始游戏 字符串类型来作判断的

public boolean then() {

boolean con = true;

// 询问是否开始

System.out.print("是否继续?(y/n):");

Scanner input = new Scanner(System.in);

String yes = input.next();

if (yes.equalsIgnoreCase("y")) {

con = true;

} else {

con = false;

}

return con;

}

//上面的开始了游戏 下面就开始问要不要断续玩 也是利用String来判断的

public void compare() {

// 比较输赢

if (player.fist >

computer.computerFist) {-------------player.fist

是用户出拳的结果 computer.computerFist

是计算机出拳的结果 用他们来对比一下 显示一下最后的结果

if (player.fist -

computer.computerFist < 2) {

//

显示本次结果

System.out.println("真厉害!这次你赢了!");

//

记录胜利次数

player.userWin += 1;------------------------------记录用户赢的次数

} else {

System.out.println("下次加油!这次你输了!");

computer.computerWin += 1;

}

} else if (player.fist ==

computer.computerFist) {

System.out.println("真没意思,平局!");

} else if

(player.fist

if (computer.computerFist -

player.fist < 2) {

//

显示本次结果

System.out.println("下次加油!这次你输了!");

//

记录胜利次数

player.userWin += 1;

} else {

System.out.println("真厉害!这次你赢了!");

computer.computerWin += 1;

}

}

}

//上面是用户跟计算要对战的输赢次数

public void startGame() {

// 初始化

initial();

// 显示欢迎界面

welcome();

// 显示规则

rule();

// 选择角色

player.username();

// 询问是否开始

if (isStart() == true) {

do {

System.out.println("---------------------------------------------------");

//

用户出拳

player.showFist();

//

电脑出拳

computer.showFist();

// 比较

//

显示结果

compare();

//

记录对战次数

sum +=

1;

System.out.println("---------------------------------------------------");

//

询问是否继续

} while (then());

// 显示对战双方

actors();

// 显示对战次数

times();

// 显示最终胜负

results();

//分割线

System.out.println("----------------------------------------作者:修罗№魂");

} else {

System.out.println("程序结束!");

}

}

public void actors() {

System.out.println(player.userName + " VS " +

computer.computerName);

}

public void times() {

System.out.println("对战次数:" + sum);

}

public void results() {

if (player.userWin >

computer.computerWin) {

System.out.println("恭喜!恭喜!最后还是你赢了.");

} else if (computer.computerWin >

player.userWin) {

System.out.println("算了吧!就你这点水平还不行!");

} else {

System.out.println("平局!");

}

}

}

测试类:

public class StartGame {

public static void main(String[] args) {

// TODO Auto-generated method stub

GameControl game=new GameControl();

game.startGame();

}

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值