《狂扁小朋友》这款游戏由The Behemoth发售,十多年前这款游戏棚孝几乎可以算的上网页flash游戏中的顶尖作品,无论是画面,打斗 *** 作还是玩法放到今天来做和如看,依旧是一款十分令人放松并且能找到乐趣的游戏,虽然只是一款横版的小游戏,但是现在3A级游戏有的内容几乎全能在这里找到缩影,比如和环境交互,《狂暴小朋友》不仅可以拾起路边的物品,当遇到骑着d跳马的小朋友时,给跳跳马两拳不仅能打飞小朋友,还能看到d簧依旧在摇晃;当你看到路边的小朋友们正在打篮球时,你也可以先不直接动手,而是来一场欢快的篮球赛,实在不行就"以德服人"。
《黄金矿工》是一款网页益智小游戏,有多个版本。该游戏中,玩家通过“挖矿”获得积分并不断升级,在规定的时间内得到规定的金钱时即可进入下一关,当游戏中抓取的物品价值超过当前关的目标分值时,超出部分可以累计至下一关。
《新合金d头》<这种游戏类型在国外的小游戏排行榜上一直是冠军,不知道对于各位国人玩家是否感冒,这是该系列的第三作,象素的人物造型确实给人好感,加上灵活的 *** 作和挑战的积分,多少让人爱不释手。
import java.awt.BorderLayoutimport 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 = 0i <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() - 1i >0i--) {
listBody.add(list.get(i))
}
} else {
for (int i = list.size() - 1listBody.size() <snakeBodyi--) {
listBody.add(list.get(i))
}
}
}
}
public boolean makeOut() {
if ((x <3 || y <3) || (x >305 || y >305)) {
return false
}
for (int i = 0i <listBody.size() - 1i++) {
for (int j = i + 1j <listBody.size()j++) {
if (listBody.get(i).equals(listBody.get(j))) {
return false
}
}
}
return true
}
}
/*贪吃蛇代码*/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)