㈠ 求各種各樣的小游戲的源代碼,比如:貪吃蛇、推箱子、俄羅斯方塊、五子棋等,最好是.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; j<n.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;a<n.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(i<9){
bl = true;
x=(int)(Math.random()*9);
for(j=0;j<i;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;i<n.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();
}
}
自已以前編的,不是很好,你就參考參考吧
㈡ 用 java製作十款小游戲,邊玩邊學!
通過打游戲來學習編程,不僅能讓你在娛樂中提升技能,還能讓你更深入地理解編程語言的奧秘。以下是使用Java製作的十款小游戲,讓你在邊玩邊學的過程中,掌握編程技巧。
王者榮耀是一款講解詳細編寫流程的游戲,適合Java新手,只要掌握了基礎知識,就能輕松完成屬於自己的游戲,同時加深面向對象知識的理解。主要涉及JavaEE基礎如變數、數據類型、循環結構等。
大魚吃小魚是一款動作類小游戲,通過不斷的吞吃比自己小的魚類快速成長,最終成為海洋霸主。課程提供詳細開發過程,只需60分鍾,便能完成自己的Java版大魚吃小魚游戲。主要涉及JavaEE基礎如變數、數據類型、類的繼承等。
黃金礦工游戲的詳細開發過程講解,適合初學者或有一定Java基礎的人群。通過實踐理解面向對象編程,最終目標是開發出功能強大的黃金礦工小游戲。涉及Java變數、數據類型、循環結構等。
經典游戲「推箱子」,玩家只需通過方向鍵操縱一個小人推箱子,體驗通關的喜悅。課程提供編寫思路和流程,適合Java新手,主要涉及變數、數據類型、循環結構等。
講解俄羅斯方塊游戲的編寫流程,適合Java初學者,主要涉及Java的基礎知識如變數、數組、循環結構等,同時加深對Java基礎知識的理解。
貪吃蛇游戲的完整編寫流程講解,適合Java新手,主要涉及Java的基礎知識如變數、數據類型、循環結構等。
飛機大戰游戲的詳細編寫流程講解,適合Java新手,主要涉及Java的基礎知識如變數、數據類型、循環結構等,同時加深面向對象知識的理解。
坦克大戰游戲的詳細編寫流程講解,適合Java新手,主要涉及Java的基礎知識如變數、數據類型、循環結構等,是一款懷舊的經典坦克防守游戲。
掃雷游戲的詳細開發過程講解,適合Java初學者,主要涉及Java的基礎知識如變數、數組、遞歸等,完成一個Java掃雷游戲只需90分鍾。
超級瑪麗是一款經典流行的小游戲,通過鍵盤控制馬里奧移動,體驗跳躍與敵人互動的樂趣。課程適合Java新手,主要涉及Java的基礎知識如變數、數據類型、循環結構等。
通過這些游戲的製作,你不僅能夠熟練掌握Java編程,還能在游戲的樂趣中不斷進步。
㈢ 幾個Java小游戲代碼
csdn 上 我 的有