我们做的是 “灰太狼推箱子” 的小游戏

首先准备需要的图片:

然后放入二进制文件(所谓的地图)

当然music是必不可少的

目录:

话不多说直接上代码:

package com.xhh.xyx;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

import java.io.*;

import javax.sound.midi.*;

import java.util.Stack;

public class Tuixiangzi

{

public static void main(String[] args)

{

new mainFrame();

}

}

class mainFrame extends JFrame implements ActionListener,ItemListener

{

JLabel lb;

JLabel lb2;

JButton btnrenew,btnlast,btnnext,btnchoose,btnfirst,btnover,btnmuc,btnback;

mainpanel panel;

Sound sound;

JComboBox jc=new JComboBox();

MenuItem renew=new MenuItem("重新开始");

MenuItem back=new MenuItem("悔一步");

MenuItem last=new MenuItem("上一关");

MenuItem next=new MenuItem("下一关");

MenuItem choose=new MenuItem("选关");

MenuItem exit=new MenuItem("退出");

MenuItem qin=new MenuItem("琴萧合奏");

MenuItem po=new MenuItem("泡泡堂");

MenuItem guang=new MenuItem("灌篮高手");

MenuItem nor=new MenuItem("默认");

MenuItem eye=new MenuItem("eyes on me");

MenuItem about=new MenuItem("关于推箱子...");

mainFrame()

{

super("推箱子2.0");

setSize(720,720);

setVisible(true);

setResizable(false);

setLocation(300,20);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container cont=getContentPane();

cont.setLayout(null);

cont.setBackground(Color.black);

Menu choice=new Menu("选项");

choice.add(renew);

choice.add(last);

choice.add(next);

choice.add(choose);

choice.add(back);

choice.addSeparator();

choice.add(exit);

renew.addActionListener(this);

last.addActionListener(this);

next.addActionListener(this);

choose.addActionListener(this);

exit.addActionListener(this);

back.addActionListener(this);

Menu setmuc=new Menu("设置音乐");

setmuc.add(nor);

setmuc.add(qin);

setmuc.add(po);

setmuc.add(guang);

setmuc.add(eye);

nor.addActionListener(this);

qin.addActionListener(this);

po.addActionListener(this);

guang.addActionListener(this);

eye.addActionListener(this);

Menu help=new Menu("帮助");

help.add(about);

about.addActionListener(this);

MenuBar bar=new MenuBar();

bar.add(choice);bar.add(setmuc);bar.add(help);

setMenuBar(bar);

nor.setEnabled(false);

lb=new JLabel("灰太狼古堡推箱子!",SwingConstants.CENTER);

lb2=new JLabel("更换音乐",SwingConstants.CENTER);

add(lb);add(lb2);

lb.setBounds(100,20,400,20);

lb.setForeground(Color.white);

lb2.setBounds(625,500,55,20);

lb2.setForeground(Color.white);

btnrenew=new JButton("重玩");

btnback=new JButton("悔一步");

btnlast=new JButton("上一关");

btnnext=new JButton("下一关");

btnchoose=new JButton("选关");

btnfirst=new JButton("第1关");

btnover=new JButton("最终关");

btnmuc=new JButton("音乐关");

add(btnrenew);

add(btnlast);

add(btnnext);

add(btnchoose);

add(btnfirst);

add(btnover);

add(btnmuc);

add(btnback);

btnrenew.setBounds(625,100,80,30);

btnrenew.addActionListener(this);

btnback.setBounds(625,150,80,30);

btnback.addActionListener(this);

btnfirst.setBounds(625,200,80,30);

btnfirst.addActionListener(this);

btnlast.setBounds(625,250,80,30);

btnlast.addActionListener(this);

btnnext.setBounds(625,300,80,30);

btnnext.addActionListener(this);

btnover.setBounds(625,350,80,30);

btnover.addActionListener(this);

btnchoose.setBounds(625,400,80,30);

btnchoose.addActionListener(this);

btnmuc.setBounds(625,450,80,30);

btnmuc.addActionListener(this);

jc.setBounds(625,530,80,20);

jc.addItem("默认");

jc.addItem("琴萧合奏");

jc.addItem("泡泡堂");

jc.addItem("灌篮高手");

jc.addItem("eyes on me");

jc.addItemListener(this);

cont.add(jc);

sound=new Sound();

sound.loadSound();

panel=new mainpanel();

add(panel);

panel.Tuixiangzi(panel.level);

panel.requestFocus();

validate();

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==btnrenew||e.getSource()==renew)

{

panel.Tuixiangzi(panel.level);

panel.requestFocus();

panel.remove();

}

else if(e.getSource()==btnlast||e.getSource()==last)

{

panel.level--;

if(panel.level<1)

{panel.level++;

JOptionPane.showMessageDialog(this,"本关是第一关");

panel.requestFocus();}

else

{

panel.Tuixiangzi(panel.level);

panel.requestFocus();

}

panel.remove();

}

else if(e.getSource()==btnnext||e.getSource()==next)

{

panel.level++;

if(panel.level>panel.maxlevel())

{panel.level--;

JOptionPane.showMessageDialog(this,"本关已是最后一关");

panel.requestFocus();}

else

{

panel.Tuixiangzi(panel.level);

panel.requestFocus();

}

panel.remove();

}

else if(e.getSource()==exit)System.exit(0);

else if(e.getSource()==about)

{

JOptionPane.showMessageDialog(this, "JAVA推箱子游戏!(version 3.0)");

}

else if(e.getSource()==btnchoose||e.getSource()==choose)

{

String lel=JOptionPane.showInputDialog(this,"请输入您要转到的关卡号:(1~50)");

panel.level=Integer.parseInt(lel);

panel.remove();

if(panel.level>panel.maxlevel()||panel.level<1)

{JOptionPane.showMessageDialog(this, "没有这一关!!!");panel.requestFocus();}

else

{

panel.Tuixiangzi(panel.level);

panel.requestFocus();

}

}

else if(e.getSource()==btnfirst)

{

panel.level=1;

panel.Tuixiangzi(panel.level);

panel.requestFocus();

panel.remove();

}

else if(e.getSource()==btnover)

{

panel.level=panel.maxlevel();

panel.Tuixiangzi(panel.level);

panel.requestFocus();

panel.remove();

}

else if(e.getSource()==btnmuc)

{

if(sound.isplay())

{

sound.mystop();

btnmuc.setLabel("音乐开");

}

else

{

sound.loadSound();

btnmuc.setLabel("音乐关");

}

panel.requestFocus();

}

else if(e.getSource()==btnback||e.getSource()==back)

{

if(panel.isMystackEmpty())JOptionPane.showMessageDialog(this, "您还未移动!!!");

else

{

switch(panel.back())

{

case 10:panel.backup(10);break;

case 11:panel.backup(11);break;

case 20:panel.backdown(20);break;

case 21:panel.backdown(21);break;

case 30:panel.backleft(30);break;

case 31:panel.backleft(31);break;

case 40:panel.backright(40);break;

case 41:panel.backright(41);break;

}

}

panel.requestFocus();

}

else if(e.getSource()==nor)

{

jc.setSelectedIndex(0);

}

else if(e.getSource()==qin)

{

jc.setSelectedIndex(1);

}

else if(e.getSource()==guang)

{

jc.setSelectedIndex(3);

}

else if(e.getSource()==eye)

{

jc.setSelectedIndex(4);

}

else if(e.getSource()==po)

{

jc.setSelectedIndex(2);

}

}

public void itemStateChanged(ItemEvent ie)

{

int no=jc.getSelectedIndex();

switch(no)

{

case 0:sound.setMusic("nor.mid");

if(sound.isplay())

sound.mystop();

sound.loadSound();

btnmuc.setLabel("音乐关");

nor.setEnabled(false);

qin.setEnabled(true);

guang.setEnabled(true);

eye.setEnabled(true);

po.setEnabled(true);panel.requestFocus();break;

case 1:sound.setMusic("qin.mid");

if(sound.isplay())

sound.mystop();

sound.loadSound();

btnmuc.setLabel("音乐关");

nor.setEnabled(true);

qin.setEnabled(false);

guang.setEnabled(true);

eye.setEnabled(true);

po.setEnabled(true);panel.requestFocus();break;

case 2:sound.setMusic("popo.mid");

if(sound.isplay())

sound.mystop();

sound.loadSound();

btnmuc.setLabel("音乐关");

nor.setEnabled(true);

qin.setEnabled(true);

guang.setEnabled(true);

eye.setEnabled(true);

po.setEnabled(false);panel.requestFocus();break;

case 3:sound.setMusic("guang.mid");

if(sound.isplay())

sound.mystop();

sound.loadSound();

btnmuc.setLabel("音乐关");

nor.setEnabled(true);

qin.setEnabled(true);

guang.setEnabled(false);

eye.setEnabled(true);

po.setEnabled(true);panel.requestFocus();break;

case 4:sound.setMusic("eyes on me.mid");

if(sound.isplay())

sound.mystop();

sound.loadSound();

btnmuc.setLabel("音乐关");

nor.setEnabled(true);

qin.setEnabled(true);

guang.setEnabled(true);

eye.setEnabled(false);

po.setEnabled(true);panel.requestFocus();break;

}

}

}

class mainpanel extends JPanel implements KeyListener

{

int max=50;

int[][] map,maptmp;

int manX,manY,boxnum;

Image[] myImage;

Readmap Levelmap;

Readmap Levelmaptmp;

int len=30;

public int level=1;

Stack mystack=new Stack();

mainpanel()

{

setBounds(15,50,600,600);

setBackground(Color.white);

addKeyListener(this);

myImage=new Image[10];

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

{

myImage[i] = Toolkit.getDefaultToolkit().getImage("pic\\"+i+".gif");

}

setVisible(true);

}

void Tuixiangzi(int i)

{

Levelmap=new Readmap(i);

Levelmaptmp=new Readmap(i);

map=Levelmap.getmap();

manX=Levelmap.getmanX();

manY=Levelmap.getmanY();

maptmp=Levelmaptmp.getmap();

repaint();

}

int maxlevel(){return max;}

public void paint(Graphics g)

{

for(int i=0; i<20; i++)

for(int j=0; j<20; j++)

{

g.drawImage(myImage[map[j][i]],i*len,j*len,this);

}

g.setColor(new Color(0,0,0));

g.setFont(new Font("楷体_2312",Font.BOLD,30));

g.drawString("第",240,40);

g.drawString(String.valueOf(level),310,40);

g.drawString("层",360,40);

}

public void keyPressed(KeyEvent e)

{

if(e.getKeyCode()==KeyEvent.VK_UP){moveup();}

if(e.getKeyCode()==KeyEvent.VK_DOWN){movedown();}

if(e.getKeyCode()==KeyEvent.VK_LEFT){moveleft();}

if(e.getKeyCode()==KeyEvent.VK_RIGHT){moveright();}

if(iswin())

{

if(level==max){JOptionPane.showMessageDialog(this, "恭喜您通过最后一关!!!");}

else

{

String msg="恭喜您通过第"+level+"关!!!\n是否要进入下一关?";

int type=JOptionPane.YES_NO_OPTION;

String title="恭喜过关!";

int choice=0;

choice=JOptionPane.showConfirmDialog(null,msg,title,type);

if(choice==1)System.exit(0);

else if(choice==0)

{

level++;

Tuixiangzi(level);

}

}

mystack.removeAllElements();

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

boolean isMystackEmpty(){return mystack.isEmpty();}

int back(){return (Integer)mystack.pop();}

void remove(){mystack.removeAllElements();}

void moveup()

{

if(map[manY-1][manX]==2||map[manY-1][manX]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY-1][manX]=8;

repaint();manY--;mystack.push(10);

}

else if(map[manY-1][manX]==3)

{

if(map[manY-2][manX]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY-1][manX]=8;

map[manY-2][manX]=9;

repaint();manY--;mystack.push(11);

}

else if(map[manY-2][manX]==2)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY-1][manX]=8;

map[manY-2][manX]=3;

repaint();manY--;mystack.push(11);

}

else {map[manY][manX]=8;repaint();}

}

else if(map[manY-1][manX]==9)

{

if(map[manY-2][manX]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY-1][manX]=8;

map[manY-2][manX]=9;

repaint();manY--;mystack.push(11);

}

else if(map[manY-2][manX]==2)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY-1][manX]=8;

