「java小游戏程序设计」java小游戏程序设计报告

博主:adminadmin 2022-11-23 14:22:06 62

本篇文章给大家谈谈java小游戏程序设计,以及java小游戏程序设计报告对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

怎么用JAVA来写一个小游戏程序

import java.util.*;

import java.io.*;

public class CaiShu{

public static void main(String[] args) throws IOException{

Random a=new Random();

int num=a.nextInt(100);

System.out.println("请输入一个100以内的整数:");

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

BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));

String str=bf.readLine();

int shu=Integer.parseInt(str);

if (shunum)

System.out.println("输入的数大了,输小点的!");

else if (shunum)

System.out.println("输入的数小了,输大点的!");

else {

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

if (i=2)

System.out.println("你真是个天才!");

else if (i=6)

System.out.println("还将就,你过关了!");

else if (i=8)

System.out.println("但是你还……真笨!");

else

System.out.println("你和猪没有两样了!"); break;}

}

} }

java程序编写小游戏 要求:程序随机产生20—50根火柴

为什么用AWT不用 swing?

算法思想很简单

是取胜原理

用反推法:欲拿最后一根,必须留2根在那里,欲留2根,必须上一轮留2+3+1=6给对方,(它拿一,你拿三,它拿二,你拿二,它拿三,你拿一。都是留2根)。再向上一轮,就是6+4=10。

取胜原理:把随机产生的火柴数,分解成:2+4的n次方+m,(m≤3),当m=0的时候,后取者胜,当m=1、2、3的时候,先取者胜。先取者取完m,留2+4的n次方给对方,对方不管取多少,你取的数和对方相加等于4,一直到最后,留2根给对方,根据规则,对方只能取一根,留一根给你取胜。

另:取完者胜(含最后一根):最后留4根给对方,不管对方取多少,你都可以一次取完。上一轮同样加4。

取胜原理:把随机产生的火柴数,分解成:4的n次方+m,(m≤3),当m=0的时候,后取者胜,当m=1、2、3的时候,先取者胜。先取者取完m,留4的n次方给对方,对方不管取多少,你取的数和对方相加等于4,一直到最后,留4根给对方。

代码调试可用

自己用GUI搭个界面 二十分钟的事

import java.util.Scanner;

public class MatchGame {

private static Scanner scanner = new Scanner(System.in);;

private int total;

private Computer com;

private static int exit = 1;

public MatchGame(int from, int to, String level) {

if (from = to) {

throw new IllegalArgumentException();

}

total = (int)( Math.random() * (to - from)) + from;

com = new Computer(level);

}

public void start() {

System.out.println("0 means endGame, 4 means restartGame!");

System.out.println("The number of matches is " + total);

System.out.println("~Start~");

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

while (true) {

int u = scanner.nextInt();

if (u 0 u 4) {

System.out.println("You entered " + u);

if (total - u = 0) {

exit = 2;

endGame();

}

total = total - u;

System.out.println("Total : " + total);

int c = com.play(u, total);

System.out.println("Computer selected " + c + " matches~");

if (total - c = 0) {

exit = 0;

endGame();

}

total = total - c;

System.out.println("Total : " + total);

}else if (u == 0) {

endGame();

}else if (u 4 || u 0) {

System.out.println("You entered Wrong number~");

} else {

restart();

}

}

}

public static void restart() {

MatchGame game;

System.out

.println("Please select Computer Level: 1:HARD 2:NORMAL 3:EASY");

int level = scanner.nextInt();

if (level == 1) {

game = new MatchGame(20, 50, Computer.HARD);

} else if (level == 2) {

game = new MatchGame(20, 50, Computer.NORMAL);

} else {

game = new MatchGame(20, 50, Computer.EASY);

}

game.start();

}

public static void endGame() {

if (exit == 0) {

System.out.println("YOU WIN!!!");

} else if (exit == 2) {

System.out.println("YOU LOSE!!!");

}

System.exit(exit);

}

public static class Computer {

private static String EASY = "EASY";

private static String NORMAL = "NORMAL";

private static String HARD = "HARD";

private static String LEVEL;

private int com;

public Computer(String level) {

LEVEL = level;

}

public int play(int user, int total) {

if (LEVEL.equals(EASY)) {

com = 1;

} else if (LEVEL.equals(NORMAL)) {

com = (int) (Math.random() * 2) + 1;

} else {

int i;

if (total % 4 == 0) {

i = total / 4 - 1;

} else {

i = total / 4;

}

com = total - 4 * i - 1;

if (com == 0) {

com = 4 - user;

}

}

return com;

}

}

public static void main(String[] args) {

MatchGame game;

System.out

.println("Please select Computer Level: 1:HARD 2:NORMAL 3:EASY");

int level = scanner.nextInt();

if (level == 1) {

game = new MatchGame(20, 50, Computer.HARD);

} else if (level == 2) {

game = new MatchGame(20, 50, Computer.NORMAL);

} else {

game = new MatchGame(20, 50, Computer.EASY);

}

game.start();

}

}

