真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java吃豆人代碼思路,吃豆人編程怎么做

求個簡單點(diǎn)的Java程序 100行左右。 需要解釋。

貪吃蛇游戲 望采納

創(chuàng)新互聯(lián)成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元左云做網(wǎng)站,已為上家服務(wù),為左云各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

import java.awt.Button;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.Point;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.util.*;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

public class Snake extends JFrame implements KeyListener{

int Count=0;

Button[][] grid = new Button[20][20];

ArrayListPoint snake_list=new ArrayListPoint();

Point bean=new Point(-1,-1);//保存隨機(jī)豆子【坐標(biāo)】

int Direction = 1; //方向標(biāo)志 1:上 2:下 3:左 4:右

//構(gòu)造方法

public Snake()

{

//窗體初始化

this.setBounds(400,300,390,395);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

GridLayout f=new GridLayout(20,20);

this.getContentPane().setBackground(Color.gray);

this.setLayout(f);

//初始化20*20個按鈕

for(int i=0;i20;i++)

for(int j=0;j20;j++)

{

grid[i][j]=new Button();

this.add(grid[i][j]);

grid[i][j].setVisible(false);

grid[i][j].addKeyListener(this);

grid[i][j].setBackground(Color.blue);

}

//蛇體初始化

grid[10][10].setVisible(true);

grid[11][10].setVisible(true);

grid[12][10].setVisible(true);

grid[13][10].setVisible(true);

grid[14][10].setVisible(true);

//在動態(tài)數(shù)組中保存蛇體按鈕坐標(biāo)【行列】信息

snake_list.add(new Point(10,10));

snake_list.add(new Point(11,10));

snake_list.add(new Point(12,10));

snake_list.add(new Point(13,10));

snake_list.add(new Point(14,10));

this.rand_bean();

this.setTitle("總分:0");

this.setVisible(true);

}

//該方法隨機(jī)一個豆子,且不在蛇體上,并使豆子可見

public void rand_bean(){

Random rd=new Random();

do{

bean.x=rd.nextInt(20);//行

bean.y=rd.nextInt(20);//列

}while(snake_list.contains(bean));

grid[bean.x][bean.y].setVisible(true);

grid[bean.x][bean.y].setBackground(Color.red);

}

//判斷擬增蛇頭是否與自身有碰撞

public boolean is_cross(Point p){

boolean Flag=false;

for(int i=0;isnake_list.size();i++){

if(p.equals(snake_list.get(i) )){

Flag=true;break;

}

}

return Flag;

}

//判斷蛇即將前進(jìn)位置是否有豆子,有返回true,無返回false

public boolean isHaveBean(){

boolean Flag=false;

int x=snake_list.get(0).x;

int y=snake_list.get(0).y;

Point p=null;

if(Direction==1)p=new Point(x-1,y);

if(Direction==2)p=new Point(x+1,y);

if(Direction==3)p=new Point(x,y-1);

if(Direction==4)p=new Point(x,y+1);

if(bean.equals(p))Flag=true;

return Flag;

}

//前進(jìn)一格

public void snake_move(){

if(isHaveBean()==true){//////////////有豆子吃

Point p=new Point(bean.x,bean.y);//【很重要,保證吃掉的是豆子的復(fù)制對象】

snake_list.add(0,p); //吃豆子

grid[p.x][p.y].setBackground(Color.blue);

this.Count++;

this.setTitle("總分:"+Count);

this.rand_bean(); //再產(chǎn)生一個豆子

}else{///////////////////無豆子吃

//取原蛇頭坐標(biāo)

int x=snake_list.get(0).x;

int y=snake_list.get(0).y;

//根據(jù)蛇頭坐標(biāo)推算出擬新增蛇頭坐標(biāo)

Point p=null;

if(Direction==1)p=new Point(x-1,y);//計(jì)算出向上的新坐標(biāo)

if(Direction==2)p=new Point(x+1,y);//計(jì)算出向下的新坐標(biāo)

if(Direction==3)p=new Point(x,y-1);//計(jì)算出向左的新坐標(biāo)

if(Direction==4)p=new Point(x,y+1);//計(jì)算出向右的新坐標(biāo)

//若擬新增蛇頭碰壁,或纏繞則游戲結(jié)束

if(p.x0||p.x19|| p.y0||p.y19||is_cross(p)==true){

JOptionPane.showMessageDialog(null, "游戲結(jié)束!");

System.exit(0);

}

//向蛇體增加新的蛇頭坐標(biāo),并使新蛇頭可見

snake_list.add(0,p);

grid[p.x][p.y].setVisible(true);

//刪除原蛇尾坐標(biāo),使蛇尾不可見

int x1=snake_list.get(snake_list.size()-1).x;

int y1=snake_list.get(snake_list.size()-1).y;

grid[x1][y1].setVisible(false);

snake_list.remove(snake_list.size()-1);

}

}

@Override

public void keyPressed(KeyEvent e) {

if(e.getKeyCode()==KeyEvent.VK_UP Direction!=2) Direction=1;

if(e.getKeyCode()==KeyEvent.VK_DOWN Direction!=1) Direction=2;

if(e.getKeyCode()==KeyEvent.VK_LEFT Direction!=4) Direction=3;

if(e.getKeyCode()==KeyEvent.VK_RIGHT Direction!=3) Direction=4;

}

@Override

public void keyReleased(KeyEvent e) { }

@Override

public void keyTyped(KeyEvent e) { }

public static void main(String[] args) throws InterruptedException {

Snake win=new Snake();

while(true){

win.snake_move();

Thread.sleep(300);

}

}

}