map[manY-2][manX]=3;

repaint();manY--;mystack.push(11);

}

else {map[manY][manX]=8;repaint();}

}

if(map[manY-1][manX]==1)

{

map[manY][manX]=8;repaint();

}

}

void backup(int t)

{

int n=t;

if(n==10)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

{

map[manY][manX]=4;

}

else map[manY][manX]=2;

}

else if(n==11)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

{

map[manY][manX]=9;

}

else map[manY][manX]=3;

if(maptmp[manY-1][manX]==4||maptmp[manY-1][manX]==9)

{

map[manY-1][manX]=4;

}

else map[manY-1][manX]=2;

}

map[manY+1][manX]=8;

repaint();manY++;

}

void movedown()

{

if(map[manY+1][manX]==2||map[manY+1][manX]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY+1][manX]=5;

repaint();manY++;mystack.push(20);

}

else if(map[manY+1][manX]==3)

{

if(map[manY+2][manX]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY+1][manX]=5;

map[manY+2][manX]=9;

repaint();manY++;mystack.push(21);

}

else if(map[manY+2][manX]==2)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY+1][manX]=5;

map[manY+2][manX]=3;

repaint();manY++;mystack.push(21);

}

else {map[manY][manX]=5;repaint();}

}

else if(map[manY+1][manX]==9)

{

if(map[manY+2][manX]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY+1][manX]=5;

map[manY+2][manX]=9;

repaint();manY++;mystack.push(21);

}

else if(map[manY+2][manX]==2)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY+1][manX]=5;

map[manY+2][manX]=3;

repaint();manY++;mystack.push(21);

}

else {map[manY][manX]=5;repaint();}

}

else if(map[manY+1][manX]==1)

{

map[manY][manX]=5;repaint();

}

}

void backdown(int t)

{

int n=t;

if(n==20)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

{

map[manY][manX]=4;

}

else map[manY][manX]=2;

}

else if(n==21)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

{

map[manY][manX]=9;

}

else map[manY][manX]=3;

if(maptmp[manY+1][manX]==4||maptmp[manY+1][manX]==9)

{

map[manY+1][manX]=4;

}

else map[manY+1][manX]=2;

}

map[manY-1][manX]=5;

repaint();manY--;

}

void moveleft()

{

if(map[manY][manX-1]==2||map[manY][manX-1]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX-1]=6;

repaint();manX--;mystack.push(30);

}

else if(map[manY][manX-1]==3)

{

if(map[manY][manX-2]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX-1]=6;

map[manY][manX-2]=9;

repaint();manX--;mystack.push(31);

}

else if(map[manY][manX-2]==2)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX-1]=6;

map[manY][manX-2]=3;

repaint();manX--;mystack.push(31);

}

else {map[manY][manX]=6;repaint();}

}

else if(map[manY][manX-1]==9)

{

if(map[manY][manX-2]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX-1]=6;

map[manY][manX-2]=9;

repaint();manX--;mystack.push(31);

}

else if(map[manY][manX-2]==2)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX-1]=6;

map[manY][manX-2]=3;

repaint();manX--;mystack.push(31);

}

else {map[manY][manX]=6;repaint();}

}

else if(map[manY][manX-1]==1)

{

map[manY][manX]=6;repaint();

}

}

void backleft(int t)

{

int n=t;

if(n==30)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

{

map[manY][manX]=4;

}

else map[manY][manX]=2;

}

else if(n==31)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

{

map[manY][manX]=9;

}

else map[manY][manX]=3;

if(maptmp[manY][manX-1]==4||maptmp[manY][manX-1]==9)

{

map[manY][manX-1]=4;

}

else map[manY][manX-1]=2;

}

map[manY][manX+1]=6;

repaint();manX++;

}

void moveright()

{

if(map[manY][manX+1]==2||map[manY][manX+1]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX+1]=7;

repaint();manX++;mystack.push(40);

}

else if(map[manY][manX+1]==3)

{

if(map[manY][manX+2]==4)

{

if(maptmp[manY][manX]==4)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX+1]=7;

map[manY][manX+2]=9;

repaint();manX++;mystack.push(41);

}

else if(map[manY][manX+2]==2)

