
正文
推箱子功能代码java 简单的java推箱子代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
推箱子游戏java代码如何判断下一步是墙还是空地
1. 确定的功能推箱子功能代码java:让玩家通过按上下左右键推箱子推箱子功能代码java,当箱子们都推到推箱子功能代码java了目的地后出现过关信息,并显示下一关。推错了玩家还按空格键从新玩过这关。直到过完全部关卡。
2. 定义的核心数据结构:推箱子功能代码java我们定义一个二维数组ghouse来记录屏幕上各点的状态。char ghouse[20][20]; 其中:0表示什么都没有,'b'表示箱子,'w'表示墙壁,'m'表示目的地,'i'表示箱子在目的地。
3. 对整个进行功能模块划分。
(1)。初始化:在屏幕上输出欢迎信息,把ghouse数组的元素初始化为0。并根据各关的要求在屏幕上输出墙、箱子、目的地和人。并用ghouse 数组记录各点的状态。
(2)。进入游戏循环:这个游戏主循环是等待按键。当接受到上下左右键时执行相关操作:接受ESC键时退出游戏;接受空格键时返回本关开头;接受无效按键时做忽略处理。重点介绍按上下左右键时如何执行相关操作。
(3)。判断是否过关:用一个链表win由每关的初始化函数传给main函数。Win链表主要记录屏幕上的哪些点是目的地,并记录目的地的位置。Main函数每执行一次操作后就判断屏幕上的目的地是不是都有箱子了。
相关问答
Q1: 求各种各样的小游戏的源代码,比如:贪吃蛇、推箱子、俄罗斯方块、五子棋等,最好是.NET的,JAVA也行。
我有java的,你可以看看:一个拼图
import java.lang.Math.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class MainFrame extends JFrame implements ActionListener{ //定义整个框架
private JButton[] jb = new JButton[8];
private JButton jbs = new JButton("开 局");
private JButton jbres = new JButton("重新开始");
private JPanel jp1 = new JPanel();
private JPanel jp2 = new JPanel();
private int[] n = new int[9];
private int[] n1 = new int[9];
private int position = 8,p,q;
private boolean bl,startbl=false;
private JLabel jl = new JLabel();
private int count = 0;
private JLabel jl1 = new JLabel(" "+Integer.toString(0));
public MainFrame(){ //框架的构造方法
int i;
for(int j = 0; j n.length; j++){
n[j] = j;
n1[j] = n[j];
}
for(i = 0; i jb.length; i++){ //给每个按钮赋相应的值,并注监听器
jb[i] = new JButton(Integer.toString(i+1));
jb[i].setFont(new Font("宋体",Font.BOLD,48));
jp2.add(jb[i]);
jb[i].addActionListener(this);
}
for(i = 0; i n.length; i++){
if(n[i] == position)
jp2.add(jl);
else
jp2.add(jb[n[i]]);
}
jp2.setLayout(new GridLayout(3,3));//注册监听器
jbs.addActionListener(this);
jbres.addActionListener(this);
jp1.add(jbs);
jp1.add(jbres);
jp1.add(jl1);
jp1.setLayout(new FlowLayout()); //将jp1设置为流布局
setLayout(new BorderLayout()); //整体布局为边界布局
this.add("North",jp1);
this.add("Center",jp2);
this.setTitle("拼图游戏");
this.setBounds(100,100,300,350);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //实现关闭按钮
this.setResizable(false);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){ //实现按钮的事件
if(e.getSource()==jbres){ // 重新开始按钮事件
for(int j = 0; jn.length;j++)
n[j] = n1[j];
reShow();
startbl=true;
count = 0;
jl1.setText(" "+Integer.toString(0));
}
else if(e.getSource()==jbs) //开局按钮事件
this.Init();
else if(startbl){ //按钮1-8移动事件
for(int i = 0; i jb.length; i++)
if(e.getSource() == jb[i]){
//System.out.println(i+1);
for(int a=0;an.length;a++){
if(n[a]==i)
p=a;
if(n[a]==position)
q=a;
}
}
if(p != 0 p != 1 p != 2)
if((p-3) == q)
swap(p,q);
if(p != 0 p != 3 p != 6)
if((p-1) == q)
swap(p,q);
if(p != 2 p != 5 p != 8)
if((p+1) == q)
swap(p,q);
if(p != 6 p != 7 p != 8)
if((p+3) == q)
swap(p,q);
}
}
public void swap(int x,int y){ //按钮1-8与空白图片交换
int z;
z = n[x];
n[x] = n[y];
n[y]=z;
jl1.setText(" "+Integer.toString(++count));
reShow();
win();
}
public void Init(){ //随机产生游戏界面
int i=0,j,x;
boolean bl ;
while(i9){
bl = true;
x=(int)(Math.random()*9);
for(j=0;ji;j++)
if(n[j] == x)
bl=false;
if(bl){
n [i++] = x;
n1[i-1] = x;
}
}
reShow();
startbl=true;
count = 0;
jl1.setText(" "+Integer.toString(0));
}
public void reShow(){ //对游戏界面的重写
for(int i = 0; i n.length; i++){
if(n[i] == position)
jp2.add(jl);
else
jp2.add(jb[n[i]]);
}
jp2.revalidate();
}
public void win(){ //判断是否成功
boolean winbl=true;
for(int i=0;in.length;i++)
if(n[i]!=i)
winbl=false;
if(winbl){
JOptionPane.showMessageDialog(this,"祝贺你,你成功了! "+"你用了"+Integer.toString(count)+"步","",JOptionPane.INFORMATION_MESSAGE);
startbl=false;
}
}
}
public class Collage { // 主函数类
public static void main(String[] args){
new MainFrame();
}
}
自已以前编的,不是很好,你就参考参考吧
Q2: 谁有java设计推箱子游戏的代码,要简单点的代码
以前看过如鹏网的《这样学Java不枯燥》视频教程,通过开发飞机大战等经典小游戏来讲解Java的知识点,挺有意思的
Q3: java课程设计创意小游戏
① 求Java课程设计—小游戏(含源代码)
//hi./srxboys/item/8ce4743da1adc991c2cf29c4
Tank——坦克大战(简洁版)源代码-------(此文档是自己在韩顺平教程总结而来)
*功能:1.防止敌人的坦克重叠运动
*(决定把判断是否碰撞的函数写到EnemyTank类)
*2.可以分关
*2.1(做一个开始的Panel,它是一个空的)
*2.2开始字体闪烁
*3.可以在玩游戏的时候,暂停和继续
*3.1当用户点击暂停时,子弹的速度和坦克速度设为0,并让坦克的方向
*不要发生变化。
*4.可以记录玩家的成绩
*4.1用文件流的方式(小游戏)[大游戏是用的数据库cs,bs结构,三国]
*4.2单写一个记录类,完成对玩家的记录
*4.3先完成保存共击毁了多少辆敌人坦克的功能
*4.4存盘退出游戏,可以记录当时的敌人的坦克坐标,并可以恢复
*5.java如何操作声音文件
*/
② JAVA课程设计,求个能用eclipse实现小游戏或小程序的源代码。感激不尽
你自己来去下自载吧,这里面都有 //oschina/project/java
③ 用JAVA编写一个小游戏
前天写的猜数字游戏,yongi控制猜测次数,有详细解析,用黑窗口可以直接运行,
我试验过了,没问题
import javax.swing.Icon;
import javax.swing.JOptionPane;
public class CaiShuZi4JOptionPane {
/**
* @param args
*/
public static void main(String[] args) {
Icon icon = null;
boolean bl = false;
int put = 0;
int c = (int) (((Math.random())*100)+1); //获取一个1-100的随机数
System.out.println("你获取的随机数是:"+c); //打印你的随机数字
String str1 = (String) JOptionPane.showInputDialog(null,"请输入你的猜测数字(1-100): ","猜数字游戏",JOptionPane.PLAIN_MESSAGE,icon,null,"在这输入"); //第一次输入你的猜测数字
if(str1==null){
JOptionPane.showMessageDialog(null, "你已经取消了本次游戏"); //如果你点取消那么本次游戏结束
}else{
bl = num(str1); //判断是输入的是不是数字或者是整数
if(true==bl){ //如果是数字的话进入与随机数比较的程序
System.out.println("你输入的数字是:"+str1); //打印你输入的数字
put = Integer.valueOf(str1);
for(int i = 4;i 0;i--){ //i是你可以猜测的次数
if(put==c){
JOptionPane.showMessageDialog(null, "恭喜你猜对了,正确答案是:"+c+"。"); //如果你猜对了就直接结束循环
break;
}else if(putc){ //如果输大了就让你再次从新输入
str1 = (String) JOptionPane.showInputDialog(null,"你的输入过大。你还有"+i+"次机会,请重新输入: ","猜数字游戏",JOptionPane.PLAIN_MESSAGE,icon,null,"在这输入");
if(str1==null){
JOptionPane.showMessageDialog(null, "你已经取消了本次输入");
break;
}else{
bl =num(str1);
if(true==bl){
put = Integer.valueOf(str1);
}else{
JOptionPane.showMessageDialog(null, "你的输入不正确,请重新输入");
}
}
}else if(putc){ //如果你输小了也让你从新输入
str1 = (String) JOptionPane.showInputDialog(null,"你的输入过小。你还有"+i+"次机会,请重新输入: ","猜数字游戏",JOptionPane.PLAIN_MESSAGE,icon,null,"在这输入");
if(str1==null){
JOptionPane.showMessageDialog(null, "你已经取消了本次输入");
break;
}else{
bl =num(str1);
if(true==bl){
put = Integer.valueOf(str1);
}else{
JOptionPane.showMessageDialog(null, "你的输入不正确,请重新输入");
}
}
}
}
}else if(bl==false){ //这个 是你第一次如果填写的不是数字的话也会结束本次游戏
JOptionPane.showMessageDialog(null, "请您下次按要求填写。本次游戏结束");
}
if(true==bl c!=put){ //如果你i次都没猜对,那么就直接告诉你这个数十什么
JOptionPane.showMessageDialog(null, "很遗憾你没能猜对,这个数字是:"+c+".");
}
}
}
public static boolean num(String value){ //一个静态方法,判断你输入的是不是数字
try {
Integer.parseInt(value);
return true;
} catch (Exception e) {
return false;
}
}
}
④ 用java制作一个小游戏 教学
static Scanner in =new Scanner(System.in);
public static int aaa(){
int c = 0;
while(true){
try {
if(c999c10000){
break;
}else{
// System.out.println("请输入4位整数");
c= in.nextInt();
if(c999c10000){
break;
}else{
System.out.println("输入有误,请重新输入4位整数");
}
}
} catch (Exception e) {
System.out.println("请输入整数");
c= in.nextInt();
}
}
//in.close();
return c;
}
public static void cai(){
//Scanner sa =new Scanner(System.in);
int haoma=(int)(Math.random()*10000);
if(haoma999)
{
haoma = Integer.parseInt(String.valueOf(haoma)+"0");
}
System.out.println(haoma);
System.out.println("请输入一位4位整数");
int aa = 0;
while(true){
aa= aaa();
String pd=String.valueOf(aa);
if(pd.length()!=4){
aa = aaa();
}else{
break;
}
}
while(true){
if(aa==haoma){
System.out.println("你猜对了,可以去买彩票了");
}else{
System.out.println("抱歉 , 你猜错了");
}
System.out.println("是否继续1继续 其他结束");
try {
int ss = in.nextInt();
if(ss==1){
cai();
}else{
break;
}
} catch (Exception e) {
in.close();
break;
}
}
}
public static void main(String[] args) {
System.out.println("欢迎来到猜号小游戏");
cai();
System.out.println("over");
}
⑤ 想做一个java小游戏 谁能给几个创意啊 注意 是创意!!!!! 不是已有的有创意的小游戏
比如有东西扔过来,选择吃掉或者躲开,考反应吧。
⑥ 急求java课程设计,内容可以是小游戏的,如(迷宫,计算器,停车场之恋的),要能运行,谢谢
俄罗斯方块,贪吃蛇。推箱子。
⑦ 求JAVA期末课程设计,要那种开发的小项目软件。可以是像记事本那种,也可以是小游戏那种。
网上搜不到的一般是不可共享的资源,建议去图书馆找本专门针对课程设计的书,里面的资料很丰富,你可以照着做一下,并作功能上适当的增减,这样网上就很难找到了
Q4: 推箱子鼠标移动算法(JAVA编程)
用迭代把 要写两个方法 一个计算人是否能到达某一个格子 一个是计算箱子是否能到达相邻推箱子功能代码java的某一个格子
Q5: 我想要用java编写一个简单的推箱子游戏,里面的移动事件要怎样控制啊?
监控键盘事件,监控方向键,然后根据方向键判断角色的对应方向是否有箱子,有箱子,在判断箱子的前方是否有路;没有箱子就角色移动到那个位置。
假设有个方法判断坐标是箱子还是空地或者越界check(int x,int y)通过返回类型判断,返回类型可以自己定义,这里定义成int类型,0代表箱子,1代表空地,2代表越界
if(check(X+1,y)==0){
if(check(x+2,y)==1){
//箱子往右移动一格,同时角色也往右移动一个
}else if(check(x+2,y)==2){
//箱子推不动,角色也不动,箱子到推箱子功能代码java了墙角,给出提示或者保持角色和箱子原地不动、
}
}
if(check(x+1,y)==1){
//角色往右移动,箱子不动
}
同理等于2的时候,角色原地不动。。。
这只是简单的做推箱子功能代码java了判断,具体的实现看你自己了,可以把人和箱子分开判断。。总之把思路分析清楚就OK
推箱子功能代码java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于简单的java推箱子代码、推箱子功能代码java的信息别忘了在本站进行查找喔。