Java集合框架2

根據(jù)你上面的提示和程序里的要求,修改了Database,新增了衣服的方法。每次計(jì)算的價(jià)格可以寫成共通方法。希望其他人有好的建議也發(fā)上來。

import java.util.HashMap;

import java.util.Map;

public class Database {

private MapInteger, McBean data = new HashMapInteger, McBean();

public Database(){

McBean bean = new McBean();

bean.setNid(1);

bean.setSname("地瓜");

bean.setNprice(2.0);

bean.setSdescription("新鮮的地瓜");

data.put(1, bean);

bean = new McBean();

bean.setNid(2);

bean.setSname("土豆");

bean.setNprice(1.2);

bean.setSdescription("又好又大的土豆");

data.put(2, bean);

bean = new McBean();

bean.setNid(3);

bean.setSname("絲瓜");

bean.setNprice(1.5);

bean.setSdescription("本地絲瓜");

data.put(3, bean);

bean = new McBean();

bean.setNid(4);

bean.setSname("衣服");

bean.setNprice(30);

bean.setSdescription("衣服");

data.put(4, bean);

}

public McBean getMcBean(int nid){

return data.get(nid);

}

}

public class McBean {

private Integer nid; //商品編號

private String sname; //名稱

private double nprice; //價(jià)格

private String sdescription; //描述

public Integer getNid() {

return nid;

}

public void setNid(Integer nid) {

this.nid = nid;

}

public String getSname() {

return sname;

}

public void setSname(String sname) {

this.sname = sname;

}

public double getNprice() {

return nprice;

}

public void setNprice(double nprice) {

this.nprice = nprice;

}

public String getSdescription() {

return sdescription;

}

public void setSdescription(String sdescription) {

this.sdescription = sdescription;

}

}

public class OrderItemBean {

private McBean mcbean; //商品

private int count; //商品數(shù)量

public McBean getMcbean() {

return mcbean;

}

public void setMcbean(McBean mcbean) {

this.mcbean = mcbean;

}

public int getCount() {

return count;

}

public void setCount(int count) {

this.count = count;

}

}

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class ShoppingCar {

private double totalPrice; //購物車所有商品總價(jià)格

private int totalCount; //購物車所有商品數(shù)量

private MapInteger,OrderItemBean itemMap; //商品編號與訂單項(xiàng)的鍵值對

public ShoppingCar(){

//初始化購物車

itemMap = new HashMapInteger, OrderItemBean();

Database db = new Database();

McBean bean = new McBean();

OrderItemBean orderItem1 = new OrderItemBean();

OrderItemBean orderItem2 = new OrderItemBean();

OrderItemBean orderItem3 = new OrderItemBean();

bean = db.getMcBean(1);

orderItem1.setMcbean(bean);

orderItem1.setCount(2);

bean = db.getMcBean(2);

orderItem2.setMcbean(bean);

orderItem2.setCount(5);

bean = db.getMcBean(4);

orderItem3.setMcbean(bean);

orderItem3.setCount(3);

itemMap.put(1, orderItem1);

itemMap.put(2, orderItem2);

itemMap.put(4, orderItem3);

totalCount = itemMap.size();

totalPrice = 0;

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();

}

}

public void buy(int nid){

//如果該商品是第一次購買,商品的信息從數(shù)據(jù)庫獲取,數(shù)據(jù)庫的模擬代

//碼見附錄。itemMap增加一對鍵值對。

//如果不是第一次購買,則通過商品編號找到對應(yīng)的定單項(xiàng),然后更新定

//單項(xiàng)的商品數(shù)量。

//不管是否第一次購買,都得更新購物車的總價(jià)格和總數(shù)量。

Database db = new Database();

McBean mcBean = new McBean();

OrderItemBean orderItem = new OrderItemBean();

if(itemMap.get(nid) == null) {

mcBean = db.getMcBean(nid);

orderItem.setMcbean(mcBean);

orderItem.setCount(1);

itemMap.put(nid, orderItem);

} else {

orderItem = itemMap.get(nid);

orderItem.setCount(orderItem.getCount() + 1);

}

totalCount = itemMap.size();

totalPrice = 0;

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();

}

}

public void delete(int nid){

//通過商品編號刪除的對應(yīng)的定單項(xiàng),然后從更新購物車的總價(jià)格和總數(shù)量。

itemMap.remove(nid);

totalCount = itemMap.size();

totalPrice = 0;

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();

}

}

public void update(int nid, int count){

///通過商品編號找到對應(yīng)的對應(yīng)的定單項(xiàng),修改商品數(shù)量。然后從更新購物車的總價(jià)格和總數(shù)量。

OrderItemBean orderItem = new OrderItemBean();

orderItem = itemMap.get(nid);

orderItem.setCount(count);

totalCount = itemMap.size();

totalPrice = 0;

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

totalPrice += entry1.getValue().getCount() * entry1.getValue().getMcbean().getNprice();

}

}

public void clear(){

//清空定單項(xiàng),購物車的總價(jià)格和總數(shù)量清零。

itemMap.clear();

totalCount = 0;

totalPrice = 0;

}

public void show(){

//顯示購物車的商品,格式如下:

//商品編號 商品名稱 單價(jià) 購買數(shù)量 總價(jià)

//1 地瓜 2.0 2 4.0

//2 衣服 30 5 150

//…

//合計(jì):總數(shù)量:5 總價(jià)格:20元

System.out.println("商品編號" + " " + "商品名稱" + " " + "單價(jià)" + " " + "購買數(shù)量" + " " + "總價(jià)" );

Set set = itemMap.entrySet();

Iterator i = set.iterator();

while(i.hasNext()){

Map.EntryInteger, OrderItemBean entry1=(Map.EntryInteger, OrderItemBean)i.next();

int nid = entry1.getKey();

String name = entry1.getValue().getMcbean().getSname();

double price = entry1.getValue().getMcbean().getNprice();

int count = entry1.getValue().getCount();

double totalprice = price * count;

System.out.println(nid + " "+ name + " " + price + " " + count + " " + totalprice);

}

System.out.println("合計(jì):總數(shù)量:" + totalCount + " 總價(jià)格:" + totalPrice+ "元");

}

public static void main(String[] args) {

ShoppingCar shoppingCar = new ShoppingCar();

shoppingCar.show();

System.out.println("--------------------------------");

shoppingCar.buy(3);

shoppingCar.show();

System.out.println("--------------------------------");

shoppingCar.update(4, 2);

shoppingCar.show();

System.out.println("--------------------------------");

shoppingCar.delete(2);

shoppingCar.show();

System.out.println("--------------------------------");

shoppingCar.clear();

shoppingCar.show();

}

}

運(yùn)行結(jié)果:

商品編號 商品名稱 單價(jià) 購買數(shù)量 總價(jià)

1 地瓜 2.0 2 4.0

2 土豆 1.2 5 6.0

4 衣服 30.0 3 90.0

合計(jì):總數(shù)量:3 總價(jià)格:100.0元

--------------------------------

商品編號 商品名稱 單價(jià) 購買數(shù)量 總價(jià)

1 地瓜 2.0 2 4.0

2 土豆 1.2 5 6.0

3 絲瓜 1.5 1 1.5

4 衣服 30.0 3 90.0

合計(jì):總數(shù)量:4 總價(jià)格:101.5元

--------------------------------

商品編號 商品名稱 單價(jià) 購買數(shù)量 總價(jià)

1 地瓜 2.0 2 4.0

2 土豆 1.2 5 6.0

3 絲瓜 1.5 1 1.5

4 衣服 30.0 2 60.0

合計(jì):總數(shù)量:4 總價(jià)格:71.5元

--------------------------------

商品編號 商品名稱 單價(jià) 購買數(shù)量 總價(jià)

1 地瓜 2.0 2 4.0

3 絲瓜 1.5 1 1.5

4 衣服 30.0 2 60.0

合計(jì):總數(shù)量:3 總價(jià)格:65.5元

--------------------------------

商品編號 商品名稱 單價(jià) 購買數(shù)量 總價(jià)

合計(jì):總數(shù)量:0 總價(jià)格:0.0元

網(wǎng)上下載的JAVA代碼怎么用

根據(jù)你的描述,eat應(yīng)該是一個工作空間的文件夾(.metadata是工作空間的配置文件),而那個EAT就是吃豆子的項(xiàng)目,用Eclipse的話,設(shè)置工作空間到????\eat就可以了.

一種是在打開的時候詢問工作空間路徑,輸入你的eat文件夾的絕對路徑就可以.

另一種是在Eclipse中,選文件(File) - 切換工作空間(Switch Workspace) 然后輸入eat文件夾的絕對路徑.

常理來講,這樣就能看到源代碼了,至于運(yùn)行,你需要找到這些源代碼中的main方法,你可以在左側(cè)的"包資源管理器(Package)"中找到EAT項(xiàng)目,在上面點(diǎn)擊鼠標(biāo)右鍵,點(diǎn)擊運(yùn)行方式(Run As), 選擇運(yùn)行的方式,不知道你的程序是Applet, 還是Application, 試一下吧,應(yīng)該就可以運(yùn)行起來了.

JAVA 學(xué)習(xí)多長時間能做出像貪吃蛇這樣的小程序

看你是自己學(xué), 還是出去培訓(xùn), 要是培訓(xùn)的話, 時間稍微長一點(diǎn)兒, 我說一下需要的知識吧, 時間根據(jù)各人對知識的接受能力而定:

首先需要的是Java基礎(chǔ)

然后要弄明白面向?qū)ο蟮乃枷? 因?yàn)橐粋€類也能做出來, 但是看著非常不好看, 而且不容易維護(hù).

再就是學(xué)集合類, 貪食蛇用集合類來保存(比如鏈表)比較快, 操作起來也比較容易.

之后就是Java圖形界面, AWT 和Swing 都可, 要會用JFrame的 paint方法, 不要用按鈕組來模擬蛇的樣子, 最好是用畫筆畫出來.

