Compare commits

...
7 Commits
Author SHA1 Message Date
leonmcfly 828a767003 SnakeBot fertig 2024-02-07 16:20:58 +01:00
leonmcfly 7698381620 SnakeBot fertig 2024-02-07 13:44:14 +01:00
leonmcfly f67726a7cf SnakeBot fertig 2024-02-07 12:48:48 +01:00
leonmcfly af06d99bbe SnakeBot fertig 2024-02-06 20:49:31 +01:00
leonmcfly 4332f7d10a SnakeBot fertig 2024-02-06 19:58:08 +01:00
leonmcfly 9de3f327e5 SnakeBot implementiert
testForWagon Fehlerhaft wird noch überprüft
2024-01-23 22:49:12 +01:00
leonmcfly 00796bed61 Löschung von unnötigen Dateien 19.12.2023 um 16.13 2023-12-19 16:27:31 +01:00
17 changed files with 171 additions and 137 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+28
View File
@@ -1,11 +1,39 @@
package Praktikum05;
import java.util.Random;
public class EscapeBot extends Bot{
protected EscapeBot(String args[]){
super(args);
}
private Random schritte = new Random();
private int s = 5;
@Override
protected char nextMove(View view) throws Exception {
boolean exit = false;
while(!exit){
/*if(view.data.contains("o")){
}*/
if(s == 5){
for(int i = 1; i == s; i++ ){
return '^';
}
boolean turn = schritte.nextBoolean();
if(turn == true){
return '<';
}else{
return '>';
}
}
}
throw new Exception("Quit");
}
public static void main(String args[]){
Bot ebot = new EscapeBot(args);
+1 -1
View File
@@ -28,7 +28,7 @@ public class ManualBot extends Bot {
case "d":
return '>';
case "q":
exit = true;
command = null;
break;
default:
System.out.println("Kommando nicht verfügbar bitte einen anderes Kommando eingeben");
+44
View File
@@ -0,0 +1,44 @@
package Praktikum05;
import java.util.Random;
import java.util.Scanner;
public class RumbleBot extends Bot {
protected RumbleBot(String[] args) {
super(args);
}
private Scanner input = new Scanner(System.in);
private int counter = 0;
private Random leftOrRight = new Random();
@Override
protected char nextMove(View view) throws Exception {
char roverKennung = view.data.charAt(40);
boolean exit = false;
while (!exit) {
if(counter <= 8){
counter++;
return '^';
}else if(counter > 8){
counter = 0;
if(leftOrRight.nextBoolean()){
return '>';
}else{
return '<';
}
}
}
throw new Exception("Beendet");
}
public static void main(String args[]){
Bot bot = new RumbleBot(args);
bot.run();
}
}
+98
View File
@@ -0,0 +1,98 @@
package Praktikum05;
import java.util.Random;
public class SnakeBot extends Bot {
protected SnakeBot(String[] args) {
super(args);
}
public int counter = 0;
private Random leftOrRight = new Random();
@Override
protected char nextMove(View view) throws Exception {
boolean exit = false;
while (!exit) {
int rockPosition = findNextRock(view);
if (rockPosition != -1) {
System.out.println(counter + "| RockPosition: " + rockPosition);
return testForWagon(view, rockPosition);
} else {
++counter;
if (counter < 8)
return testForWagon(view, rockPosition);
else {
if (view.data.charAt(10) == '*' || view.data.charAt(11) == '*') {
counter = 0;
return '>';
} else if (view.data.charAt(13) == '*' || view.data.charAt(14) == '*') {
counter = 0;
return '<';
}else{
if(leftOrRight.nextBoolean() == true) {
counter = 0;
return '<';
}else {
counter = 0;
return '>';
}
}
}
}
}
throw new Exception("Quit");
}
private char determineNextStep(int rockPosition,View view) {
if (rockPosition < 10)
return '^';
else if(rockPosition == 13 || rockPosition == 14 || rockPosition == 18 || rockPosition == 19 || rockPosition == 23 || rockPosition == 24 && !(view.data.charAt(13) != '*' && view.data.charAt(14) != '*'))
return '>';
else if((rockPosition == 10 || rockPosition == 11 || rockPosition == 15 || rockPosition == 16 || rockPosition == 20 || rockPosition == 21) && !(view.data.charAt(10) != '*' && view.data.charAt(11) != '*'))
return '<';
else return '^';
}
private int findNextRock(View view) {
return view.data.indexOf('@');
}
private char testForWagon(View view, int rP){
char move = ' ';
if (view.data.charAt(7) == '*'){
if(view.data.charAt(11) == '*' || view.data.charAt(13) == '*'){
if(view.data.charAt(11) == '*' || view.data.charAt(10) == '*'){
return '>';
}else if(view.data.charAt(13) == '*' || view.data.charAt(14) == '*'){
return '<';
}
}else if(view.data.charAt(11) != '*' && view.data.charAt(13) != '*'){
if(view.data.charAt(8) == '*' || view.data.charAt(9) == '*'){
if(view.data.charAt(10) == '*'){
return '>';
}else if(view.data.charAt(14) == '*'){
return '<';
}
}else if(view.data.charAt(5) == '+' || view.data.charAt(6) == '*'){
if(view.data.charAt(10) == '*'){
return '>';
}else if(view.data.charAt(14) == '*'){
return '<';
}
}
}
}else{
move = determineNextStep(rP, view);
}
System.out.println(move);
return move;
}
public static void main(String args[]){
Bot sbot = new SnakeBot(args);
sbot.run();
}
}
-70
View File
@@ -1,70 +0,0 @@
package Praktikum03;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class TriangleCheckerTest {
@Test
void checkNormalTriangle() {
float a = 3.0f;
float b = 4.0f;
float c = 2.0f;
TriangleChecker.TriangleType type = TriangleChecker.checkTriangle(a,b,c);
assertEquals(TriangleChecker.TriangleType.NORMAL, type);
}
@Test
void checkEquilateralTriangle() {
float a = 3.0f;
TriangleChecker.TriangleType type = TriangleChecker.checkTriangle(a,a,a);
assertEquals(TriangleChecker.TriangleType.EQUILATERAL, type);
}
@Test
void checkIsoscelesTriangle() {
float a = 3.0f;
float b = 4.0f;
TriangleChecker.TriangleType type = TriangleChecker.checkTriangle(a,b,a);
assertEquals(TriangleChecker.TriangleType.ISOSCELES, type);
}
@Test
void checkNumbersNegative(){
float a = 5.0f;
float b = -20.0f;
float c = 4.0f;
TriangleChecker.TriangleType type = TriangleChecker.checkTriangle(a,b,c);
assertEquals(TriangleChecker.TriangleType.NONE, type);
}
@Test
void checkIfSideToLong(){
float a = 3.0f;
float b = 20.0f;
float c = 5.0f;
TriangleChecker.TriangleType type = TriangleChecker.checkTriangle(a,b,c);
assertEquals(TriangleChecker.TriangleType.NONE, type);
}
}
-66
View File
@@ -1,66 +0,0 @@
package Praktikum03;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class ZahlenfilterTest {
@Test
void filter() {
}
@Test
void checkDivisibleBy5() {
int i = 15;
boolean result = Zahlenfilter.checkDivisibleBy5(i);
assertTrue(result);
}
@Test
void checkNotDivisibleBy5() {
int i = 12;
boolean result = Zahlenfilter.checkDivisibleBy5(i);
assertFalse(result);
}
@Test
void checkEndsWith9() {
int i = 29;
boolean result = Zahlenfilter.checkEndsWith9(i);
assertTrue(result);
}
@Test
void checkEndsNotWith9() {
int i = 28;
boolean result = Zahlenfilter.checkEndsWith9(i);
assertFalse(result);
}
@Test
void checkSumDivisibleBy3() {
int i = 5;
boolean result = Zahlenfilter.checkSumDivisibleBy3(i, i-1);
assertTrue(result);
}
@Test
void checkSumNotDivisibleBy3() {
int i = 3;
boolean result = Zahlenfilter.checkSumDivisibleBy3(i, i-1);
assertFalse(result);
}
}