{

if(maptmp[manY][manX]==4)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX+1]=7;

map[manY][manX+2]=3;

repaint();manX++;mystack.push(41);

}

else {map[manY][manX]=7;repaint();}

}

else if(map[manY][manX+1]==9)

{

if(map[manY][manX+2]==4)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX+1]=7;

map[manY][manX+2]=9;

repaint();manX++;mystack.push(41);

}

else if(map[manY][manX+2]==2)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

map[manY][manX]=4;

else map[manY][manX]=2;

map[manY][manX+1]=7;

map[manY][manX+2]=3;

repaint();manX++;mystack.push(41);

}

else {map[manY][manX]=7;repaint();}

}

else if(map[manY][manX+1]==1)

{

map[manY][manX]=7;repaint();

}

}

void backright(int t)

{

int n=t;

if(n==40)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

{

map[manY][manX]=4;

}

else map[manY][manX]=2;

}

else if(n==41)

{

if(maptmp[manY][manX]==4||maptmp[manY][manX]==9)

{

map[manY][manX]=9;

}

else map[manY][manX]=3;

if(maptmp[manY][manX+1]==4||maptmp[manY][manX+1]==9)

{

map[manY][manX+1]=4;

}

else map[manY][manX+1]=2;

}

map[manY][manX-1]=7;

repaint();manX--;

}

boolean iswin()

{

boolean num=false;

out:for(int i=0; i<20; i++)

for(int j=0; j<20; j++)

{

if(maptmp[i][j]==4||maptmp[i][j]==9)

if(map[i][j]==9)num=true;

else {num=false;break out;}

}

return num;

}

}

class Sound

{

String path=new String("musics\\");

String file=new String("nor.mid");

Sequence seq;

Sequencer midi;

boolean sign;

void loadSound()

{

try {

seq=MidiSystem.getSequence(new File(path+file));

midi=MidiSystem.getSequencer();

midi.open();

midi.setSequence(seq);

midi.start();

midi.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);

}

catch (Exception ex) {ex.printStackTrace();}

sign=true;

}

void mystop(){midi.stop();midi.close();sign=false;}

boolean isplay(){return sign;}

void setMusic(String e){file=e;}

}

class Readmap

{

private int level,mx,my;

private int[][] mymap=new int[20][20];

FileReader r;

BufferedReader br;

String bb="";

int[] x;int c=0;

Readmap(int k)

{

level=k;

String s;

try

{

File f=new File("maps\\"+level+".map");

r=new FileReader(f);

br=new BufferedReader(r);

}

catch (IOException e)

{

System.out.println(e);

}

try

{

while ((s=br.readLine())!=null)

{

bb=bb+s;

}

}

catch (IOException g)

{

System.out.println(g);

}

byte[] d=bb.getBytes();

int len=bb.length();

int[] x=new int[len];

for(int i=0;i

for(int i=0;i<20;i++)

{

for(int j=0;j<20;j++)

{

mymap[i][j]=x[c];

if(mymap[i][j]==5)

{

mx=j;my=i;

}

c++;

}

}

}

int[][] getmap(){return mymap;}

int getmanX(){return mx;}

int getmanY(){return my;}

}

运行:

以上就是我们的灰太狼古堡推箱子的小游戏啦!

更多有趣的经典小游戏实现专题,分享给大家:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java推箱子_java实现简单的推箱子小游戏相关推荐

  1. java猜数游戏图形界面_Java做一个猜数的小游戏

    @Author : By Runsen 效果展现 猜数字游戏是一个简单,有趣的小游戏.游戏者通过输入一个指定区间的数字,与系统产生的随机数进行对比,然后输出相应的结果. 游戏运行时产生一个0-10之间 ...

  2. 无聊的时候怎么办?教你用java写一个简单挂机打金币小游戏吧!

    无聊的时候怎么办?教你用java写一个超简单挂机打金币小游戏吧! Java写一个挂机打金币程序 1.Java的面向对象 2.基础打金的分析 3. Robot介绍以及Demo演示 4.挂机打金程序如何去 ...

  3. 编程猜单词游戏python_Python实现简单的猜单词小游戏

