Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.83 KB | None | 0 0
  1. package com.example.gwynbleidd.verstkagame;
  2.  
  3. import android.graphics.Point;
  4. import android.os.Bundle;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.view.Display;
  7.  
  8.  
  9.  
  10. public class GameActivity extends AppCompatActivity {
  11.  
  12. Integer[][] matrix1;
  13. Integer[][] matrix2;
  14.  
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. getSupportActionBar().hide();
  19. Display display = getWindowManager().getDefaultDisplay();
  20. Point size = new Point();
  21. display.getSize(size);
  22. int width = size.x;
  23. int height = size.y;
  24.  
  25.  
  26. matrix1 = (Integer[][]) getIntent().getExtras().getSerializable("UnitMatrixPlayerOne");
  27. matrix2 = (Integer[][]) getIntent().getExtras().getSerializable("UnitMatrixPlayerTwo");
  28. BattleField battleField = new BattleField(this, width, height, matrix1, matrix2);
  29. setContentView(battleField);
  30.  
  31.  
  32. }
  33. }
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43. package com.example.gwynbleidd.verstkagame;
  44.  
  45. import android.content.Context;
  46. import android.content.Intent;
  47. import android.graphics.Point;
  48. import android.media.AudioManager;
  49. import android.media.SoundPool;
  50. import android.os.Bundle;
  51. import android.support.v7.app.AppCompatActivity;
  52. import android.view.Display;
  53. import android.view.MotionEvent;
  54.  
  55.  
  56.  
  57. public class NewGame extends AppCompatActivity {
  58.  
  59. PlayerOneArmy playerOneArmy;
  60. Bundle mBundle;
  61.  
  62.  
  63. @Override
  64. protected void onCreate(Bundle savedInstanceState) {
  65. super.onCreate(savedInstanceState);
  66. getSupportActionBar().hide();
  67. Display display = getWindowManager().getDefaultDisplay();
  68. Point size = new Point();
  69. display.getSize(size);
  70. int width = size.x;
  71. int height = size.y;
  72. playerOneArmy = new PlayerOneArmy(getApplicationContext(), width, height, this);
  73. setContentView(playerOneArmy);
  74.  
  75.  
  76. mBundle = new Bundle();
  77.  
  78.  
  79. }
  80.  
  81.  
  82. @Override
  83. protected void onStop() {
  84. Intent intent = new Intent(getApplicationContext(), NewGame2.class);
  85. mBundle.putSerializable("UnitMatrix", playerOneArmy.matrix);
  86. intent.putExtras(mBundle);
  87. startActivity(intent);
  88. super.onStop();
  89. }
  90.  
  91. @Override
  92. protected void onDestroy() {
  93. super.onDestroy();
  94. }
  95.  
  96.  
  97.  
  98.  
  99. }
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. package com.example.gwynbleidd.verstkagame;
  114.  
  115. import android.content.Context;
  116. import android.graphics.Bitmap;
  117. import android.graphics.BitmapFactory;
  118. import android.graphics.Canvas;
  119. import android.graphics.Color;
  120. import android.graphics.Paint;
  121. import android.support.v7.app.AppCompatActivity;
  122. import android.view.MotionEvent;
  123. import android.view.View;
  124. import android.widget.ImageView;
  125.  
  126.  
  127.  
  128. public class PlayerOneArmy extends View {
  129. Context context;
  130. Integer cellWidth = 1;
  131. Integer cellHeight = 1;
  132. Integer indexOfCellY = 0;
  133. Integer indexOfCellX = 0;
  134. Integer deltaScreenX = 0;
  135. Integer deltaScreenY = 0;
  136. Integer indexOfCellOnClickY;
  137. Integer indexOfCellOnClickX;
  138. Integer width;
  139. Integer height;
  140. Integer[][] matrix = new Integer[6][8];
  141. Unit[][] unitMatrix = new Unit[6][8];
  142. Bitmap redImage;
  143. Bitmap blueImage;
  144. Bitmap archImage;
  145. Bitmap btnClassNonePressed ;
  146. Bitmap btnClassPressed;
  147. Bitmap btnRaceNonePressed;
  148. Bitmap btnRacePressed;
  149. ImageView imageView;
  150.  
  151. OurButton btnDeleteUnit;
  152.  
  153. OurButton btnStartGame;
  154. OurButton btnMan;
  155. OurButton btnDwarf;
  156. OurButton btnElf;
  157. OurButton btnFrog;
  158. OurButton btnRanged;
  159. OurButton btnSword;
  160. OurButton btnHorse;
  161. OurButton btnMage;
  162.  
  163. public long startTime1 = 0;
  164. public long elapsedTime1 = 0;
  165. Float dx;
  166. Float dy;
  167. Boolean fieldIsPressed = false;
  168. Boolean flag = false;
  169.  
  170. AppCompatActivity activity;
  171.  
  172.  
  173.  
  174. public Integer getCellWidth() {
  175. return cellWidth;
  176. }
  177.  
  178. public void setCellWidth(Integer cellWidth) {
  179. this.cellWidth = cellWidth;
  180. }
  181.  
  182. public Integer getCellHeight() {
  183. return cellHeight;
  184. }
  185.  
  186. public void setCellHeight(Integer cellHeight) {
  187. this.cellHeight = cellHeight;
  188. }
  189.  
  190. public Integer getIndexOfCellY() {
  191. return indexOfCellY;
  192. }
  193.  
  194. public void setIndexOfCellY(Integer indexOfCellY) {
  195. this.indexOfCellY = indexOfCellY;
  196. }
  197.  
  198. public Integer getIndexOfCellX() {
  199. return indexOfCellX;
  200. }
  201.  
  202. public void setIndexOfCellX(Integer indexOfCellX) {
  203. this.indexOfCellX = indexOfCellX;
  204. }
  205.  
  206. public Integer getDeltaScreenX() {
  207. return deltaScreenX;
  208. }
  209.  
  210. public void setDeltaScreenX(Integer deltaScreenX) {
  211. this.deltaScreenX = deltaScreenX;
  212. }
  213.  
  214. public Integer getDeltaScreenY() {
  215. return deltaScreenY;
  216. }
  217.  
  218. public void setDeltaScreenY(Integer deltaScreenY) {
  219. this.deltaScreenY = deltaScreenY;
  220. }
  221.  
  222. Paint p;
  223. Unit redUnit;
  224. Unit blueUnit;
  225. Archer archer;
  226. Unit replaceableUnit;
  227. Unit replaceableUnit2;
  228.  
  229. Timer t;
  230.  
  231.  
  232. Unit unitSwordMan;
  233. Unit unitSwordFrog;
  234. Unit unitSwordElf;
  235. Unit unitSwordDwarf;
  236.  
  237. Unit unitRangedMan;
  238. Unit unitRangedFrog;
  239. Unit unitRangedElf;
  240. Unit unitRangedDwarf;
  241.  
  242. Unit unitMageMan;
  243. Unit unitMageFrog;
  244. Unit unitMageElf;
  245. Unit unitMageDwarf;
  246.  
  247. Unit unitHorseMan;
  248. Unit unitHorseFrog;
  249. Unit unitHorseElf;
  250. Unit unitHorseDwarf;
  251.  
  252. public PlayerOneArmy(Context context, Integer width, Integer height, AppCompatActivity activity) {
  253. super(context);
  254. this.context = context;
  255. this.cellWidth = width / 8;
  256. this.cellHeight = height / 12;
  257. this.deltaScreenX = width / 8;
  258. this.deltaScreenY = height / 6;
  259. this.width = width;
  260. this.height = height;
  261. this.startTime1 = System.currentTimeMillis();
  262. this.activity = activity;
  263. btnRaceNonePressed = BitmapFactory.decodeResource(getResources(), R.drawable.test2);
  264. btnRacePressed = BitmapFactory.decodeResource(getResources(), R.drawable.test);
  265. btnClassNonePressed = BitmapFactory.decodeResource(getResources(), R.drawable.btnattoff);
  266. btnClassPressed = BitmapFactory.decodeResource(getResources(), R.drawable.btnatton);
  267. btnStartGame = new OurButton(btnClassNonePressed, btnClassPressed ,getResources(),cellWidth,cellHeight, 2);
  268. redImage = BitmapFactory.decodeResource(getResources(), R.drawable.mage);
  269. blueImage = BitmapFactory.decodeResource(getResources(), R.drawable.swordman);
  270. archImage = BitmapFactory.decodeResource(getResources(), R.drawable.archer);
  271.  
  272.  
  273. // redUnit = new Unit("red", getResources(), cellWidth, cellHeight, redImage, false,10,10,0,2,1);
  274. // blueUnit = new Unit("blue", getResources(), cellWidth, cellHeight, blueImage,false,20,5,0,2,1);
  275. // archer = new Archer("blue", getResources(), cellWidth, cellHeight, archImage,false,10,10,0,2,1);
  276. replaceableUnit = new Unit("SwordMan", getResources(), cellWidth, cellHeight, BitmapFactory.decodeResource(getResources(), R.drawable.swordman), true);
  277. unitSwordMan = new Unit("blue", getResources(), cellWidth, cellHeight, blueImage,false,20,5,0,2,1);
  278. unitMageMan = new Unit("red", getResources(), cellWidth, cellHeight, redImage, false,10,10,0,2,1);
  279. unitRangedMan = new Archer("blue", getResources(), cellWidth, cellHeight, archImage,false,10,10,0,2,1);
  280.  
  281.  
  282.  
  283. btnMan = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  284. btnDwarf = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  285. btnElf = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  286. btnFrog = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  287.  
  288. btnMage = new OurButton(btnClassNonePressed, btnClassPressed ,getResources(),cellWidth,cellHeight, 1);
  289. btnSword = new OurButton(btnClassNonePressed, btnClassPressed ,getResources(),cellWidth,cellHeight, 1);
  290. btnHorse = new OurButton(btnClassNonePressed, btnClassPressed ,getResources(),cellWidth,cellHeight, 1);
  291. btnRanged = new OurButton(btnClassNonePressed, btnClassPressed ,getResources(),cellWidth,cellHeight, 1);
  292.  
  293.  
  294. btnDeleteUnit = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  295.  
  296. btnMan.isPressed = true;
  297. btnSword.isPressed = true;
  298.  
  299.  
  300.  
  301. for (int i = 0; i < 6; i++) {
  302. for (int j = 0; j < 8; j++) {
  303. this.matrix[i][j] = 0;
  304. this.unitMatrix[i][j] = new Unit("ground", getResources(), cellWidth, cellHeight, BitmapFactory.decodeResource(getResources(), R.drawable.ground),true);
  305.  
  306. }
  307. }
  308.  
  309.  
  310.  
  311. p = new Paint();
  312. t = new Timer(this, Integer.MAX_VALUE, 100);
  313. t.start();
  314.  
  315.  
  316. }
  317.  
  318.  
  319.  
  320. @Override
  321. protected void onDraw(Canvas canvas) {
  322. Paint pBlack = new Paint();
  323. pBlack.setColor(Color.BLACK);
  324. pBlack.setStrokeWidth(canvas.getWidth()/150);
  325. Paint pYellow = new Paint();
  326. pYellow.setColor(Color.YELLOW);
  327. pYellow.setStrokeWidth(canvas.getWidth()/150);
  328. pYellow.setStyle(Paint.Style.STROKE);
  329. Paint pGreen = new Paint();
  330. pGreen.setColor(Color.GREEN);
  331. pGreen.setStrokeWidth(canvas.getWidth()/150);
  332. pGreen.setStyle(Paint.Style.STROKE);
  333. Paint pRed = new Paint();
  334. pRed.setColor(Color.RED);
  335. pRed.setStrokeWidth(canvas.getWidth()/150);
  336. pRed.setStyle(Paint.Style.STROKE);
  337.  
  338.  
  339. Paint pText = new Paint();
  340. pText.setTextSize(cellHeight / 2);
  341.  
  342.  
  343.  
  344. Paint pPlace = new Paint();
  345. pPlace.setStyle(Paint.Style.STROKE);
  346. pPlace.setColor(Color.BLUE);
  347. pPlace.setAlpha(127);
  348.  
  349.  
  350. btnStartGame.draw(canvas, deltaScreenX * cellWidth * 2f, deltaScreenY + cellHeight * 8.25f);
  351.  
  352. for (int i = 0; i < 9; i++) {
  353. canvas.drawLine(deltaScreenX, i*cellHeight+deltaScreenY, canvas.getWidth() - deltaScreenX, i*cellHeight + deltaScreenY, pBlack);
  354. }
  355.  
  356. for (int i = 0; i < 7; i++) {
  357. canvas.drawLine(i*cellWidth + deltaScreenX, deltaScreenY, i*cellWidth + deltaScreenX, canvas.getHeight() - deltaScreenY, pBlack);
  358. }
  359.  
  360.  
  361. for (int i = 0; i < 6; i++) {
  362. for (int j = 0; j < 8; j++) {
  363. unitMatrix[i][j].drawInCell(canvas, deltaScreenX + cellWidth*i * 1f, deltaScreenY + cellHeight*j * 1f);
  364. }
  365.  
  366. }
  367.  
  368.  
  369. replaceableUnit.drawOutCell(canvas,+ cellWidth * 6,0);
  370. btnMan.draw(canvas, deltaScreenX * 1f, 0f);
  371. canvas.drawText("Man", 0f, deltaScreenY * 0.2f, pText);
  372. btnDwarf.draw(canvas, deltaScreenX * 1f, deltaScreenY * 0.25f);
  373. canvas.drawText("Dwarf", 0f, deltaScreenY * 0.45f, pText);
  374. btnElf.draw(canvas, deltaScreenX * 1f, deltaScreenY * 0.5f);
  375. canvas.drawText("Elf", 0f, deltaScreenY * 0.7f, pText);
  376. btnFrog.draw(canvas, deltaScreenX * 1f, deltaScreenY * 0.75f);
  377. canvas.drawText("Frog", 0f, deltaScreenY * 0.95f, pText);
  378. btnSword.draw(canvas, deltaScreenX + cellWidth * 3f, 0f);
  379. canvas.drawText("Sword", deltaScreenX + cellWidth * 2f, deltaScreenY * 0.2f, pText);
  380. btnMage.draw(canvas, deltaScreenX + cellWidth * 3f, deltaScreenY * 0.25f);
  381. canvas.drawText("Mage", deltaScreenX + cellWidth * 2f, deltaScreenY * 0.45f, pText);
  382. btnHorse.draw(canvas, deltaScreenX + cellWidth * 3f, deltaScreenY * 0.5f);
  383. canvas.drawText("Horse", deltaScreenX + cellWidth * 2f, deltaScreenY * 0.7f, pText);
  384. btnRanged.draw(canvas, deltaScreenX + cellWidth * 3f, deltaScreenY * 0.75f);
  385. canvas.drawText("Ranged", deltaScreenX + cellWidth * 2f, deltaScreenY * 0.95f, pText);
  386.  
  387.  
  388. btnStartGame.draw(canvas ,deltaScreenX + cellWidth * 6f, deltaScreenY + cellHeight * 3f);
  389.  
  390.  
  391.  
  392.  
  393. if (fieldIsPressed) {
  394. for (int i = 0; i < 6; i++) {
  395. for (int j = 0; j < 8; j++) {
  396. if (!unitMatrix[indexOfCellX][indexOfCellY].isGround())
  397. if (unitMatrix[i][j].isGround()) {
  398. if (Math.abs(indexOfCellX - i) + Math.abs(indexOfCellY - j) <= unitMatrix[indexOfCellX][indexOfCellY].MOVE) {
  399. canvas.drawRect(i * cellWidth + deltaScreenX, j * cellHeight + deltaScreenY, (i + 1) * cellWidth + deltaScreenX, (j + 1) * cellHeight + deltaScreenY, pGreen);
  400. }
  401. } else {
  402. if (Math.abs(indexOfCellX - i) + Math.abs(indexOfCellY - j) <= unitMatrix[indexOfCellX][indexOfCellY].RANGE) {
  403. canvas.drawRect(i * cellWidth + deltaScreenX, j * cellHeight + deltaScreenY, (i + 1) * cellWidth + deltaScreenX, (j + 1) * cellHeight + deltaScreenY, pRed);
  404. }
  405. }
  406. }
  407. }
  408.  
  409. unitMatrix[indexOfCellX][indexOfCellY].drawOutCell(canvas,+ cellWidth * 6, height - deltaScreenY);
  410. canvas.drawRect(indexOfCellX * cellWidth + deltaScreenX, indexOfCellY * cellHeight + deltaScreenY, (indexOfCellX + 1) * cellWidth + deltaScreenX, (indexOfCellY + 1) * cellHeight + deltaScreenY, pYellow);
  411.  
  412. }
  413.  
  414.  
  415. if (replaceableUnit2 != null)
  416. replaceableUnit2.drawInCell(canvas, dx, dy);
  417.  
  418.  
  419.  
  420. if (!unitMatrix[indexOfCellX][indexOfCellY].isGround()) {
  421. btnDeleteUnit.draw(canvas, deltaScreenX + cellWidth * 2f, deltaScreenY + cellHeight * 9.25f);
  422. }
  423.  
  424.  
  425. for (int i = 0; i < 6; i++) {
  426. for (int j = 5; j < 8; j++) {
  427. canvas.drawRect(i * cellWidth + deltaScreenX, j * cellHeight + deltaScreenY, (i + 1) * cellWidth + deltaScreenX, (j + 1) * cellHeight + deltaScreenY, pPlace);
  428. }
  429. }
  430.  
  431. }
  432.  
  433.  
  434.  
  435.  
  436.  
  437. @Override
  438. public boolean onTouchEvent(MotionEvent event) {
  439.  
  440.  
  441.  
  442. if ((event.getX() >= deltaScreenX) && (event.getX() <= cellWidth * 6 + deltaScreenX) && (event.getY() >= deltaScreenY) && (event.getY() <= cellHeight * 8 + deltaScreenY)) {
  443. for (int i = 1; i < 9; i++) {
  444. if (event.getY() > cellHeight * (i - 1) + deltaScreenY && event.getY() < cellHeight * i + deltaScreenY) {
  445. this.indexOfCellY = i - 1;
  446. }
  447. }
  448.  
  449. for (int i = 1; i < 7; i++) {
  450. if (event.getX() > cellWidth * (i - 1) + deltaScreenX && event.getX() < cellWidth * i + deltaScreenX) {
  451. this.indexOfCellX = i - 1;
  452. }
  453. }
  454. fieldIsPressed = true;
  455. } else {
  456. fieldIsPressed = false;
  457. }
  458.  
  459.  
  460.  
  461.  
  462. //Кнопки, отвечающие за расу юнита (тут ничего менять не надо)
  463. if ((event.getX() >= deltaScreenX * 1f) && (event.getX() <= deltaScreenX + cellWidth * 2f) && (event.getY() >= 0f) && (event.getY() <= deltaScreenY * 0.25f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  464. btnMan.isPressed = true;
  465. btnDwarf.isPressed = false;
  466. btnElf.isPressed = false;
  467. btnFrog.isPressed = false;
  468. } else if ((event.getX() >= deltaScreenX * 1f) && (event.getX() <= deltaScreenX + cellWidth * 2f) && (event.getY() >= deltaScreenY * 0.25f) && (event.getY() <= deltaScreenY * 0.5f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  469. btnMan.isPressed = false;
  470. btnDwarf.isPressed = true;
  471. btnElf.isPressed = false;
  472. btnFrog.isPressed = false;
  473. } else if ((event.getX() >= deltaScreenX * 1f) && (event.getX() <= deltaScreenX + cellWidth * 2f) && (event.getY() >= deltaScreenY * 0.5f) && (event.getY() <= deltaScreenY * 0.75f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  474. btnMan.isPressed = false;
  475. btnDwarf.isPressed = false;
  476. btnElf.isPressed = true;
  477. btnFrog.isPressed = false;
  478. } else if ((event.getX() >= deltaScreenX * 1f) && (event.getX() <= deltaScreenX + cellWidth * 2f) && (event.getY() >= deltaScreenY * 0.75f) && (event.getY() <= deltaScreenY * 1f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  479. btnMan.isPressed = false;
  480. btnDwarf.isPressed = false;
  481. btnElf.isPressed = false;
  482. btnFrog.isPressed = true;
  483. }
  484.  
  485.  
  486. //Кнопки, отвечающие за класс юнита (тут ничего менять не надо)
  487. if ((event.getX() >= deltaScreenX + cellWidth * 3f) && (event.getX() <= deltaScreenX + cellWidth * 5f) && (event.getY() >= 0f) && (event.getY() <= deltaScreenY * 0.25f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  488. btnSword.isPressed = true;
  489. btnMage.isPressed = false;
  490. btnHorse.isPressed = false;
  491. btnRanged.isPressed = false;
  492. } else if ((event.getX() >= deltaScreenX + cellWidth * 3f) && (event.getX() <= deltaScreenX + cellWidth * 5f) && (event.getY() >= deltaScreenY * 0.25f) && (event.getY() <= deltaScreenY * 0.5f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  493. btnSword.isPressed = false;
  494. btnMage.isPressed = true;
  495. btnHorse.isPressed = false;
  496. btnRanged.isPressed = false;
  497. } else if ((event.getX() >= deltaScreenX + cellWidth * 3f) && (event.getX() <= deltaScreenX + cellWidth * 5f) && (event.getY() >= deltaScreenY * 0.5f) && (event.getY() <= deltaScreenY * 0.75f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  498. btnSword.isPressed = false;
  499. btnMage.isPressed = false;
  500. btnHorse.isPressed = true;
  501. btnRanged.isPressed = false;
  502. } else if ((event.getX() >= deltaScreenX + cellWidth * 3f) && (event.getX() <= deltaScreenX + cellWidth * 5f) && (event.getY() >= deltaScreenY * 0.75f) && (event.getY() <= deltaScreenY * 1f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  503. btnSword.isPressed = false;
  504. btnMage.isPressed = false;
  505. btnHorse.isPressed = false;
  506. btnRanged.isPressed = true;
  507. }
  508.  
  509.  
  510. // Сюда надо вставлять юнитов в зависимости от того, какая комбинация кнопок нажата
  511. if ((btnMan.isPressed) && (btnSword.isPressed)) {
  512. replaceableUnit = unitSwordMan;
  513. } else if ((btnMan.isPressed) && (btnRanged.isPressed)) {
  514. replaceableUnit = unitRangedMan;
  515. } else if ((btnMan.isPressed) && (btnMage.isPressed)) {
  516. replaceableUnit = unitMageMan;
  517. }
  518.  
  519.  
  520.  
  521. //Часть кода, отвечающая за перенос юнита на поле
  522. if (((event.getY() < deltaScreenY) && (event.getX() > deltaScreenX + cellWidth * 5)) || (flag)) {
  523. replaceableUnit2 = replaceableUnit;
  524. dx = event.getX();
  525. dy = event.getY();
  526. flag = true;
  527. if (event.getAction() == MotionEvent.ACTION_UP) {
  528. flag = false;
  529. if ((fieldIsPressed) && (indexOfCellY >= 5)) {
  530. unitMatrix[indexOfCellX][indexOfCellY] = replaceableUnit2;
  531.  
  532. //В этой части заполняется массив, который потом передастся в BattleField, так что при добавлении новых юнитов, надо прописывать сюда их заполнение в массив
  533. if (replaceableUnit2 == unitMageMan)
  534. matrix[indexOfCellX][indexOfCellY] = 1;
  535. else if (replaceableUnit2 == unitSwordMan)
  536. matrix[indexOfCellX][indexOfCellY] = 2;
  537. else if (replaceableUnit2 == unitRangedMan)
  538. matrix[indexOfCellX][indexOfCellY] = 3;
  539. }
  540. replaceableUnit2 = null;
  541. }
  542. }
  543.  
  544.  
  545.  
  546. //При нажатии на кнопку удаления, юнит заменяется на землю
  547. if ((event.getX() >= deltaScreenX + cellWidth * 2f) && (event.getX() <= deltaScreenX + cellWidth * 4f) && (event.getY() >= deltaScreenY + cellHeight * 9.25f) && (event.getY() <= deltaScreenY + cellHeight * 9.75f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  548. matrix[indexOfCellX][indexOfCellY] = 0;
  549. unitMatrix[indexOfCellX][indexOfCellY] = new Unit("ground", getResources(), cellWidth, cellHeight, BitmapFactory.decodeResource(getResources(), R.drawable.ground),true);
  550. }
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561. if ((event.getX() >= deltaScreenX + cellWidth * 6f) && (event.getX() <= deltaScreenX + cellWidth * 7f) && (event.getY() >= deltaScreenY + cellHeight * 3f) && (event.getY() <= deltaScreenY + cellHeight * 5f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  562. btnStartGame.isPressed = true;
  563. activity.finish();
  564. t.onFinish();
  565. //activity.startActivity(intent);
  566.  
  567. }
  568.  
  569.  
  570.  
  571. return true;
  572. }
  573.  
  574.  
  575. }
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586. package com.example.gwynbleidd.verstkagame;
  587.  
  588. import android.content.Context;
  589. import android.graphics.Bitmap;
  590. import android.graphics.BitmapFactory;
  591. import android.graphics.Canvas;
  592. import android.graphics.Color;
  593. import android.graphics.Paint;
  594. import android.support.v7.app.AppCompatActivity;
  595. import android.view.MotionEvent;
  596. import android.view.View;
  597. import android.widget.ImageView;
  598.  
  599.  
  600.  
  601. public class PlayerTwoArmy extends View {
  602. Context context;
  603. Integer cellWidth = 1;
  604. Integer cellHeight = 1;
  605. Integer indexOfCellY = 0;
  606. Integer indexOfCellX = 0;
  607. Integer deltaScreenX = 0;
  608. Integer deltaScreenY = 0;
  609. Integer indexOfCellOnClickY;
  610. Integer indexOfCellOnClickX;
  611. Integer width;
  612. Integer height;
  613. Integer[][] matrix = new Integer[6][8];
  614. Unit[][] unitMatrix = new Unit[6][8];
  615. Bitmap redImage;
  616. Bitmap blueImage;
  617. Bitmap archImage;
  618. Bitmap btnClassNonePressed;
  619. Bitmap btnClassPressed;
  620. Bitmap btnRaceNonePressed;
  621. Bitmap btnRacePressed;
  622. ImageView imageView;
  623.  
  624. OurButton btnDeleteUnit;
  625.  
  626. OurButton btnStartGame;
  627. OurButton btnMan;
  628. OurButton btnDwarf;
  629. OurButton btnElf;
  630. OurButton btnFrog;
  631. OurButton btnRanged;
  632. OurButton btnSword;
  633. OurButton btnHorse;
  634. OurButton btnMage;
  635.  
  636. public long startTime1 = 0;
  637. public long elapsedTime1 = 0;
  638. Float dx;
  639. Float dy;
  640. Boolean fieldIsPressed = false;
  641. Boolean flag = false;
  642.  
  643. AppCompatActivity activity;
  644.  
  645.  
  646. public Integer getCellWidth() {
  647. return cellWidth;
  648. }
  649.  
  650. public void setCellWidth(Integer cellWidth) {
  651. this.cellWidth = cellWidth;
  652. }
  653.  
  654. public Integer getCellHeight() {
  655. return cellHeight;
  656. }
  657.  
  658. public void setCellHeight(Integer cellHeight) {
  659. this.cellHeight = cellHeight;
  660. }
  661.  
  662. public Integer getIndexOfCellY() {
  663. return indexOfCellY;
  664. }
  665.  
  666. public void setIndexOfCellY(Integer indexOfCellY) {
  667. this.indexOfCellY = indexOfCellY;
  668. }
  669.  
  670. public Integer getIndexOfCellX() {
  671. return indexOfCellX;
  672. }
  673.  
  674. public void setIndexOfCellX(Integer indexOfCellX) {
  675. this.indexOfCellX = indexOfCellX;
  676. }
  677.  
  678. public Integer getDeltaScreenX() {
  679. return deltaScreenX;
  680. }
  681.  
  682. public void setDeltaScreenX(Integer deltaScreenX) {
  683. this.deltaScreenX = deltaScreenX;
  684. }
  685.  
  686. public Integer getDeltaScreenY() {
  687. return deltaScreenY;
  688. }
  689.  
  690. public void setDeltaScreenY(Integer deltaScreenY) {
  691. this.deltaScreenY = deltaScreenY;
  692. }
  693.  
  694. Paint p;
  695. Unit redUnit;
  696. Unit blueUnit;
  697. Archer archer;
  698. Unit replaceableUnit;
  699. Unit replaceableUnit2;
  700.  
  701. Timer t;
  702.  
  703.  
  704. Unit unitSwordMan;
  705. Unit unitSwordFrog;
  706. Unit unitSwordElf;
  707. Unit unitSwordDwarf;
  708.  
  709. Unit unitRangedMan;
  710. Unit unitRangedFrog;
  711. Unit unitRangedElf;
  712. Unit unitRangedDwarf;
  713.  
  714. Unit unitMageMan;
  715. Unit unitMageFrog;
  716. Unit unitMageElf;
  717. Unit unitMageDwarf;
  718.  
  719. Unit unitHorseMan;
  720. Unit unitHorseFrog;
  721. Unit unitHorseElf;
  722. Unit unitHorseDwarf;
  723.  
  724. public PlayerTwoArmy(Context context, Integer width, Integer height, AppCompatActivity activity) {
  725. super(context);
  726. this.context = context;
  727. this.cellWidth = width / 8;
  728. this.cellHeight = height / 12;
  729. this.deltaScreenX = width / 8;
  730. this.deltaScreenY = height / 6;
  731. this.width = width;
  732. this.height = height;
  733. this.startTime1 = System.currentTimeMillis();
  734. this.activity = activity;
  735. btnRaceNonePressed = BitmapFactory.decodeResource(getResources(), R.drawable.test2);
  736. btnRacePressed = BitmapFactory.decodeResource(getResources(), R.drawable.test);
  737. btnClassNonePressed = BitmapFactory.decodeResource(getResources(), R.drawable.btnattoff);
  738. btnClassPressed = BitmapFactory.decodeResource(getResources(), R.drawable.btnatton);
  739. btnStartGame = new OurButton(btnClassNonePressed, btnClassPressed, getResources(), cellWidth, cellHeight, 2);
  740. redImage = BitmapFactory.decodeResource(getResources(), R.drawable.mage);
  741. blueImage = BitmapFactory.decodeResource(getResources(), R.drawable.swordman);
  742. archImage = BitmapFactory.decodeResource(getResources(), R.drawable.archer);
  743.  
  744.  
  745. // redUnit = new Unit("red", getResources(), cellWidth, cellHeight, redImage, false,10,10,0,2,1);
  746. // blueUnit = new Unit("blue", getResources(), cellWidth, cellHeight, blueImage,false,20,5,0,2,1);
  747. // archer = new Archer("blue", getResources(), cellWidth, cellHeight, archImage,false,10,10,0,2,1);
  748. replaceableUnit = new Unit("SwordMan", getResources(), cellWidth, cellHeight, BitmapFactory.decodeResource(getResources(), R.drawable.swordman), true);
  749. unitSwordMan = new Unit("blue", getResources(), cellWidth, cellHeight, blueImage, false, 20, 5, 0, 2, 1);
  750. unitMageMan = new Unit("red", getResources(), cellWidth, cellHeight, redImage, false, 10, 10, 0, 2, 1);
  751. unitRangedMan = new Archer("blue", getResources(), cellWidth, cellHeight, archImage, false, 10, 10, 0, 2, 1);
  752.  
  753.  
  754. btnMan = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  755. btnDwarf = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  756. btnElf = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  757. btnFrog = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  758.  
  759. btnMage = new OurButton(btnClassNonePressed, btnClassPressed, getResources(), cellWidth, cellHeight, 1);
  760. btnSword = new OurButton(btnClassNonePressed, btnClassPressed, getResources(), cellWidth, cellHeight, 1);
  761. btnHorse = new OurButton(btnClassNonePressed, btnClassPressed, getResources(), cellWidth, cellHeight, 1);
  762. btnRanged = new OurButton(btnClassNonePressed, btnClassPressed, getResources(), cellWidth, cellHeight, 1);
  763.  
  764.  
  765. btnDeleteUnit = new OurButton(btnRaceNonePressed, btnRacePressed, getResources(), cellWidth, cellHeight, 1);
  766.  
  767. btnMan.isPressed = true;
  768. btnSword.isPressed = true;
  769.  
  770.  
  771. for (int i = 0; i < 6; i++) {
  772. for (int j = 0; j < 8; j++) {
  773. this.matrix[i][j] = 0;
  774. this.unitMatrix[i][j] = new Unit("ground", getResources(), cellWidth, cellHeight, BitmapFactory.decodeResource(getResources(), R.drawable.ground), true);
  775.  
  776. }
  777. }
  778.  
  779.  
  780. p = new Paint();
  781. t = new Timer(this, Integer.MAX_VALUE, 100);
  782. t.start();
  783.  
  784.  
  785. }
  786.  
  787.  
  788. @Override
  789. protected void onDraw(Canvas canvas) {
  790. Paint pBlack = new Paint();
  791. pBlack.setColor(Color.BLACK);
  792. pBlack.setStrokeWidth(canvas.getWidth() / 150);
  793. Paint pYellow = new Paint();
  794. pYellow.setColor(Color.YELLOW);
  795. pYellow.setStrokeWidth(canvas.getWidth() / 150);
  796. pYellow.setStyle(Paint.Style.STROKE);
  797. Paint pGreen = new Paint();
  798. pGreen.setColor(Color.GREEN);
  799. pGreen.setStrokeWidth(canvas.getWidth() / 150);
  800. pGreen.setStyle(Paint.Style.STROKE);
  801. Paint pRed = new Paint();
  802. pRed.setColor(Color.RED);
  803. pRed.setStrokeWidth(canvas.getWidth() / 150);
  804. pRed.setStyle(Paint.Style.STROKE);
  805.  
  806. Paint pText = new Paint();
  807. pText.setTextSize(cellHeight / 2);
  808.  
  809.  
  810. Paint pPlace = new Paint();
  811. pPlace.setStyle(Paint.Style.STROKE);
  812. pPlace.setColor(Color.BLUE);
  813. pPlace.setAlpha(127);
  814.  
  815.  
  816. btnStartGame.draw(canvas, deltaScreenX * cellWidth * 2f, deltaScreenY + cellHeight * 8.25f);
  817.  
  818. for (int i = 0; i < 9; i++) {
  819. canvas.drawLine(deltaScreenX, i * cellHeight + deltaScreenY, canvas.getWidth() - deltaScreenX, i * cellHeight + deltaScreenY, pBlack);
  820. }
  821.  
  822. for (int i = 0; i < 7; i++) {
  823. canvas.drawLine(i * cellWidth + deltaScreenX, deltaScreenY, i * cellWidth + deltaScreenX, canvas.getHeight() - deltaScreenY, pBlack);
  824. }
  825.  
  826.  
  827. for (int i = 0; i < 6; i++) {
  828. for (int j = 0; j < 8; j++) {
  829. unitMatrix[i][j].drawInCell(canvas, deltaScreenX + cellWidth * i * 1f, deltaScreenY + cellHeight * j * 1f);
  830. }
  831.  
  832. }
  833.  
  834.  
  835. replaceableUnit.drawOutCell(canvas, +cellWidth * 6, 0);
  836. btnMan.draw(canvas, deltaScreenX * 1f, 0f);
  837. canvas.drawText("Man", 0f, deltaScreenY * 0.2f, pText);
  838. btnDwarf.draw(canvas, deltaScreenX * 1f, deltaScreenY * 0.25f);
  839. canvas.drawText("Dwarf", 0f, deltaScreenY * 0.45f, pText);
  840. btnElf.draw(canvas, deltaScreenX * 1f, deltaScreenY * 0.5f);
  841. canvas.drawText("Elf", 0f, deltaScreenY * 0.7f, pText);
  842. btnFrog.draw(canvas, deltaScreenX * 1f, deltaScreenY * 0.75f);
  843. canvas.drawText("Frog", 0f, deltaScreenY * 0.95f, pText);
  844. btnSword.draw(canvas, deltaScreenX + cellWidth * 3f, 0f);
  845. canvas.drawText("Sword", deltaScreenX + cellWidth * 2f, deltaScreenY * 0.2f, pText);
  846. btnMage.draw(canvas, deltaScreenX + cellWidth * 3f, deltaScreenY * 0.25f);
  847. canvas.drawText("Mage", deltaScreenX + cellWidth * 2f, deltaScreenY * 0.45f, pText);
  848. btnHorse.draw(canvas, deltaScreenX + cellWidth * 3f, deltaScreenY * 0.5f);
  849. canvas.drawText("Horse", deltaScreenX + cellWidth * 2f, deltaScreenY * 0.7f, pText);
  850. btnRanged.draw(canvas, deltaScreenX + cellWidth * 3f, deltaScreenY * 0.75f);
  851. canvas.drawText("Ranged", deltaScreenX + cellWidth * 2f, deltaScreenY * 0.95f, pText);
  852.  
  853.  
  854. btnStartGame.draw(canvas, deltaScreenX + cellWidth * 6f, deltaScreenY + cellHeight * 3f);
  855.  
  856.  
  857. if (fieldIsPressed) {
  858. for (int i = 0; i < 6; i++) {
  859. for (int j = 0; j < 8; j++) {
  860. if (!unitMatrix[indexOfCellX][indexOfCellY].isGround())
  861. if (unitMatrix[i][j].isGround()) {
  862. if (Math.abs(indexOfCellX - i) + Math.abs(indexOfCellY - j) <= unitMatrix[indexOfCellX][indexOfCellY].MOVE) {
  863. canvas.drawRect(i * cellWidth + deltaScreenX, j * cellHeight + deltaScreenY, (i + 1) * cellWidth + deltaScreenX, (j + 1) * cellHeight + deltaScreenY, pGreen);
  864. }
  865. } else {
  866. if (Math.abs(indexOfCellX - i) + Math.abs(indexOfCellY - j) <= unitMatrix[indexOfCellX][indexOfCellY].RANGE) {
  867. canvas.drawRect(i * cellWidth + deltaScreenX, j * cellHeight + deltaScreenY, (i + 1) * cellWidth + deltaScreenX, (j + 1) * cellHeight + deltaScreenY, pRed);
  868. }
  869. }
  870. }
  871. }
  872.  
  873. unitMatrix[indexOfCellX][indexOfCellY].drawOutCell(canvas, +cellWidth * 6, height - deltaScreenY);
  874. canvas.drawRect(indexOfCellX * cellWidth + deltaScreenX, indexOfCellY * cellHeight + deltaScreenY, (indexOfCellX + 1) * cellWidth + deltaScreenX, (indexOfCellY + 1) * cellHeight + deltaScreenY, pYellow);
  875.  
  876. }
  877.  
  878.  
  879. if (replaceableUnit2 != null)
  880. replaceableUnit2.drawInCell(canvas, dx, dy);
  881.  
  882.  
  883. if (!unitMatrix[indexOfCellX][indexOfCellY].isGround()) {
  884. btnDeleteUnit.draw(canvas, deltaScreenX + cellWidth * 2f, deltaScreenY + cellHeight * 9.25f);
  885. }
  886.  
  887. for (int i = 0; i < 6; i++) {
  888. for (int j = 0; j < 3; j++) {
  889. canvas.drawRect(i * cellWidth + deltaScreenX, j * cellHeight + deltaScreenY, (i + 1) * cellWidth + deltaScreenX, (j + 1) * cellHeight + deltaScreenY, pPlace);
  890. }
  891. }
  892.  
  893. }
  894.  
  895.  
  896. @Override
  897. public boolean onTouchEvent(MotionEvent event) {
  898.  
  899.  
  900. if ((event.getX() >= deltaScreenX) && (event.getX() <= cellWidth * 6 + deltaScreenX) && (event.getY() >= deltaScreenY) && (event.getY() <= cellHeight * 8 + deltaScreenY)) {
  901. for (int i = 1; i < 9; i++) {
  902. if (event.getY() > cellHeight * (i - 1) + deltaScreenY && event.getY() < cellHeight * i + deltaScreenY) {
  903. this.indexOfCellY = i - 1;
  904. }
  905. }
  906.  
  907. for (int i = 1; i < 7; i++) {
  908. if (event.getX() > cellWidth * (i - 1) + deltaScreenX && event.getX() < cellWidth * i + deltaScreenX) {
  909. this.indexOfCellX = i - 1;
  910. }
  911. }
  912. fieldIsPressed = true;
  913. } else {
  914. fieldIsPressed = false;
  915. }
  916.  
  917.  
  918. //Кнопки, отвечающие за расу юнита (тут ничего менять не надо)
  919. if ((event.getX() >= deltaScreenX * 1f) && (event.getX() <= deltaScreenX + cellWidth * 2f) && (event.getY() >= 0f) && (event.getY() <= deltaScreenY * 0.25f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  920. btnMan.isPressed = true;
  921. btnDwarf.isPressed = false;
  922. btnElf.isPressed = false;
  923. btnFrog.isPressed = false;
  924. } else if ((event.getX() >= deltaScreenX * 1f) && (event.getX() <= deltaScreenX + cellWidth * 2f) && (event.getY() >= deltaScreenY * 0.25f) && (event.getY() <= deltaScreenY * 0.5f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  925. btnMan.isPressed = false;
  926. btnDwarf.isPressed = true;
  927. btnElf.isPressed = false;
  928. btnFrog.isPressed = false;
  929. } else if ((event.getX() >= deltaScreenX * 1f) && (event.getX() <= deltaScreenX + cellWidth * 2f) && (event.getY() >= deltaScreenY * 0.5f) && (event.getY() <= deltaScreenY * 0.75f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  930. btnMan.isPressed = false;
  931. btnDwarf.isPressed = false;
  932. btnElf.isPressed = true;
  933. btnFrog.isPressed = false;
  934. } else if ((event.getX() >= deltaScreenX * 1f) && (event.getX() <= deltaScreenX + cellWidth * 2f) && (event.getY() >= deltaScreenY * 0.75f) && (event.getY() <= deltaScreenY * 1f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  935. btnMan.isPressed = false;
  936. btnDwarf.isPressed = false;
  937. btnElf.isPressed = false;
  938. btnFrog.isPressed = true;
  939. }
  940.  
  941.  
  942. //Кнопки, отвечающие за класс юнита (тут ничего менять не надо)
  943. if ((event.getX() >= deltaScreenX + cellWidth * 3f) && (event.getX() <= deltaScreenX + cellWidth * 5f) && (event.getY() >= 0f) && (event.getY() <= deltaScreenY * 0.25f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  944. btnSword.isPressed = true;
  945. btnMage.isPressed = false;
  946. btnHorse.isPressed = false;
  947. btnRanged.isPressed = false;
  948. } else if ((event.getX() >= deltaScreenX + cellWidth * 3f) && (event.getX() <= deltaScreenX + cellWidth * 5f) && (event.getY() >= deltaScreenY * 0.25f) && (event.getY() <= deltaScreenY * 0.5f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  949. btnSword.isPressed = false;
  950. btnMage.isPressed = true;
  951. btnHorse.isPressed = false;
  952. btnRanged.isPressed = false;
  953. } else if ((event.getX() >= deltaScreenX + cellWidth * 3f) && (event.getX() <= deltaScreenX + cellWidth * 5f) && (event.getY() >= deltaScreenY * 0.5f) && (event.getY() <= deltaScreenY * 0.75f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  954. btnSword.isPressed = false;
  955. btnMage.isPressed = false;
  956. btnHorse.isPressed = true;
  957. btnRanged.isPressed = false;
  958. } else if ((event.getX() >= deltaScreenX + cellWidth * 3f) && (event.getX() <= deltaScreenX + cellWidth * 5f) && (event.getY() >= deltaScreenY * 0.75f) && (event.getY() <= deltaScreenY * 1f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  959. btnSword.isPressed = false;
  960. btnMage.isPressed = false;
  961. btnHorse.isPressed = false;
  962. btnRanged.isPressed = true;
  963. }
  964.  
  965.  
  966. // Сюда надо вставлять юнитов в зависимости от того, какая комбинация кнопок нажата
  967. if ((btnMan.isPressed) && (btnSword.isPressed)) {
  968. replaceableUnit = unitSwordMan;
  969. } else if ((btnMan.isPressed) && (btnRanged.isPressed)) {
  970. replaceableUnit = unitRangedMan;
  971. } else if ((btnMan.isPressed) && (btnMage.isPressed)) {
  972. replaceableUnit = unitMageMan;
  973. }
  974.  
  975.  
  976. //Часть кода, отвечающая за перенос юнита на поле
  977. if (((event.getY() < deltaScreenY) && (event.getX() > deltaScreenX + cellWidth * 5)) || (flag)) {
  978. replaceableUnit2 = replaceableUnit;
  979. dx = event.getX();
  980. dy = event.getY();
  981. flag = true;
  982. if (event.getAction() == MotionEvent.ACTION_UP) {
  983. flag = false;
  984. if ((fieldIsPressed) && (indexOfCellY <= 2)) {
  985. unitMatrix[indexOfCellX][indexOfCellY] = replaceableUnit2;
  986.  
  987. //В этой части заполняется массив, который потом передастся в BattleField, так что при добавлении новых юнитов, надо прописывать сюда их заполнение в массив
  988. if (replaceableUnit2 == unitMageMan)
  989. matrix[indexOfCellX][indexOfCellY] = 1;
  990. else if (replaceableUnit2 == unitSwordMan)
  991. matrix[indexOfCellX][indexOfCellY] = 2;
  992. else if (replaceableUnit2 == unitRangedMan)
  993. matrix[indexOfCellX][indexOfCellY] = 3;
  994. }
  995. replaceableUnit2 = null;
  996. }
  997. }
  998.  
  999.  
  1000. //При нажатии на кнопку удаления, юнит заменяется на землю
  1001. if ((event.getX() >= deltaScreenX + cellWidth * 2f) && (event.getX() <= deltaScreenX + cellWidth * 4f) && (event.getY() >= deltaScreenY + cellHeight * 9.25f) && (event.getY() <= deltaScreenY + cellHeight * 9.75f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  1002. matrix[indexOfCellX][indexOfCellY] = 0;
  1003. unitMatrix[indexOfCellX][indexOfCellY] = new Unit("ground", getResources(), cellWidth, cellHeight, BitmapFactory.decodeResource(getResources(), R.drawable.ground), true);
  1004. }
  1005.  
  1006.  
  1007. if ((event.getX() >= deltaScreenX + cellWidth * 6f) && (event.getX() <= deltaScreenX + cellWidth * 7f) && (event.getY() >= deltaScreenY + cellHeight * 3f) && (event.getY() <= deltaScreenY + cellHeight * 5f) && (event.getAction() == MotionEvent.ACTION_DOWN)) {
  1008. btnStartGame.isPressed = true;
  1009. activity.finish();
  1010. t.onFinish();
  1011. //activity.startActivity(intent);
  1012.  
  1013. }
  1014.  
  1015.  
  1016. return true;
  1017. }
  1018.  
  1019. }
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031. package com.example.gwynbleidd.verstkagame;
  1032.  
  1033. import android.content.Context;
  1034. import android.content.Intent;
  1035. import android.graphics.Point;
  1036. import android.media.AudioManager;
  1037. import android.media.SoundPool;
  1038. import android.os.Bundle;
  1039. import android.support.v7.app.AppCompatActivity;
  1040. import android.view.Display;
  1041. import android.view.MotionEvent;
  1042.  
  1043.  
  1044.  
  1045. public class NewGame2 extends AppCompatActivity {
  1046.  
  1047. PlayerTwoArmy playerTwoArmy;
  1048. Bundle mBundle;
  1049.  
  1050. Integer[][] playerOneMatrix;
  1051.  
  1052.  
  1053. @Override
  1054. protected void onCreate(Bundle savedInstanceState) {
  1055. super.onCreate(savedInstanceState);
  1056. getSupportActionBar().hide();
  1057. Display display = getWindowManager().getDefaultDisplay();
  1058. Point size = new Point();
  1059. display.getSize(size);
  1060. int width = size.x;
  1061. int height = size.y;
  1062.  
  1063.  
  1064. playerOneMatrix = (Integer[][]) getIntent().getExtras().getSerializable("UnitMatrix");
  1065.  
  1066. playerTwoArmy = new PlayerTwoArmy(getApplicationContext(), width, height, this);
  1067. setContentView(playerTwoArmy);
  1068.  
  1069.  
  1070. mBundle = new Bundle();
  1071.  
  1072.  
  1073.  
  1074. }
  1075.  
  1076.  
  1077. @Override
  1078. protected void onStop() {
  1079. Intent intent = new Intent(getApplicationContext(), GameActivity.class);
  1080. mBundle.putSerializable("UnitMatrixPlayerTwo", playerTwoArmy.matrix);
  1081. mBundle.putSerializable("UnitMatrixPlayerOne", playerOneMatrix);
  1082. intent.putExtras(mBundle);
  1083. startActivity(intent);
  1084. super.onStop();
  1085. }
  1086.  
  1087. @Override
  1088. protected void onDestroy() {
  1089. super.onDestroy();
  1090. }
  1091.  
  1092.  
  1093.  
  1094.  
  1095. }
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109. package com.example.gwynbleidd.verstkagame;
  1110.  
  1111. import android.content.res.Resources;
  1112. import android.graphics.Bitmap;
  1113. import android.graphics.Canvas;
  1114. import android.graphics.Paint;
  1115.  
  1116.  
  1117.  
  1118. public class OurButton {
  1119. Bitmap btnImageNonePressed;
  1120. Bitmap btnImagePressed;
  1121. Boolean isPressed;
  1122.  
  1123.  
  1124. public OurButton(Bitmap imageNonepressed, Bitmap imagePressed, Resources resources, Integer cellWidth, Integer cellHeight, Integer style) {
  1125. this.isPressed = false;
  1126. if (style == 1) {
  1127. btnImageNonePressed = Bitmap.createScaledBitmap(imageNonepressed, cellWidth * 2, cellHeight / 2, false);
  1128. btnImagePressed = Bitmap.createScaledBitmap(imagePressed, cellWidth * 2, cellHeight / 2, false);
  1129. } else if (style == 2) {
  1130. btnImageNonePressed = Bitmap.createScaledBitmap(imageNonepressed, cellWidth, cellHeight * 2, false);
  1131. btnImagePressed = Bitmap.createScaledBitmap(imagePressed, cellWidth, cellHeight * 2, false);
  1132. }
  1133.  
  1134. }
  1135.  
  1136.  
  1137. public void draw(Canvas canvas, Float x, Float y) {
  1138. Paint p = new Paint();
  1139. if (!isPressed)
  1140. canvas.drawBitmap(btnImageNonePressed, x , y, p);
  1141. else
  1142. canvas.drawBitmap(btnImagePressed, x , y, p);
  1143. }
  1144.  
  1145.  
  1146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement