『壹』 java觸屏鬥地主單機免費版
江湖鬥地主 這個還能聽聲音 我在久愛游戲下載的
『貳』 Java基礎實現鬥地主 那個叫幾分怎麼實現
這是一個java實現的鬥地主,發牌結果的程序,實現3個人十三張牌,然後底牌3張。
*/
import java.util.Arrays;
public class pokerDemo{
public static void main(String[] args) {
/*生成一副牌的數字,簡稱牌庫*/
int[]pkCode=new int[54];
for(int i=0;i<54;i++){
pkCode[i]=i;
}
『叄』 java如何寫鬥地主,只有發牌,出牌動作即可
可以採用JLabel控制項,然後把控制項顯示為相應的圖片,設一個結構體,保存各個圖片控制項的坐標,滑鼠點擊後,改變相應的圖片控制項的坐標,然後弄一個結構體數組儲存整個牌組的的紙牌信息,調用一個封裝好的顯示函數,來更新一整個牌組。不知道能不能對單個牌進行滑鼠響應,不過我沒有想出來要怎麼實現,只好每次改變都把整個牌組重繪一下。
『肆』 用java web小游戲源代碼。期末結課老師讓做,急用,謝了
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
@SuppressWarnings("serial")
public class MainClass extends JFrame {
ControlSnake control;
Toolkit kit;
Dimension dimen;
public static void main(String[] args) {
new MainClass("my snake");
}
public MainClass(String s) {
super(s);
control = new ControlSnake();
control.setFocusable(true);
kit = Toolkit.getDefaultToolkit();
dimen = kit.getScreenSize();
add(control);
setLayout(new BorderLayout());
setLocation(dimen.width / 3, dimen.height / 3);// dimen.width/3,dimen.height/3
setSize(FWIDTH, FHEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
}
public static final int FWIDTH = 315;
public static final int FHEIGHT = 380;
}
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.Timer;
@SuppressWarnings("serial")
public class ControlSnake extends JPanel implements ActionListener {
Random rand;
ArrayList<Point> list, listBody;
String str, str1;
static boolean key;
int x, y, dx, dy, fx, fy, flag;
int snakeBody;
int speed;
public ControlSnake() {
snakeBody = 1;
str = "上下左右方向鍵控制 P鍵暫停...";
str1 = "現在的長度為:" + snakeBody;
key = true;
flag = 1;
speed = 700;
rand = new Random();
list = new ArrayList<Point>();
listBody = new ArrayList<Point>();
x = 5;
y = 5;
list.add(new Point(x, y));
listBody.add(list.get(0));
dx = 10;
dy = 0;
fx = rand.nextInt(30) * 10 + 5;// 2
fy = rand.nextInt(30) * 10 + 5;// 2
setBackground(Color.BLACK);
setSize(new Dimension(318, 380));
final Timer time = new Timer(speed, this);
time.start();
addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == 37) {
dx = -10;
dy = 0;
} else if (e.getKeyCode() == 38) {
dx = 0;
dy = -10;
} else if (e.getKeyCode() == 39) {
dx = 10;
dy = 0;
} else if (e.getKeyCode() == 40) {
dx = 0;
dy = 10;
} else if (e.getKeyCode() == 80) {
if (flag % 2 == 1) {
time.stop();
}
if (flag % 2 == 0) {
time.start();
}
flag++;
}
}
});
}
public void paint(Graphics g) {
g.setColor(Color.WHITE);
g.fillRect(0, 0, 400, 400);
g.setColor(Color.DARK_GRAY);
g.drawLine(3, 3, 305, 3);
g.drawLine(3, 3, 3, 305);
g.drawLine(305, 3, 305, 305);
g.drawLine(3, 305, 305, 305);
g.setColor(Color.PINK);
for (int i = 0; i < listBody.size(); i++) {
g.fillRect(listBody.get(i).x, listBody.get(i).y, 9, 9);
}
g.fillRect(x, y, 9, 9);
g.setColor(Color.ORANGE);
g.fillRect(fx, fy, 9, 9);
g.setColor(Color.DARK_GRAY);
str1 = "現在的長度為:" + snakeBody;
g.drawString(str, 10, 320);
g.drawString(str1, 10, 335);
}
public void actionPerformed(ActionEvent e) {
x += dx;
y += dy;
if (makeOut() == false) {
JOptionPane.showMessageDialog(null, "重新開始......");
speed = 700;
snakeBody = 1;
x = 5;
y = 5;
list.clear();
list.add(new Point(x, y));
listBody.clear();
listBody.add(list.get(0));
dx = 10;
dy = 0;
}
addPoint(x, y);
if (x == fx && y == fy) {
speed = (int) (speed * 0.8);//速度增加參數
if (speed < 200) {
speed = 100;
}
fx = rand.nextInt(30) * 10 + 5;// 2
fy = rand.nextInt(30) * 10 + 5;// 2
snakeBody++;// 2
} // 2
repaint();
}
public void addPoint(int xx, int yy) {
// 動態的記錄最新發生的50步以內的移動過的坐標
// 並畫出最新的snakeBody
if (list.size() < 100) {//蛇身長度最長為100
list.add(new Point(xx, yy));
} else {
list.remove(0);
list.add(new Point(xx, yy));
}
if (snakeBody == 1) {
listBody.remove(0);
listBody.add(0, list.get(list.size() - 1));
} else {
listBody.clear();
if (list.size() < snakeBody) {
for (int i = list.size() - 1; i > 0; i--) {
listBody.add(list.get(i));
}
} else {
for (int i = list.size() - 1; listBody.size() < snakeBody; i--) {
listBody.add(list.get(i));
}
}
}
}
public boolean makeOut() {
if ((x < 3 || y < 3) || (x > 305 || y > 305)) {
return false;
}
for (int i = 0; i < listBody.size() - 1; i++) {
for (int j = i + 1; j < listBody.size(); j++) {
if (listBody.get(i).equals(listBody.get(j))) {
return false;
}
}
}
return true;
}
}
/*貪吃蛇代碼*/
『伍』 簡易c++鬥地主源碼,簡單的鬥地主不需要ui,只要能發牌,隨機決定地主,把牌按大小順序排列
#include <time.h>
#include <iostream>
#include <string>
#include <vector>
enum em_CardClass_t
{
_CC_hearts = 0, // 紅桃
_CC_Spade, // 黑桃
_CC_Clubs, // 梅花
_CC_Diamonds, // 方塊
_CC_King // 大小王
};
struct st_Card_t
{
em_CardClass_t _emCardClass;
UINT _uCardIndex; // _emCardClass為_CC_King時,有效取值[1,2]
// _emCardClass非_CC_King時,有效取值[1,13]
};
using namespace std;
void InitCard(vector<st_Card_t>& vtCard)
{
st_Card_t card;
for( UINT i=0; i<_CC_King; i++ )
{
card._emCardClass = (em_CardClass_t)i;
for( UINT j=1; j<14; j++ )
{
card._uCardIndex = j;
vtCard.push_back(card);
}
}
card._emCardClass = _CC_King;
card._uCardIndex = 1;
vtCard.push_back(card);
card._uCardIndex = 2;
vtCard.push_back(card);
}
// 分牌
void DealCard(vector<st_Card_t>& vtCard, vector<st_Card_t>& vtPlayer1,
vector<st_Card_t>& vtPlayer2, vector<st_Card_t>& vtPlayer3)
{
srand( (unsigned)time( NULL ) );
for( int i = 0; i < 51; i++ )
{
int iCard = rand() % vtCard.size();
switch( i % 3 )
{
case 0:
vtPlayer1.push_back(vtCard[iCard]);
break;
case 1:
vtPlayer2.push_back(vtCard[iCard]);
break;
default:
vtPlayer3.push_back(vtCard[iCard]);
break;
}
if( iCard != vtCard.size()-1 )
{
vtCard[iCard] = vtCard[vtCard.size()-1];
}
vtCard.pop_back();
}
}
// 叫牌
int Bid(vector<st_Card_t>& vtCard, vector<st_Card_t>& vtPlayer1,
vector<st_Card_t>& vtPlayer2, vector<st_Card_t>& vtPlayer3)
{
srand( (unsigned)time( NULL ) );
int iBider = rand() % 3; // 叫牌者,也就是地主
vector<st_Card_t>* pPlayer = NULL;
switch( iBider )
{
case 0:
pPlayer = &vtPlayer1;
break;
case 1:
pPlayer = &vtPlayer2;
break;
default:
pPlayer = &vtPlayer3;
break;
}
for( UINT i = 0; i < vtCard.size(); i++ )
{
pPlayer->push_back(vtCard[i]);
}
return iBider;
}
// 整牌(按紅桃、黑桃、梅花、方塊、小大王的花色順序整理,同一花色再按從小到大的順序整理)
void SortCard(vector<st_Card_t>& vtPlayer)
{
st_Card_t tmp;
for( UINT i=0; i<vtPlayer.size()-1; i++ )
{
for( UINT j=i+1; j<vtPlayer.size(); j++ )
{
if( vtPlayer[i]._emCardClass < vtPlayer[j]._emCardClass )
{
continue;
}
if( vtPlayer[i]._emCardClass == vtPlayer[j]._emCardClass &&
vtPlayer[i]._uCardIndex < vtPlayer[j]._uCardIndex )
{
continue;
}
tmp = vtPlayer[i];
vtPlayer[i] = vtPlayer[j];
vtPlayer[j] = tmp;
}
}
}
void PrintPlayerCard(const string& sPlayerName,
const vector<st_Card_t>& vtPlayer)
{
cout << sPlayerName << " cards:" << endl;
for( UINT i=0; i< vtPlayer.size(); i++ )
{
switch( vtPlayer[i]._emCardClass )
{
case _CC_hearts:
cout << "紅桃";
break;
case _CC_Spade:
cout << "黑桃";
break;
case _CC_Clubs:
cout << "梅花";
break;
case _CC_Diamonds:
cout << "方塊";
break;
default:
cout << "King";
break;
}
cout << vtPlayer[i]._uCardIndex<< " ";
}
cout << endl << endl;
}
void main()
{
vector<st_Card_t> vtCard;
vector<st_Card_t> vtPlayer1;
vector<st_Card_t> vtPlayer2;
vector<st_Card_t> vtPlayer3;
InitCard(vtCard);
DealCard(vtCard, vtPlayer1, vtPlayer2, vtPlayer3);
int iBider = Bid(vtCard, vtPlayer1, vtPlayer2, vtPlayer3);
SortCard(vtPlayer1);
SortCard(vtPlayer2);
SortCard(vtPlayer3);
PrintPlayerCard("Player1", vtPlayer1);
PrintPlayerCard("Player2", vtPlayer2);
PrintPlayerCard("Player3", vtPlayer3);
cout <<"地主是Player"<< iBider+1 << endl << endl;
}
『陸』 用JAVA編寫單機版鬥地主需要哪些知識
一些使用熟悉的開發工具,如:JCreator的3.5 / JCreator的4.0或4.1的Eclipse / MyEclipse的5.1,所以我認為這是比較容易使用MyElicpse 5.0從一開始到深入研究可以用來給他。網站發展有限公司下旬或Dreamweaver中可以使用的工具,如NetBeans開發援助MyElicpse快捷,方便 - 首先學會學習的基礎知識,了解JAVA編程 - 理解 - 面向對象的設計理念有限公司學習JAVA的GUI部分小例子培育的Java應用程序開發俗話說興趣:興趣是最好的老師
JAVA是比較流行的網站的發展可以下載一些相關的書籍
看到一些好的例子,如果你想學習專用的話學習Java可以為你帶來很多的樂趣,適合初學者的JAVA
我也是新來的Web開發,但很快我發現非常有趣的JAVA哦
希望你能找到的最好的方式..祝你...
:學業成功....
『柒』 我在網路上下載了一些java游戲源碼,擴展名是jar格式,請問怎麼打開
你把它直接扔到手機里就行了。
第一步:於手機的數據線連接(讀卡器也行)
第二補:把JAVA游戲扔到手機里
第三步:打開手機,安裝,
第四步:你可以玩了
『捌』 java鬥地主發牌程序
DeckOfCards()構造函數裡面,注釋掉的
//deck[count]=new Card(faces[count%13],suits[count/13]);
是對的,下面那行除17是錯的
另外,沒有把大小王賦值到數組里
最後main函數里,列印方法錯了。應該為,原本少了一個%-20s
System.out.printf("%-20s%-20s%-20s\n", myDeckOfCards.dealCard(), myDeckOfCards.dealCard(), myDeckOfCards.dealCard());
發牌完成以後剩下的3張牌就是保留的底牌
『玖』 求java小游戲源代碼
[最佳答案] 連連看java源代碼 import javax.swing.*; import java.awt.*; import java.awt.event.*; pu... int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位...
『拾』 JAVA鬥地主如何實現發牌和出牌功能
用隨機的方式生成54張牌(即數字或者其他方式),按順時針方向,依次給每個人一個數字。直到剩最後三張。
出牌:先判斷出牌方選中的牌是否符合規則。是的話。則該人的數值列表中去掉相應的牌。桌面上顯示它出示的牌。出完牌還得判斷游戲是否結束。如果他的牌下完了。游戲就結束了