「java数字游戏」java数字游戏课程设计成果

博主:adminadmin 2022-12-01 00:59:07 45

今天给各位分享java数字游戏的知识,其中也会对java数字游戏课程设计成果进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java猜数字游戏

public static void main(String[] args) {

// TODO 自动生成方法存根

System.out.println("欢迎进入猜数字游戏!您只有10次机会!猜的数字在0到100之间");

Random r = new Random();

int num = r.nextInt(100);

Scanner input = new Scanner(System.in);

int cai;

for (int i = 0; i 10; i++) {

System.out.print("输入竞猜数字:");

cai = input.nextInt();

if (cai 0 || cai 100) {

System.out.println("数字在0到100之间");

continue;

}

if (cai == num) {

System.out.println("猜中数字,胜利了");

break;

} else {

System.out.println("没有猜中");

}

if (i == 9) {

System.out.println("时间到,竞猜失败");

}

}

}

用java编写一个猜数字游戏,

package day06;

import java.util.Scanner;

//猜字符游戏

public class GuessingGame {

//主方法

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int count = 0; //猜错的次数

char[] chs = generate(); //随机生成的字符数组

System.out.println(chs); //作弊

while(true){ //自造死循环

System.out.println("猜吧!");

String str = scan.next().toUpperCase(); //获取用户输入的字符串

if(str.equals("EXIT")){ //判断str是否是EXIT

System.out.println("下次再来吧!");

break;

}

char[] input = str.toCharArray(); //将字符串转换为字符数组

int[] result = check(chs,input);  //对比

if(result[0]==chs.length){ //位置对为5

int score = chs.length*100 - count*10; //一个字符100分,错一次减10分

System.out.println("恭喜你猜对了,得分:" + score);

break; //猜对时跳出循环

}else{ //没猜对

count++; //猜错次数增1

System.out.println("字符对:"+result[1]+"个,位置对:"+result[0]+"个");

}

}

}

//随机生成5个字符数组

public static char[] generate(){

char[] chs = new char[5];

char[] letters = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',

'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',

'W', 'X', 'Y', 'Z'};

boolean[] flags = new boolean[letters.length]; //1.

for(int i=0;ichs.length;i++){

int index;

do{

index = (int)(Math.random()*letters.length); //0到25

}while(flags[index]==true); //2.

chs[i] = letters[index];

flags[index] = true; //3.

}

return chs;

}

//对比随机数组与用户输入的数组

public static int[] check(char[] chs,char[] input){

int[] result = new int[2];

for(int i=0;ichs.length;i++){

for(int j=0;jinput.length;j++){

if(chs[i]==input[j]){ //字符对

result[1]++; //字符对个数增1

if(i==j){ //位置对

result[0]++; //位置对个数增1

}

break;

}

}

}

return result;

}

}

java编写的猜4个数字游戏

