「java数字游戏」java数字游戏课程设计成果
今天给各位分享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数字游戏课程设计成果的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。