java编程游戏代码?java代码例子
大家好,今天小编来为大家解答以下的问题,关于java编程游戏代码,java代码例子这个很多人还不知道,现在让我们一起来看看吧!
求一个简单又有趣的JAVA小游戏代码
具体如下:
连连看的小源码
package Lianliankan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame;//主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel;//子面板
JButton diamondsButton[][]= new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton;//退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0");//分数标签
JButton firstButton,secondButton;//
分别记录两次62616964757a686964616fe59b9ee7ad9431333335326239被选中的按钮
int grid[][]= new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false;//判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV;//游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
对于字符和Unicode数据的位模式的定义,此模式代表特定字母、数字或符号(例如 0x20代表一个空格,而 0x74代表字符“t”)。一些数据类型每个字符使用一个字节;每个字节可以具有 256个不同的位模式中的一个模式。
在计算机中,字符由不同的位模式(ON或 OFF)表示。每个字节有 8位,这 8位可以有 256种不同的 ON和 OFF组合模式。对于使用 1个字节存储每个字符的程序,通过给每个位模式指派字符可表示最多 256个不同的字符。2个字节有 16位,这 16位可以有 65,536种唯一的 ON和 OFF组合模式。使用 2个字节表示每个字符的程序可表示最多 65,536个字符。
单字节代码页是字符定义,这些字符映射到每个字节可能有的 256种位模式中的每一种。代码页定义大小写字符、数字、符号以及!、@、#、%等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单字节代码页。
虽然用于表示 A到 Z拉丁字母表字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失。
如果某个数据库为来自许多不同国家的客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展字符。而且,在代码页间不停地转换需要花费大量的处理时间。
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程序编写小游戏 要求:程序随机产生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();
}
}
OK,本文到此结束,希望对大家有所帮助。