java基础 绘图技术.坦克大战 之java绘图坐标体系(二)

java

    功能:在坐标系上绘制坦克

  1 /*

2 * 功能:坦克游戏的1.0

3 * 1. 画出坦克

4 * */

5 package com.tank;

6

7 import javax.swing.*;

8

9 import java.awt.*;

10 public class demo2 extends JFrame{

11

12 /**

13 * @param args

14 */

15 Mypanel mp =null;

16 public static void main(String[] args) {

17 // TODO Auto-generated method stub

18 demo2 demo2= new demo2();

19 }

20

21 //构造函数

22 public demo2()

23 {

24 mp =new Mypanel();

25

26 this.add(mp);

27 this.setSize(400,300);

28 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

29 this.setVisible(true);

30 }

31

32 }

33

34 //我的面板

35 class Mypanel extends JPanel

36 {

37 //定义一个我的坦克

38 Hero hero =null;

39

40 //构造函数

41 public Mypanel()

42 {

43 hero = new Hero(10,10);

44 }

45

46 //重写paint函数

47 public void paint(Graphics g)

48 {

49 super.paint(g);

50 g.fillRect(0,0,400, 300);

51 this.drawTank(hero.getX(), hero.getY(), g, 0, 1);

52 }

53 //画出坦克的函数

54 public void drawTank(int x,int y,Graphics g,int direct,int type)

55 {

56 //判断是什么类型的坦克(敌人的还是自己的)

57 switch(type)

58 {

59 case 0:

60 g.setColor(Color.cyan);

61 break;

62 case 1:

63 g.setColor(Color.yellow);

64 break;

65 }

66

67 //判断方向

68 switch(direct)

69 {

70 //向上

71 case 0:

72

73 //画出我的坦克(到时再封装成一个函数 )

74 //1. 画出左边的矩形

75 g.fill3DRect(x, y, 5,30,false);

76 //2. 画出右边矩形

77 g.fill3DRect(x+15, y, 5, 30,false);

78 //3. 画出中间矩形

79 g.fill3DRect(x+5, y+5, 10, 20,false);

80 //4. 画出圆形

81 g.fillOval(x+5, y+10, 10, 10);

82 //5. 画出线

83 g.drawLine(x+10, y+15, x+10, y);

84 break;

85 }

86 }

87 }

88

89 //坦克类

90 class Tank

91 {

92 //表示坦克的横坐标

93 int x=0;

94

95 //坦克的从纵坐标

96 int y=0;

97 public int getX() {

98 return x;

99 }

100 public void setX(int x) {

101 this.x = x;

102 }

103 public int getY() {

104 return y;

105 }

106 public void setY(int y) {

107 this.y = y;

108 }

109 public Tank(int x,int y)

110 {

111 this.x=x;

112 this.y=y;

113 }

114 }

115

116 //我的坦克

117 class Hero extends Tank

118 {

119 public Hero(int x,int y)

120 {

121 super(x, y);

122 }

123 }

以上是 java基础 绘图技术.坦克大战 之java绘图坐标体系(二) 的全部内容, 来源链接: utcz.com/z/394522.html

回到顶部