導航:首頁 > 源碼編譯 > web鬥地主源碼

web鬥地主源碼

發布時間:2022-02-06 19:53:12

A. 鬥地主游戲的源代碼 數據結構 實現五個功能

我晚上有空,幫你找找看 其實我也不懂這東西,我自己是財經專業的~~ 抱歉,確實搞不懂這東西,還真希望別人能給我一個呵~~

B. 誰有鬥地主源碼(C++/VC++)

http://www.1knx.cn/webbox_web_izvccc.html

C. 鬥地主游戲源碼

用八門修改吧,鬥地主有很多版本,蘋果源代碼你是拿不到的

D. 求java單機鬥地主完整源碼

一共實現了如下功能
1. 搶地主功能,玩家可以選擇自己當地主,還是留給電腦搶地主
2.牌型判斷,判斷 單牌,對子,3對,順子,飛機,等等可能情況 為後面出牌跟牌做准備
3. 實現輪流出牌邏輯,並簡單測試
4. 實現倒計時功能,如果玩家30秒為出牌自動超時,歸為下一家出牌,電腦默認操作時間2秒

public void run() { while(i>-1 && isRun){ main.time[1].setText("倒計時:"+i--); second(1);//等一秒 } if(i==-1)//正常終結,說明超時 main.time[1].setText("不搶"); //如果自己搶到地主 if(main.time[1].getText().equals("搶地主")){ //得到地主牌 main.playerList[1].addAll(main.lordList); openlord(true); second(2);//等待五秒 Common.order(main.playerList[1]); Common.rePosition(main, main.playerList[1], 1); setlord(1); }else{ //電腦選地主 if(Common.getScore(main.playerList[0])

上面是實現邏輯的一個線程
Time.java文件裡面

下面給出拆牌的邏輯

下面是一個枚舉,命名不是很規范,但是容易懂,形象化的特徵10多種牌型

package com; public enum CardType { c1,//單牌 c2,//對子 c3,//3不帶 c4,//炸彈 c31,//3帶1 c32,//3帶2 c411,//4帶2個單,或者一對 c422,//4帶2對 c123,//連子 c1122,//連隊 c111222,//飛機 c11122234,//飛機帶單排 c1112223344,//飛機帶對子 c0//不能出牌 }

下面是具體判斷方法
//判斷牌型 public static CardType jugdeType(List list){ //因為之前排序過所以比較好判斷 int len=list.size(); //單牌,對子,3不帶,4個一樣炸彈 if(len<=4) { //如果第一個和最後個相同,說明全部相同 if(Common.getValue(list.get(0))==Common.getValue(list.get(len-1))) { switch (len) { case 1: return CardType.c1; case 2: return CardType.c2; case 3: return CardType.c3; case 4: return CardType.c4; } } //雙王,化為對子返回 if(len==2&&Common.getColor(list.get(1))==5) return CardType.c2; //當第一個和最後個不同時,3帶1 if(len==4 &&Common.getValue(list.get(0))==Common.getValue(list.get(len-2))) return CardType.c31; else { return CardType.c0; } } //當5張以上時,連字,3帶2,飛機,2順,4帶2等等 if(len>=5) {//現在按相同數字最大出現次數 Card_index card_index=new Card_index(); for(int i=0;i<4;i++) card_index.a[i]=new ArrayList(); //求出各種數字出現頻率 Common.getMax( card_index,list); //a[0,1,2,3]分別表示重復1,2,3,4次的牌 //3帶2 -----必含重復3次的牌 if(card_index.a[2].size()==1 &&card_index.a[1].size()==1 && len==5) return CardType.c32; //4帶2(單,雙) if(card_index.a[3].size()==1 && len==6) return CardType.c411; if(card_index.a[3].size()==1 && card_index.a[1].size()==2 &&len==8) return CardType.c422; //單連,保證不存在王 if((Common.getColor(list.get(0))!=5)&&(card_index.a[0].size()==len) && (Common.getValue(list.get(0))-Common.getValue(list.get(len-1))==len-1)) return CardType.c123; //連隊 if(card_index.a[1].size()==len/2 && len%2==0 && len/2>=3 &&(Common.getValue(list.get(0))-Common.getValue(list.get(len-1))==(len/2-1))) return CardType.c1122; //飛機 if(card_index.a[2].size()==len/3 && (len%3==0) && (Common.getValue(list.get(0))-Common.getValue(list.get(len-1))==(len/3-1))) return CardType.c111222; //飛機帶n單,n/2對 if(card_index.a[2].size()==len/4 && ((Integer)(card_index.a[2].get(len/4-1))-(Integer)(card_index.a[2].get(0))==len/4-1)) return CardType.c11122234; //飛機帶n雙 if(card_index.a[2].size()==len/5 && card_index.a[2].size()==len/5 && ((Integer)(card_index.a[2].get(len/5-1))-(Integer)(card_index.a[2].get(0))==len/5-1)) return CardType.c1112223344; } return CardType.c0; }

下面是上面函數用到的一個函數
//返回花色 public static int getColor(Card card){ return Integer.parseInt(card.name.substring(0,1)); } //返回值 public static int getValue(Card card){ int i= Integer.parseInt(card.name.substring(2,card.name.length())); if(card.name.substring(2,card.name.length()).equals("2")) i+=13; if(card.name.substring(2,card.name.length()).equals("1")) i+=13; return i; } //得到最大相同數 public static void getMax(Card_index card_index,List list){ int count[]=new int[14];//1-13各算一種,王算第14種 for(int i=0;i<14;i++) count[i]=0; for(int i=0,len=list.size();i<14;i++) { switch (count[i]) { case 1: card_index.a[0].add(i+1); break; case 2: card_index.a[1].add(i+1); break; case 3: card_index.a[2].add(i+1); break; case 4: card_index.a[3].add(i+1); break; } } } } class Card_index{ List a[]=new ArrayList[4];//單張 }

E. 求鬥地主源代碼

給你發過去了

F. 求j2me 鬥地主源代碼。

import javax.microedition.lci.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
import javax.microedition.midlet.*;
import java.io.*;
import javax.microedition.io.*;

public class PlayerMIDlet extends MIDlet implements CommandListener {
private Display display;
private List lst;
private Command start = new Command("Play",Command.SCREEN, 1);
private Command exit = new Command("Exit",Command.EXIT,2);

int currentPlaying = -1;

//Sound Player object.
static Player bbsounds[];
private Player tonePlayer;

public PlayerMIDlet(){
display = Display.getDisplay(this);
sound_init();
createTonePlayer();
}

protected void startApp() {
String[] elements = ;
lst = new List("Menu", List.IMPLICIT, elements, null);
lst.setCommandListener(this);
lst.addCommand(start);
display.setCurrent(lst);
}

private void reset(){
}

protected void pauseApp() {
try {
if(bbsounds[currentPlaying] != null && bbsounds[currentPlaying].getState() == bbsounds[currentPlaying].STARTED) {
bbsounds[currentPlaying].stop();
} else {
defplayer();
}
}catch(MediaException me) {
reset();
}
}

protected void destroyApp(boolean unconditional) {

lst = null;
try {
defplayer();
}catch(MediaException me)
}

public void commandAction(Command c , Displayable d){
int index = lst.getSelectedIndex();

System.out.println("Playing Sound .....");
if(c == start){
if (index == 0){
sound_play(0);
}
if(index == 1){
sound_play(1);
}
if(index == 2){
playTones();
}
}

if(c == exit){
this.destroyApp(true);
}
}

void defplayer() throws MediaException {
try{

if (bbsounds[currentPlaying] != null) {

if(bbsounds[currentPlaying].getState() == bbsounds[currentPlaying].STARTED) {
bbsounds[currentPlaying].stop();
}
if(bbsounds[currentPlaying].getState() == bbsounds[currentPlaying].PREFETCHED) {
bbsounds[currentPlaying].deallocate();
}
if(bbsounds[currentPlaying].getState() == bbsounds[currentPlaying].REALIZED ||
bbsounds[currentPlaying].getState() == bbsounds[currentPlaying].UNREALIZED) {
bbsounds[currentPlaying].close();
}
}
bbsounds = null;
}catch(Exception e){
}
}

public void sound_init()
{
try
{
bbsounds = new Player[ 3 ];
InputStream in = getClass().getResourceAsStream("airhorn.wav");

try
{
bbsounds[0] = Manager.createPlayer(in, "audio/X-wav");
}catch( Exception e ){
//System.out.println("Exception in Sound Creation ");
}
in = null;

InputStream is = getClass().getResourceAsStream("intro.midi");
try
{
bbsounds[1] = Manager.createPlayer(is, "audio/midi");
is = null;

}catch( Exception e ){
//System.out.println("Exception in Sound Creation ");
}
}catch( Exception e){}
}

public void sound_play(int id)
{
//System.out.println("Playing ID is >>"+id);

sound_stop( currentPlaying );
currentPlaying = id;
try
{
bbsounds[ id ].realize();

System.out.println("Playing Sound...");
bbsounds[ id ].start();

}catch(Exception e){
//System.out.println("Playing Exception");
}
return;
}

public void sound_stop( int id)
{
try{
if(id!=-1){
bbsounds[ id ].deallocate();
bbsounds[ id ].stop();
tonePlayer.stop();
}
}catch(Exception ex){
//System.out.println("Stop Sound Exception ");
}
return;
}

private void createTonePlayer() {
/**
* "Mary Had A Little Lamb" has "ABAC" structure.
* Use block to repeat "A" section.
*/
byte tempo = 30; // set tempo to 120 bpm
byte d = 8; // eighth-note

byte C4 = ToneControl.C4;;
byte D4 = (byte)(C4 + 2); // a whole step
byte E4 = (byte)(C4 + 4); // a major third
byte G4 = (byte)(C4 + 7); // a fifth
byte rest = ToneControl.SILENCE; // rest

byte[] mySequence = {
ToneControl.VERSION, 1, // version 1
ToneControl.TEMPO, tempo, // set tempo
ToneControl.BLOCK_START, 0, // start define "A" section
E4,d, D4,d, C4,d, E4,d, // content of "A" section
E4,d, E4,d, E4,d, rest,d,
ToneControl.BLOCK_END, 0, // end define "A" section
ToneControl.PLAY_BLOCK, 0, // play "A" section
D4,d, D4,d, D4,d, rest,d, // play "B" section
E4,d, G4,d, G4,d, rest,d,
ToneControl.PLAY_BLOCK, 0, // repeat "A" section
D4,d, D4,d, E4,d, D4,d, C4,d // play "C" section
};

try{
tonePlayer = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR);
tonePlayer.realize();
ToneControl c = (ToneControl)tonePlayer.getControl("ToneControl");
c.setSequence(mySequence);

} catch (IOException ioe)
catch (MediaException me)

}
public void playTones() {

if (tonePlayer != null){
try {
System.out.println("Playing Sound...");
tonePlayer.prefetch();
tonePlayer.start();

} catch (MediaException me) {

//System.err.println("Problem starting player");
} // end catch
} // end if
} // end playTone
}

import java.io.*;
import javax.microedition.io.*;
import javax.microedition.lci.*;
import javax.microedition.midlet.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
public class AudioMidlet extends MIDlet
implements CommandListener, Runnable {
private Display mDisplay;
private List main;
Player player=null;
VolumeControl vc;
public void startApp() {
mDisplay = Display.getDisplay(this);
main = new List("AudioMIDlet", List.IMPLICIT);
main.append("music1", null);
main.append("music2", null);
main.append("music3", null);
main.addCommand(new Command("Exit", Command.EXIT, 0));
main.addCommand(new Command("Play", Command.SCREEN, 0));
main.setCommandListener(this);
mDisplay.setCurrent(main);
}

public void pauseApp() {}

public void destroyApp(boolean unconditional) {}

public void commandAction(Command c, Displayable s) {
if (c.getCommandType() == Command.EXIT)
notifyDestroyed();
else {
Form waitForm = new Form("Loading...");
mDisplay.setCurrent(waitForm);
Thread t = new Thread(this);
t.start();
}
}

public void run() {
playFromResource();
}

private void playFromResource() {
try {
int i=main.getSelectedIndex();
InputStream in=null;
switch(i)
{
case 0:
in = getClass().getResourceAsStream("/chimes.wav");
player = Manager.createPlayer(in, "audio/x-wav");
player.start();
break;
case 1:
in = getClass().getResourceAsStream("/chord.wav");
player = Manager.createPlayer(in, "audio/x-wav");
player.start();
break;
case 2:
in = getClass().getResourceAsStream("/music.wav");
player = Manager.createPlayer(in,"audio/x-wav");
player.start();
break;
}
}
catch (Exception e) {
showException(e);
return;
}
mDisplay.setCurrent(main);
}

private void showException(Exception e) {
Alert a = new Alert("Exception", e.toString(), null, null);
a.setTimeout(Alert.FOREVER);
mDisplay.setCurrent(a, main);
}
}

//把上面兩個java文件放在一個包里,我的是在Netbeans里編的,還要屬性里改一下,就是在MIDlet里增加一下
//另外你要播放什麼文件自己加在包里,程序里你也可以適當改一下參數

G. 求…c語言寫的鬥地主源代碼

我是IMTI老師,我讓你們寫的,不是想讓你們只有什麼的代碼,這些代碼沒有半點作用。關鍵是你要能通過寫這個程序的過程,能夠提高自己的解決問題的能力。你要是「漁」而不是「魚」。

H. 求鬥地主java源代碼

為保證咱兩交易成功,我先發送代碼中的一部分

先開啟伺服器監聽 SocketServer ss = new SocketServer(6,8888);埠是8888 最多通 同時訪問6人。
然後ss.start();開啟監聽

然後在New一個Socket
String ip = "127.0.0.1";伺服器的IP
int port = 8888; 伺服器的埠
Socket socket = new Socket(ip,port);
socket.connec();
OutputStream os = socket.getOutputStream();
String message = "要發送的數據";
os.write(message.getBytes());
os.flush();
os.close();
socket.close();

閱讀全文

與web鬥地主源碼相關的資料

熱點內容
極簡歐洲史中文版pdf 瀏覽:908
python顯示變數值 瀏覽:387
副路由器為什麼要關伺服器 瀏覽:575
國家反詐騙app蘋果怎麼設置 瀏覽:464
我的世界如何用指令造伺服器方熊 瀏覽:304
鴨題庫是哪裡的培訓機構app 瀏覽:689
如何對伺服器取證 瀏覽:440
有什麼系統像友價源碼 瀏覽:570
圓柱彈簧壓縮量 瀏覽:811
我的世界國際版為什麼沒法進去伺服器 瀏覽:103
我的世界如何創造一個伺服器地址 瀏覽:837
皮皮蝦app怎麼玩視頻教程 瀏覽:253
python整型轉化字元串 瀏覽:804
android數據共享方式 瀏覽:375
編譯環境控制台 瀏覽:620
寧波欣達壓縮機空氣過濾器價位 瀏覽:665
冪函數的運演算法則總結 瀏覽:138
方舟自己的伺服器怎麼搞藍圖 瀏覽:915
校園網怎麼加密ip 瀏覽:786
kotlin可以編譯雙端嗎 瀏覽:327