mirror of
https://github.com/fazo96/AIrium.git
synced 2025-03-29 21:18:39 +01:00
implemented logger
This commit is contained in:
parent
d5cff69151
commit
75d91da46c
34
core/src/com/mygdx/game/Log.java
Normal file
34
core/src/com/mygdx/game/Log.java
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* To change this license header, choose License Headers in Project Properties.
|
||||||
|
* To change this template file, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
package com.mygdx.game;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author fazo
|
||||||
|
*/
|
||||||
|
public class Log {
|
||||||
|
|
||||||
|
public static final int ERROR = 0;
|
||||||
|
public static final int INFO = 1;
|
||||||
|
public static final int DEBUG = 2;
|
||||||
|
|
||||||
|
private static int logLevel = 1;
|
||||||
|
|
||||||
|
public static void log(int level, String msg) {
|
||||||
|
if (level >= logLevel) {
|
||||||
|
System.out.println(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getLogLevel() {
|
||||||
|
return logLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setLogLevel(int logLevel) {
|
||||||
|
Log.logLevel = logLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -2,6 +2,7 @@ package logic;
|
|||||||
|
|
||||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||||
import com.mygdx.game.Game;
|
import com.mygdx.game.Game;
|
||||||
|
import com.mygdx.game.Log;
|
||||||
import logic.neural.Brain;
|
import logic.neural.Brain;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -85,7 +86,7 @@ public class Creature extends Element {
|
|||||||
brain.input(values);
|
brain.input(values);
|
||||||
// compute behavior
|
// compute behavior
|
||||||
float[] actions = brain.compute();
|
float[] actions = brain.compute();
|
||||||
System.out.println("Accel: " + actions[0] + " Rot: " + actions[1]);
|
Log.log(Log.DEBUG,"Accel: " + actions[0] + " Rot: " + actions[1]);
|
||||||
speed = actions[0]*max_speed;
|
speed = actions[0]*max_speed;
|
||||||
rotSpeed = actions[1]/10;
|
rotSpeed = actions[1]/10;
|
||||||
}
|
}
|
||||||
@ -130,7 +131,7 @@ public class Creature extends Element {
|
|||||||
if (tempDist > sightRange) {
|
if (tempDist > sightRange) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//System.out.println("TempDist "+tempDist+" SightRange "+sightRange);
|
//Log.log(Log.DEBUG,"TempDist "+tempDist+" SightRange "+sightRange);
|
||||||
if (tempDist > dist && seen != null) {
|
if (tempDist > dist && seen != null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -142,7 +143,7 @@ public class Creature extends Element {
|
|||||||
angle = relAngle - ndir;
|
angle = relAngle - ndir;
|
||||||
dist = tempDist;
|
dist = tempDist;
|
||||||
}
|
}
|
||||||
//System.out.println("RelAngle "+relAngle+" Dir "+ndir);
|
//Log.log(Log.DEBUG,"RelAngle "+relAngle+" Dir "+ndir);
|
||||||
}
|
}
|
||||||
if (seen != null) {
|
if (seen != null) {
|
||||||
return new Sight(seen, dist, angle);
|
return new Sight(seen, dist, angle);
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
package logic;
|
package logic;
|
||||||
|
|
||||||
|
import com.mygdx.game.Log;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import logic.neural.Brain;
|
import logic.neural.Brain;
|
||||||
@ -107,12 +108,12 @@ public class World {
|
|||||||
}
|
}
|
||||||
} while (overlaps);
|
} while (overlaps);
|
||||||
if (isCreature) {
|
if (isCreature) {
|
||||||
System.out.println("New Creat: " + x + " " + y);
|
Log.log(Log.INFO,"New Creat: " + x + " " + y);
|
||||||
Creature c = new Creature(x, y);
|
Creature c = new Creature(x, y);
|
||||||
elements.add(c);
|
elements.add(c);
|
||||||
creatures.add(c);
|
creatures.add(c);
|
||||||
} else {
|
} else {
|
||||||
System.out.println("New Veg: " + x + " " + y);
|
Log.log(Log.INFO,"New Veg: " + x + " " + y);
|
||||||
Vegetable v = new Vegetable(x, y);
|
Vegetable v = new Vegetable(x, y);
|
||||||
elements.add(v);
|
elements.add(v);
|
||||||
plants.add(v);
|
plants.add(v);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package logic.neural;
|
package logic.neural;
|
||||||
|
|
||||||
|
import com.mygdx.game.Log;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -33,7 +34,7 @@ public class Brain {
|
|||||||
n.getInputs().add(new NeuralConnection(randWeight(), s));
|
n.getInputs().add(new NeuralConnection(randWeight(), s));
|
||||||
}
|
}
|
||||||
hidden.add(n);
|
hidden.add(n);
|
||||||
System.out.println("Adding Hidden Layer " + (i + 1) + " Neuron " + j + " with " + inputs.size() + " inputs");
|
Log.log(Log.DEBUG,"Adding Hidden Layer " + (i + 1) + " Neuron " + j + " with " + inputs.size() + " inputs");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// populate output layer
|
// populate output layer
|
||||||
@ -48,7 +49,7 @@ public class Brain {
|
|||||||
n.getInputs().add(new NeuralConnection(randWeight(), s));
|
n.getInputs().add(new NeuralConnection(randWeight(), s));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("Adding Output Layer Neuron " + i + " with " + conn + " inputs");
|
Log.log(Log.DEBUG,"Adding Output Layer Neuron " + i + " with " + conn + " inputs");
|
||||||
outputs.add(n);
|
outputs.add(n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
*/
|
*/
|
||||||
package logic.neural;
|
package logic.neural;
|
||||||
|
|
||||||
|
import com.mygdx.game.Log;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -36,11 +37,10 @@ public class Neuron {
|
|||||||
for (NeuralConnection i : inputs) {
|
for (NeuralConnection i : inputs) {
|
||||||
a += i.compute();
|
a += i.compute();
|
||||||
}
|
}
|
||||||
System.out.println("Computed Value "+a+" for neuron");
|
|
||||||
cachedValueValid = true;
|
cachedValueValid = true;
|
||||||
// sigmoid function
|
// sigmoid function
|
||||||
cachedValue = (float) (1 / (1 + Math.pow(Math.E, a * -1)));
|
cachedValue = (float) (1 / (1 + Math.pow(Math.E, a * -1)));
|
||||||
System.out.println("Computed Value "+cachedValue+" for neuron");
|
Log.log(Log.DEBUG,"Computed Value "+cachedValue+" for neuron");
|
||||||
return cachedValue;
|
return cachedValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user