    本文实例为大家分享了Python实现猜单词小游戏的具体代码,供大家参考,具体内容如下 思路 1.一个words列表里存放若干的单词,例如:["extends", "pri ...

  4. Python制作简单的终端交互小游戏

    Python制作简单的终端交互小游戏 因为最近的集训课程中,老师让我们把python,java,nodejs都需要掌握,本人最常使用的是java,python许久没有用过,就想写一段逻辑来帮助自己复习 ...

  5. 用python做C语言的猜数字游戏,[Python3 练习] 007 简单的猜数字小游戏

    题目:简单的猜数字小游戏 (1) 描述 程序随机生成一个数字,玩家用键盘输入所猜数字,在规定次数内猜对为胜. (2) 要求 程序随机生成一个 1 到 100 的自然数 有 7 次机会去猜 机会用尽之前 ...

  6. Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界

    Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界 目录 输出结果 设计思路 输出结果 设计思路 from tkinter import * import tkint ...

  7. 写一个简单的实时互动小游戏

    在写之前,我们先回顾上一篇文章,从需求.架构.设计.开发上讲述并演示了搭建一个实时通信客户端的过程,并附了图片与视频. 写这篇文章的之前,第一个互动的游戏DEMO已经写好了,先附上截图 很奇怪的一张图 ...

  8. STM32+LCD实现简单的贪吃蛇小游戏

    寒假放假回家,只能宅在家里,无聊之余,幸好带了一块开发板回来,以前做项目都是在网上找相似或者有关联的项目,把别人的代码拿过来,修改修改,拼拼凑凑出自己项目,既然无聊就自己动脑筋思考,自己动手写贪吃蛇的 ...

  9. Html:简单实现弹砖块小游戏

    用html与js实现简单的弹砖块小游戏(初级) 用键盘的左右键控制一个板块让小球反弹,小球反弹到上面,与其相碰的砖块会消失,小球落地会重新开始游戏. 弹砖块小游戏--初级 第一部分body:要注意格式 ...

  10. 用 Dev-C++ 编写简单的走迷宫小游戏

    用 Dev-C++ 编写简单的走迷宫小游戏 前言 基础版 优化版 前言 以下是显示效果 B站视频讲解:[小游戏]用 Dev-C++ 编写简单的控制台走迷宫小游戏 [小游戏]用 Dev-C++ 编写简单 ...

最新文章

  1. 【廖雪峰Python学习笔记】高阶函数
  2. ASP.NET MVC 防止 CSRF 的方法
  3. reposurgeon 2.15 发布
  4. JAVA入门笔记·我的第一个JAVA程序
  5. 单片机数据转换php,51单片机之数据转移指令MOV、MOVX、MOVC等
  6. 机器学习模型,能分清川菜和湘菜吗?
  7. [生态建设] - js判断小技巧
  8. Tengine新增nginx upstream模块的使用
  9. 大数据安全的需求有哪些
  10. 安装HDFS过程中Browse Directory报错
  11. 2.Linux 高性能服务器编程 --- IP 协议详解
  12. 光网络时代网络工程师成长路线图
  13. 【转】和老外聊天、发邮件常用英语缩写
  14. java lzw_lzw在java中解压缩
  15. SCI 论文插图格式一般要求
  16. 缓解核心交换机网线过多的设计思路
  17. 上网时遇到的 404 是什么意思?
  18. 剪辑技巧!如何利用背景图片给多段视频画面四周添加黑色边框
  19. 北大青鸟消防控制器组网_北大青鸟消防主机概述
  20. Numpy二维矩阵与三维矩阵的乘积

热门文章

  1. 【解决树莓派pip下载超时的一种方法】树莓派4b 给pip换源
  2. 百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(一)
  3. 机器学习工程师必知的十大算法
  4. 办理手机卡时,提示购买同一销售产品超过数量限制该怎么办?
  5. 股指鹰击长空 个股百舸争流
  6. 【DP】拿数问题II
  7. gazebo 直接获取传感器数据_LifeSignals无线医疗生物传感器LP1250获FDA批准
  8. 怎么在linux运行hplip,Linux下hp打印机驱动hplip分析
  9. LeetCode·763.划分字母区间·贪心
  10. 福禄克FLUKE DSX-602 CH CableAnalyzer支持6A的性价比测试仪