最后就是多線程了, 這個尤為重要, 因?yàn)樨澥成咝枰獌蓚€線程來進(jìn)行運(yùn)行, 主要的難度就體現(xiàn)在多線程的控制上, 轉(zhuǎn)向控制啊, 吃豆變長啊, 移動速度啊, 等等

大概就這些吧, ^_^, 祝你成功

java.awt.event.ActionListenerin javax.swing.AbstractButton cannot be applied to (GoodWindow)

C:\Mywindow.java:48: 無法將 javax.swing.AbstractButton 中的 addActionListener(java.awt.event.ActionListener) 應(yīng)用于 (GoodWindow)

button.addActionListener(this);

^

1 錯誤

有哪些經(jīng)典java游戲

俄羅斯方塊(Tetris)是經(jīng)典的益智游戲,幾乎是世界上最有影響力的益智游戲之一,游戲本身也很簡單,只要不斷消減掉落的方塊就可以了。這個游戲被模仿了很多個版本,我這里的是EA出的瘋狂俄羅斯方塊(Tetris

Mania)。

超級泡泡龍(Super Bubble

Bobble)是Taito公司開發(fā)的游戲,主角是兩只綠色和藍(lán)色的小恐龍,通過吐出泡泡來消減屏幕上的彩球,游戲本身簡單易學(xué)、妙趣橫生,女孩子玩起來會上癮的。

超級馬里奧(Super Mario

Bros)是任天堂公司開發(fā)的著名橫版過關(guān)游戲,是電子游戲歷史上銷量最大的系列游戲之一,早在任天堂的紅白機(jī)時代就名聲在外了,這個游戲幾乎移植到了所有的任天堂游戲機(jī),也包括電腦和手機(jī)。

吃豆(Pac-Man)是Namco公司開發(fā)的一個經(jīng)典游戲,玩家控制游戲的主人公黃色小精靈吃掉藏在迷宮內(nèi)所有的豆子,并且不能被“幽靈”抓到。

貪吃蛇(Retro

Snaker)是諾基亞手機(jī)上的一個元老級游戲,這個游戲短小精悍,很具可玩性,特別適合在手機(jī)上玩。據(jù)稱,已經(jīng)有超過十億人玩過這個游戲。

鉆石情迷(Bejeweled)是一個很好玩的益智游戲,有點(diǎn)像“對對碰”,游戲規(guī)則很簡單,移動相鄰的兩個鉆石,使任一排產(chǎn)生有三個或以上的相同鉆石,即消去,上面的鉆石靠重力落下。

祖瑪(Zuma)是一款休閑益智游戲,玩法很像QQ龍珠,將中間吐出來的珠子向著周圍連環(huán)滾出的同色珠子射打,夠三個就能炸裂消除,簡單有趣。

炸彈人(Bomberman)是Hudson公司開發(fā)的一款基于迷宮的游戲,游戲主角炸彈人是一個機(jī)器人,基本操作是放置炸彈,以十字型的方式爆炸,來炸死敵人,也可以炸死自己,還有些增強(qiáng)威力與技能道具增加了游戲的可玩性。

波斯王子(Prince of

Persia)是上世紀(jì)九十年代的一個經(jīng)典游戲,我以前在DOS上玩過的最早的游戲之一,可惜游戲續(xù)集一代不如一代,Gameloft將波斯王子一代進(jìn)行了重新開發(fā)制作,命名為Prince

of Persia Classic,并支持手機(jī),其在手機(jī)上的效果很不錯。

模擬人生(The Sims)是Electronic

Arts開發(fā)的一款以模擬普通人生活為主題的游戲,玩家可以操控模擬人物進(jìn)行日常生活、社區(qū)交流以及建造房屋。在一個模擬的世界中,仿造真實(shí)的情境,控制生理和精神的需求。手機(jī)版的模擬人生簡化了原始電腦游戲的一些因素,使得其可以在手機(jī)上方便的操作。


新聞標(biāo)題:java吃豆人代碼思路,吃豆人編程怎么做
當(dāng)前路徑:http://weahome.cn/article/heodgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部