java编程 设计如下图所示的窗口,完成猜数小游戏的设计。

界面不是完全一致,但是可行。

package ex1;

import java.util.Scanner;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class WindowButton extends JFrame implements ActionListener

{

private static final long serialVersionUID = 1L;

int number;

JTextField inputNumber;

JLabel feedBack;

JButton buttonGetNumber,buttonEnter;

WindowButton(String s)

{

super(s);

buttonGetNumber = new JButton("得到一个新的随机数");

feedBack = new JLabel("无反馈信息",JLabel.CENTER);

feedBack.setBackground(Color.red);

inputNumber = new JTextField("0",5);

buttonEnter = new JButton("确定");

buttonEnter.addActionListener(WindowButton.this);

//code 1:按钮buttonEnter增加ActionEvent事件监视器,监视器为当前窗口

buttonGetNumber.addActionListener(WindowButton.this);

//code 2:按钮buttonGetNumber增加ActionEvent事件监视器,监视器为当前窗口

Box boxH1 = Box.createHorizontalBox();

boxH1.add(new JLabel("获取1-100之间的随机数:"));

boxH1.add(buttonGetNumber);

Box boxH2 = Box.createHorizontalBox();

boxH2.add(new JLabel("输入您的猜测:"));

boxH2.add(inputNumber);

Box boxH3 = Box.createHorizontalBox();

boxH3.add(new JLabel("单击确定按钮:"));

boxH3.add(buttonEnter);

Box boxH4 = Box.createHorizontalBox();

boxH4.add(new JLabel("反馈信息:"));

boxH4.add(feedBack);

Box baseBox = Box.createVerticalBox();

baseBox.add(boxH1);

baseBox.add(boxH2);

baseBox.add(boxH3);

baseBox.add(boxH4);

Container con = getContentPane();

con.setLayout(new FlowLayout());

con.add(baseBox);

con.validate();

setBounds(230,225,400,200);

setVisible(true);

validate();

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource() == buttonGetNumber) //code 3:判断事件是否是buttonGetNumber

number = (int)(Math.random()*100)+1;

else if(e.getSource() == buttonEnter) //code 4:判断事件是否是buttonEnter

{

int guess = 0;

try{

guess = Integer.parseInt(inputNumber.getText());

//code 5:返回inputNumber中的文本

if(guess == number)

{

feedBack.setText("猜对了~");

//code 6:feedBack设置提示文本:"猜对了"

}

else if(guess number)

{

feedBack.setText("猜大了~");

inputNumber.setText(null);

}

else if(guess number)

{

feedBack.setText("猜小了~");

inputNumber.setText(null);

}

}

catch(NumberFormatException event)

{

feedBack.setText("请输入数字字符");

//code 7:feedBack设置提示文本:"请输入数字字符"

}

}

}

}

public class GuessNumberGame {

public static void main(String[] args) {

new WindowButton("猜数子小游戏");

}

}

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

The End

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