Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2014
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.11 KB | None | 0 0
  1. package com.example.killthemall;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Random;
  6.  
  7. import android.app.Activity;
  8. import android.content.Context;
  9. import android.graphics.Bitmap;
  10. import android.graphics.BitmapFactory;
  11. import android.graphics.Canvas;
  12. import android.graphics.Rect;
  13. import android.os.Bundle;
  14. import android.view.SurfaceHolder;
  15. import android.view.SurfaceView;
  16. import android.widget.Toast;
  17.  
  18. public class Game extends Activity {
  19.  
  20. KhogenView View1;
  21.  
  22. @Override
  23. protected void onPause() {
  24. // TODO Auto-generated method stub
  25. super.onPause();
  26.  
  27. while(true){
  28. try {
  29. OurThread.join();
  30. } catch (InterruptedException e) {
  31. // TODO Auto-generated catch block
  32. e.printStackTrace();
  33. }}
  34.  
  35. }
  36. Thread OurThread;
  37. int herorows = 4;
  38. int herocolumns = 3;
  39. int xpos, ypos;
  40. int xspeed;
  41. int yspeed;
  42. int herowidth;
  43. int widthnumber = 0;
  44. int heroheight;
  45. Rect src;
  46. Rect dst;
  47. int round;
  48. Bitmap bmp1;
  49. // private Bitmap bmp1;//change name
  50. public List<Sprite> sprites = new ArrayList<Sprite>() {
  51. };
  52.  
  53. @Override
  54. protected void onCreate(Bundle savedInstanceState) {
  55. // TODO Auto-generated method stub
  56. super.onCreate(savedInstanceState);
  57.  
  58. View1 = new KhogenView(this);
  59. setContentView(View1);
  60.  
  61.  
  62.  
  63.  
  64. sprites.add(createSprite(R.drawable.image));
  65. sprites.add(createSprite(R.drawable.bad1));
  66.  
  67. sprites.add(createSprite(R.drawable.bad2));
  68. sprites.add(createSprite(R.drawable.bad3));
  69. sprites.add(createSprite(R.drawable.bad4));
  70. sprites.add(createSprite(R.drawable.bad5));
  71. sprites.add(createSprite(R.drawable.bad6));
  72. sprites.add(createSprite(R.drawable.good1));
  73. sprites.add(createSprite(R.drawable.good2));
  74. sprites.add(createSprite(R.drawable.good3));
  75. sprites.add(createSprite(R.drawable.good4));
  76. sprites.add(createSprite(R.drawable.good5));
  77. sprites.add(createSprite(R.drawable.good6));
  78.  
  79.  
  80.  
  81. }
  82.  
  83. private Sprite createSprite(int image) {
  84. // TODO Auto-generated method stub
  85. bmp1 = BitmapFactory.decodeResource(getResources(), image);
  86. return new Sprite(this, bmp1);
  87. }
  88.  
  89. public class KhogenView extends SurfaceView implements Runnable {
  90.  
  91. SurfaceHolder OurHolder;
  92. Canvas canvas = null;
  93.  
  94. Random rnd = new Random();
  95. {
  96. xpos = rnd.nextInt(canvas.getWidth() - herowidth)+herowidth;
  97. ypos = rnd.nextInt(canvas.getHeight() - heroheight)+heroheight;
  98. xspeed = rnd.nextInt(10 - 5) + 5;
  99. yspeed = rnd.nextInt(10 - 5) + 5;
  100. }
  101.  
  102. public KhogenView(Context context) {
  103. super(context);
  104. // TODO Auto-generated constructor stub
  105. OurHolder = getHolder();
  106.  
  107. OurThread = new Thread(this);
  108. OurThread.start();
  109.  
  110. }
  111.  
  112. @Override
  113. public void run() {
  114. // TODO Auto-generated method stub
  115.  
  116.  
  117. herowidth = bmp1.getWidth() / 3;
  118. heroheight = bmp1.getHeight() / 4;
  119.  
  120. boolean isRunning = true;
  121. while (isRunning) {
  122. if (!OurHolder.getSurface().isValid())
  123. continue;
  124.  
  125. canvas = OurHolder.lockCanvas();
  126. canvas.drawRGB(02, 02, 50);
  127.  
  128. for (Sprite sprite : sprites) {
  129.  
  130. if (widthnumber == 3)
  131. widthnumber = 0;
  132. update();
  133. getdirection();
  134. src = new Rect(widthnumber * herowidth, round * heroheight,
  135. (widthnumber + 1) * herowidth, (round + 1)* heroheight);
  136.  
  137. dst = new Rect(xpos, ypos, xpos + herowidth, ypos+ heroheight);
  138.  
  139.  
  140. canvas.drawBitmap(bmp1, src, dst, null);
  141.  
  142. }
  143.  
  144. widthnumber++;
  145. OurHolder.unlockCanvasAndPost(canvas);
  146.  
  147. }
  148. }
  149.  
  150. public void update() {
  151. try {
  152. Thread.sleep(1000);
  153. } catch (InterruptedException e) {
  154. // TODO Auto-generated catch block
  155. e.printStackTrace();
  156. }
  157.  
  158. if (xpos + xspeed <= 0)
  159. xspeed = 40;
  160. if (xpos >= canvas.getWidth() - herowidth)
  161. xspeed = -50;
  162. if (ypos + yspeed <= 0)
  163. yspeed = 45;
  164. if (ypos >= canvas.getHeight() - heroheight)
  165. yspeed = -55;
  166.  
  167. xpos = xpos + xspeed;
  168. ypos = ypos + yspeed;
  169.  
  170. }
  171.  
  172. public void getdirection() {
  173.  
  174. double angleinteger = (Math.atan2(yspeed, xspeed)) / (Math.PI / 2);
  175. round = (int) (Math.round(angleinteger) + 2) % herorows;
  176. // Toast.makeText(this, String.valueOf(round),
  177. // Toast.LENGTH_LONG).show();
  178. }
  179.  
  180. }
  181.  
  182. public class Sprite {
  183.  
  184. Game game;
  185. private Bitmap bmp;
  186.  
  187. public Sprite(Game game, Bitmap bmp) {
  188. // TODO Auto-generated constructor stub
  189. this.game = game;
  190. this.bmp = bmp;
  191.  
  192.  
  193. }
  194.  
  195. }
  196.  
  197. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement