Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. package pelgrom.laurens.snake101.engine;
  2.  
  3. import android.service.quicksettings.Tile;
  4.  
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.Map;
  8.  
  9. import pelgrom.laurens.snake101.Classes.Coordinate;
  10. import pelgrom.laurens.snake101.enums.TileType;
  11.  
  12. /**
  13. * Created by Laptop on 23-1-2017.
  14. */
  15.  
  16. public class GameEngine {
  17. public static final int GameWidth = 28;
  18. public static final int Gameheight = 42;
  19.  
  20. private List<Coordinate> walls = new ArrayList<>();
  21.  
  22.  
  23. public GameEngine() {
  24.  
  25. }
  26.  
  27. public void initGame(){
  28.  
  29. AddWalls();
  30.  
  31. }
  32.  
  33. public TileType()() getMap() {
  34. TileType()() map = new TileType(GameWidth) (Gameheight);
  35.  
  36. for (int x = 0; x < GameWidth; x++) {
  37. for (int y = 0; y < Gameheight; y++) {
  38. map(X)(Y) = TileType.Nothing;
  39. }
  40. }
  41.  
  42. for (Coordinate wall: walls) {
  43. map(wall.getX())(wall.getY()) = TileType.Wall;
  44. }
  45.  
  46. return map;
  47.  
  48.  
  49. }
  50. //fout zit hem in de "map" en de "getMap"
  51.  
  52.  
  53.  
  54.  
  55. private void AddWalls() {
  56. //Top and bottom walls
  57. for (int x = 0; x < GameWidth; x ++) {
  58. walls.add(new Coordinate(x,0));
  59. walls.add(new Coordinate(x,Gameheight-1));
  60. }
  61.  
  62. //Left and Right walls
  63. for (int y = 1; y < Gameheight; y++){
  64. walls.add(new Coordinate(0,y));
  65. walls.add (new Coordinate(GameWidth -1 , y));
  66.  
  67. }
  68.  
  69. }
  70. }
  71. `
  72.  
  73. `package pelgrom.laurens.snake101.views;
  74.  
  75. import android.content.Context;
  76. import android.graphics.Canvas;
  77. import android.graphics.Color;
  78. import android.graphics.Paint;
  79. import android.util.AttributeSet;
  80. import android.view.View;
  81.  
  82. import pelgrom.laurens.snake101.enums.TileType;
  83.  
  84. /**
  85. * Created by Laptop on 23-1-2017.
  86. */
  87.  
  88. public class SnakeView extends View {
  89. private Paint mPaint = new Paint();
  90. private TileType snakeViewMap()();
  91.  
  92. public SnakeView(Context context, AttributeSet attrs) {
  93. super(context, attrs);
  94. }
  95.  
  96. public void setSnakeViewMap(TileType()() map )( this.snakeViewMap = map; )
  97.  
  98. @Override
  99. protected void onDraw(Canvas canvas) {
  100. super.onDraw(canvas);
  101.  
  102. if( snakeViewMap != null ){
  103. float tileSizeX = canvas.getWidth() / snakeViewMap.length;
  104. float tileSizeY = canvas.getHeight() / snakeViewMap.length;
  105.  
  106. float circleSize = Math.min(tileSizeX, tileSizeY) / 2;
  107.  
  108. for (int x = 0; x < snakeViewMap.lenght; x++) {
  109. for (int y = 0; y < snakeViewMap(x). lenght; y++) {
  110. switch (snakeViewMap(x)) {
  111.  
  112. case Nothing:
  113. mPaint.setColor(Color.WHITE);
  114. break;
  115. case Wall:
  116. mPaint.setColor(Color.GREEN);
  117. break;
  118. case SnakeHead:
  119. mPaint.setColor(Color.RED);
  120. break;
  121. case SnakeTail:
  122. mPaint.setColor(Color.GREEN);
  123. break;
  124. case Apple:
  125. mPaint.setColor(Color.RED);
  126. break;
  127.  
  128. }
  129.  
  130. canvas.drawCircle(x * tileSizeX + tileSizeX / 2f + circleSize / 2, y * tileSizeY + tileSizeY / 2f + circleSize / 2, circleSize, mPaint);
  131. }
  132. }
  133. }
  134. }
  135. }
  136. `
  137.  
  138. `package pelgrom.laurens.snake101;
  139.  
  140. import android.support.v7.app.AppCompatActivity;
  141. import android.os.Bundle;
  142.  
  143. import pelgrom.laurens.snake101.engine.GameEngine;
  144. import pelgrom.laurens.snake101.views.SnakeView;
  145.  
  146. public class Activity extends AppCompatActivity {
  147.  
  148. private GameEngine gameEngine;
  149. private SnakeView snakeView;
  150.  
  151.  
  152. @Override
  153. protected void onCreate(Bundle savedInstanceState) {
  154. super.onCreate(savedInstanceState);
  155. setContentView(R.layout.layout);
  156.  
  157. gameEngine = new GameEngine();
  158. gameEngine.initGame();
  159.  
  160. snakeView = (SnakeView)findViewById(R.id.snakeView);
  161. snakeView.setSnakeViewMap(gameEngine.getMapAsync());
  162. snakeView.invalidate();
  163. }
  164. }
  165. `
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement