java蜘蛛紙牌
⑴ 用java編寫windows蜘蛛紙牌游戲
你們老師傻了吧!才學到繼承就要你們寫蜘蛛紙牌?你確定你沒聽錯題目!
⑵ 基於java的蜘蛛紙牌游戲的背景音樂怎麼控制暫停
基於java的蜘蛛紙牌游戲設計我可以給你搞定.
⑶ java編程後為什麼蜘蛛紙牌不顯示紙牌
蜘蛛是陸地生態系統中最豐富的捕食性天敵,在維持農林生態系統穩定中的作用不容忽視。[1] 體長1~90毫米,身體分頭胸部(前體)和腹部(後體)兩部分,頭胸部覆以背甲和胸板。頭胸部有附肢兩對,第一對為螯肢,有螯牙、螯牙尖端有毒腺開口;直齶亞目的螯肢前後活動,鉗齶亞目者側向運動及相向運動;第二對為須肢,在雌蛛和未成熟的雄蛛呈步足狀,用以夾持食物及作感覺器官;但在雄性成蛛須肢末節膨大,變為傳送精子的交接器。蜘蛛目分2個
隆頭蛛科某種
亞目:①中紡亞目有1科,共20餘種;②後紡亞目(約107科,近4萬種)。
其中,後紡亞目又分A:原蛛下目(約有14科,1500餘種);B:新蛛下目(約有93科,38000餘種)。.
蜘蛛的生活方式可分為兩大類。即游獵型和定居型。游獵型者,到處游獵、捕食、居無定所、完全不結網、不挖洞、不造巢的蜘蛛。有鱗毛蛛科,擬熊蛛科和大多數的狼蛛科等。定居型的:有的結網,有的挖穴,有的築巢,作為固定住所。如壁錢、類石蛛等。蜘蛛似乎懂禮貌,凡營獨立生活者,個體之間都保持一定間隔距離,互不侵犯。
與一般昆蟲相比,蜘蛛是長壽命者,大多數蜘蛛完成一個生活史,一般為8個月至2年,雄性蛛是短命的,交尾後不久即死亡。其他如水蛛和狡蛛能活18個月,穴居狼蛛能活2年,巨蟹蛛能活2年以上,還有捕鳥蛛的壽命長達20~30年。
所有的蜘蛛生活,都利用絲,絲由絲腺細胞分泌,在腺腔中為粘稠的液體,經紡管導出後,遇到空氣時很快凝結成絲狀,絲的比重為1.28,強韌而富有彈性。
網穴蜘蛛,白天在網內,夜晚守在洞口,伺機獵食或外出覓食。雄蛛在土塊下挖一淺坑,穴居狼蛛在地下挖一垂直的深洞,舞蛛在洞口還加編了活蓋。這種活蓋是由多個絲層構成的。龐蛛的洞深達1米,該蛛體小,毒性強,一旦咬傷穴兔後,四分鍾即死亡。蜘蛛的天敵很多。蟾蜍、蛙、蜥蜴、蜈蚣、蜜蜂、鳥類都捕食蜘蛛,有的寄生蜂寄生於蜘蛛卵內,有的寄生蠅的幼蟲在蜘蛛卵袋中發育,小頭蚊虻昆蟲幾乎全部都是以幼蟲的形式寄生到蜘蛛體內。蜘蛛常用多種方法來御敵,如排出毒液,隱匿,偽裝,擬態,保護色,振動等等。當逃不掉時,而自己的附肢被敵害夾持時,乾脆切斷自己的附肢一走了之,反正自斷的步足在蛻皮時還會再生
⑷ Java的蜘蛛紙牌裡面的游戲圖片怎麼搞啊 我把代碼都打完了 但還是不能運行,裡面的圖片怎麼嵌套進去啊
java老師要我們做一個小項目,用java編寫windows蜘蛛紙牌游戲代碼 我們才學習到繼承,許多東西不會。希望各位大蝦幫幫忙 寫出寫蜘蛛紙牌的具體操作網上到處都,IsrzkV
⑸ 用java開發windows紙牌游戲,怎麼做,或者更簡單的
這個游戲的幾個關鍵步驟你要整理清楚,洗牌-》發牌-》-》拿牌-》放牌-》消行。。。
然後再分解每一個大動作,其實挺簡單的,
移動那塊好處理,你應該把注意力集中在判斷一張牌是否能放下,還有放下後的後續操作,
如果還有什麼不懂的地方,可以留下郵箱,我把我以前寫好的發給你參考,這個弄完了你可以試試聯網的鬥地主,包括房間等候、枷鎖、規則、逃跑扣分,你會發現騰訊那些游戲都沒啥難度的
順便說一句,我很反感明明自己不是很清楚,為什麼還要別人回答,樓主問的不是java是否適合做游戲,而是問java怎麼做蜘蛛紙牌?誰都知道java的強項在哪,你們這么贅述有意義么?
⑹ 請幫忙分析一下這段JAVA程序
考試題還是面試題啊?
暈了~能搞到,自己都看不明白?
⑺ JAVA蜘蛛紙牌
我們做作業,做了個撲克牌的游戲,不過不是蜘蛛牌,沒有添加出牌規則演算法的。發給你,你自己看看。。紙牌要自己下,把名字改成0--51的數字,背面名字改成rear,橫向背面改成rearheng.jpg
package com;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class puke implements MouseListener,ActionListener{
public JFrame frame=new JFrame("撲克牌發牌");
public JButton button=new JButton("Start");
public JPanel pbutton=new JPanel();
public JPanel north=new JPanel();
public JPanel west=new JPanel();
public JPanel south=new JPanel();
public JPanel east=new JPanel();
public JPanel middle=new JPanel();
public Container container=frame.getContentPane();
public static JLabel[] l=new JLabel[52];
public static JLabel[] ll =new JLabel[52];
@SuppressWarnings("unchecked")
public static Set set=new HashSet();
public static JLabel[] l1=new JLabel[13];
public static JLabel[] l2 =new JLabel[13];
public static JLabel[] l3 =new JLabel[13];
public static JLabel[] l4 =new JLabel[13];
public static JLabel[] ll1 =new JLabel[13];
public static JLabel[] ll2 =new JLabel[13];
public static JLabel[] ll3 =new JLabel[13];
public static JLabel[] ll4=new JLabel[13];
boolean gstar=false;
int nn=ll.length;
int n=l.length;
int s=0;
int x=0,y=0;
@SuppressWarnings("unchecked")
public puke(){
frame.setBounds(0, 0, 1000, 750);
container.setLayout(null);
north.setLayout(null);
west.setLayout(null);
south.setLayout(null);
east.setLayout(null);
north.setBounds(200, 0, 600, 200);
north.setBackground(Color.GREEN);
west.setBounds(0,200,200,350);
west.setBackground(Color.RED);
south.setBounds(200,550,600,200);
south.setBackground(Color.PINK);
east.setBounds(800, 200, 200, 350);
east.setBackground(Color.BLUE);
pbutton.setBounds(420, 420,100, 40);
middle.setBounds(200, 200, 600, 400);
middle.setBackground(Color.YELLOW);
for(int i=0;i<l.length;i++){
l[i]=new JLabel(new ImageIcon("src/com/rear.jpg"));
l[i].setBounds(350+x,270,71,96);
container.add(l[i]);
x+=5;
}
for(int i=0;i<ll.length;i++){
ll[i]=new JLabel(new ImageIcon("src/com/"+i+".jpg"));
set.add(ll[i]);
}
button.addActionListener(this);
pbutton.add(button);
container.add(north);
container.add(west);
container.add(south);
container.add(east);
container.add(pbutton);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
compare();
}
@SuppressWarnings({ "unchecked", "unchecked" })
public void play()//分發正面52張牌
{
Iterator<JLabel> it = set.iterator();
while(it.hasNext()){
for(int i=0;i<13;i++){
if(nn%4==0){
ll1[i]=(JLabel) it.next();
nn--;}
if(nn%4==3){
ll2[i]=(JLabel) it.next();
nn--;}
if(nn%4==2){
ll3[i]=(JLabel) it.next();
nn--;}
if(nn%4==1){
ll4[i]=(JLabel) it.next();
nn--;}
}
}
}
public void move()//完成發牌,每位玩家得到13張牌
{
play();
int i;
while(n!=0){
for(i=0;i<13;i++){
if(s<52){
if(n%4==0){
l1[i]=l[s];
l1[i].setBounds(-120+x, 70, 71, 96);
north.add(l1[i]);
try {
Thread.sleep(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
x+=10;
s++;
n--;
continue;
}
if(n%4==3){
l[s].setIcon(new ImageIcon("src/com/rearheng.jpg"));
l2[i]=l[s];
l2[i].setBounds(70, 20+y,96,71);
west.add(l2[i]);
try {
Thread.sleep(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
y+=10;
s++;
n--;
continue;
}
if(n%4==2){
l[s].setIcon(null);
l3[i]=ll3[i];
l3[i].setBounds(640-x, 30, 71, 96);
l3[i].addMouseListener(this);
south.add(l3[i]);
try {
Thread.sleep(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
x+=10;
s++;
n--;
continue;
}
if(n%4==1){
l[s].setIcon(new ImageIcon("src/com/rearheng.jpg"));
l4[i]=l[s];
l4[i].setBounds(30,260-y,96,71);
east.add(l4[i]);
try {
Thread.sleep(3);
} catch (InterruptedException e) {
e.printStackTrace();
}
y+=10;
s++;
n--;
continue;
}
}
}
}
button.setVisible(false);
pbutton.remove(button);
container.remove(pbutton);
container.add(middle);
frame.repaint();
}
public void mouseClicked(MouseEvent e)//點擊滑鼠出牌
{
for(int i=0;i<13;i++){
if(gstar){
middle.remove(l3[i]);
middle.remove(ll1[i]);
middle.remove(ll2[i]);
middle.remove(ll4[i]);
if(e.getSource()==l3[i]){
north.remove(l1[i]);
west.remove(l2[i]);
east.remove(l4[i]);
south.remove(l3[i]);
middle.add(l3[i]);
middle.add(ll1[i]);
middle.add(ll2[i]);
middle.add(ll4[i]);
l3[i].setBounds(l3[i].getBounds().x, 200, 71, 100);
ll1[i].setBounds(250, 50, 71, 96);
ll2[i].setBounds(150, 150, 71, 96);
ll3[i].setBounds(250, 200, 71, 96);
ll4[i].setBounds(350, 150, 71, 96);
frame.repaint();
}
}
}
}
public void mouseEntered(MouseEvent e) //選擇要出的牌
{
for(int i=0;i<13;i++){
if(gstar){
if(e.getSource()==l3[i]){
l3[i].setBounds(l3[i].getBounds().x, l3[i].getBounds().y-20, 71, 96);
}
}
}
}
public void mouseExited(MouseEvent e) {
for(int i=0;i<13;i++){
if(gstar){
if(e.getSource()==l3[i]){
l3[i].setBounds(l3[i].getBounds().x,l3[i].getBounds().y+20, 71, 96);
}}}
}
public puke getthis(){
return this;
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public static void main(String[]args){
new puke();
}
public class TestThread extends Thread{
private puke g=null;
public TestThread(puke g){
this.g=g;
}
public void run() {
while(true){
g.move();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public void actionPerformed(ActionEvent e) //點擊按鈕事件
{
if(e.getSource()==button){
gstar=true;
TestThread t= new TestThread(this);
t.start();
}
}
@SuppressWarnings("unchecked")
public int compare(){
JLabel[] lab=new JLabel[ll.length];
String[] str=new String[ll.length];
set.toArray(lab);
for(int l=0;l<ll.length;l++){
str[l]=lab[l].getIcon().toString();
System.out.println(str[l]);
}
return n;
}
}
⑻ java編寫的蜘蛛紙牌游戲涉及哪些演算法
去查智能演算法,可以用其中的神經網路實現,這種代碼在淘寶上能賣到1000左右,別想瞭望採納而且使用matlab編的,用java估計更貴,因為更復雜你可以去csdn或者開源社區上找找,或許有人分享過
⑼ 蜘蛛紙牌java的代碼,打開後有界面但是點了「開局」後沒有反應
你網路下載一個源碼吧.
⑽ 蜘蛛紙牌運用了java哪些設計模式
你可以這樣想,Java程序是順序執行的。
如果只有一個主線程的話,那麼要是計算出牌、發牌這些後台操作前台顯示就什麼也做不了,那樣你做的游戲,在程序後台做這些時候就處於假死狀態。
為了讓這些處理之間互相不幹擾,就需要線程,讓他們分別執行在不同的線程里,只在必要時進行數據共享和交換,這叫線程通信。
當然,這里只是舉了一個簡單例子,是顯示和計算之間用不同線程,實際上你想做的任何事都可以用線程來做,這樣可以充分利用CPU,畢竟現在都是雙核四核了,說的廣一點,這屬於」並行程序設計「了。