界面类:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MainFrame extends JFrame implements ActionListener, KeyListener {

private static final long serialVersionUID = 1L;

private JLabel lb1;

private JButton btnEnter;

private JButton btnCancel;

private JTextArea taDispaly;

private JTextField txtEnter;

private Oprator oprator;

private JButton btnReplay;

String tx;

private JButton btnEnd;

public static void main(String[] args) {

new MainFrame();

}

public MainFrame() {

oprator = new Oprator();

oprator.randAnswer();

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container con = this.getContentPane();

this.setContentPane(con);

con.setLayout(null);

con.setSize(467, 237);

lb1 = new JLabel("请输入一个4位数:");

con.add(lb1);

lb1.setBounds(44, 24, 140, 17);

txtEnter = new JTextField();

con.add(txtEnter);

txtEnter.setBounds(47, 64, 76, 24);

txtEnter.addKeyListener(this);

taDispaly = new JTextArea();

con.add(taDispaly);

taDispaly.setBounds(249, 9, 225, 203);

taDispaly.setBorder(BorderFactory.createBevelBorder(1));

btnEnter = new JButton();

btnEnter.setEnabled(false);

con.add(btnEnter);

btnEnter.setText("确定");

btnEnter.setBounds(30, 105, 60, 24);

btnEnter.addActionListener(this);

btnCancel = new JButton();

con.add(btnCancel);

btnCancel.setText("取消");

btnCancel.setBounds(107, 105, 60, 24);

btnCancel.addActionListener(this);

btnReplay = new JButton();

con.add(btnReplay);

btnReplay.setText("重玩");

btnReplay.setBounds(28, 148, 60, 24);

btnEnd = new JButton();

con.add(btnEnd);

btnEnd.setText("结束");

btnEnd.setBounds(107, 148, 60, 24);

this.setSize(494, 257);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e) {

JButton btn = (JButton) e.getSource();

if (btn == btnCancel) {

btnEnter.setEnabled(false);

txtEnter.setText("");

}

if (!oprator.isEnd()) {

if (btn == btnEnter) {

oprator.setCount(oprator.getCount() + 1);

int[] result = oprator.check(txtEnter.getText());

if (result[0] == 1) {

oprator.setEnd(true);

taDispaly.append("猜中了!!\n");

} else if (oprator.getCount() != 10) {

taDispaly.append(txtEnter.getText() + " "

+ result[1] + "A" + result[2] + "B\n");

} else if (oprator.getCount() == 11) {

taDispaly.append("失败!!\n");

}

btnEnter.setEnabled(false);

txtEnter.setText("");

}

}

if(btn == btnEnd){

this.dispose();

}

if(btn == btnReplay){

oprator.randAnswer();

taDispaly.setText("");

txtEnter.setText("");

txtEnter.setEnabled(false);

}

}

public void keyPressed(KeyEvent e) {

}

public void keyReleased(KeyEvent e) {

}

public void keyTyped(KeyEvent e) {

/** 实现只能输入4位数字,并且数字不能重复 */

JTextField text = (JTextField) e.getSource();

tx = text.getText();

int b = e.getKeyChar();

if (b 48 || b 57) {

e.setKeyChar('\0');

}

if (tx.indexOf(b) != -1) {

e.setKeyChar('\0');

}

if (tx.length() == 4) {

e.setKeyChar('\0');

}

if (tx.length() == 3) {

btnEnter.setEnabled(true);

}

}

}

操作类:

import java.util.*;

public class Oprator {

private int[] answer;

private int count;

private boolean isEnd = false;

public Oprator(){

}

/** 产生随机答案 */

public void randAnswer(){

answer = new int[4];

int[] digits = {0,1,2,3,4,5,6,7,8,9};

Random rand = new Random((new Date()).getTime());

for(int i=0;idigits.length;i++){

int ptr = Math.abs(rand.nextInt())%10;

int temp = digits[ptr];

digits[ptr] = digits[i];

digits[i] = temp;

}

for(int i=0;i4;i++){

answer[i] = digits[i];

}

}

/**

* 检查答案

* @param guessNum

* @return int[] 第一位标识是否猜对,第二为A的数量,第三为B的数量.

*

*/

public int[] check(String guessNum){

int[] guess = new int[4];

for(int i=0;i4;i++){

guess[i] = Integer.parseInt(guessNum.substring(i, i+1));

}

int a=0,b=0,c=0;

for(int i = 0;i4;i++){

for(int j=0;j4;j++){

if(answer[i]==guess[j]i==j){

a++;

}else if(answer[i]==guess[j]){

b++;

}

}

}

if(a==4){

c=1;

}

return new int[] {c,a,b};

}

public static void main(String[] args) {

Oprator op = new Oprator();

op.randAnswer();

for(int i=0;iop.answer.length;i++){

System.out.print(op.answer[i]);

}

System.out.println();

Scanner in = new Scanner(System.in);

while(true){

op.check(in.next());

}

}

public int[] getAnser(){

return this.answer;

}

public int getCount() {

return count;

}

public void setCount(int count) {

this.count = count;

}

public boolean isEnd() {

return isEnd;

}

public void setEnd(boolean isEnd) {

this.isEnd = isEnd;

}

}

java猜数字小游戏。用eclipse写的

import java.util.Scanner;

/**

* Java命令行版 猜数字游戏

* @author kaifang

*/

public class GuessNum {

public static void main(String[] args) 

{

System.out.println("======猜数字游戏======\n");

int answer = (int)(Math.random() * 200 + 1);

Scanner sr = new Scanner(System.in);

while(true) {

System.out.print("请输入你猜的数字(1-200):");

int in = sr.nextInt();

if (in  answer) {

System.out.println("猜大了!\n");

} else if(in  answer){

System.out.println("猜小了!\n");

} else {

System.out.println("恭喜你,才猜对了!!!\n");

break;

}

}

sr.close();

}

}

关于java数字游戏和java数字游戏课程设计成果的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。