Simulation von Bürgern
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

citizen_pathfinding.pde 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. Citizen mensch;
  2. PImage img_houses;
  3. void setup() {
  4. size(400, 300);
  5. fill(0);
  6. //ft = new SimpleDateFormat ("HH:mm:ss");
  7. img_houses = loadImage(dataPath("houses_with_borders_small.png"));
  8. blendMode(MULTIPLY);
  9. surface.setSize(img_houses.width, img_houses.height);
  10. }
  11. class Citizen{
  12. int i_xSpawn, i_ySpawn, i_xPos, i_yPos, i_diameter;
  13. boolean b_linked;
  14. int i_home;
  15. String S_name;
  16. //0-100:
  17. //motivation (bei arbeiter montag ~40, freitag ~80 - 100)
  18. //7 emotionen?
  19. // berufsfeld: webdesigner, pädagoge, schmuckdesigner, schmied
  20. // berufsstatus: beamter, selbstständiger, unternehmer, angestellter, grundschüler, gymnasiast, hauptschüler, realschüler, azubi, student, rentner
  21. // identität: gelbhemd, lokal, regional, national, international, fremd,
  22. //names of pathfinding algorithms: greedy best first search, uniform cost search, a star search
  23. Citizen(int home, String name){
  24. i_home = home;
  25. S_name = name;
  26. i_diameter = 15;
  27. }
  28. void goTo(int house){
  29. println("want to go to house " + house);
  30. }
  31. void spawn(int house){
  32. PVector v2_spawnPoint = spawnAreas.get(house).v2_randomSpawnPoint();
  33. i_xSpawn = int(v2_spawnPoint.x);
  34. i_ySpawn = int(v2_spawnPoint.y);
  35. i_xPos = i_xSpawn;
  36. i_yPos = i_ySpawn;
  37. b_linked = true;
  38. }
  39. void despawn(){
  40. b_linked = false;
  41. }
  42. void display(){
  43. ellipse(i_xPos, i_yPos, i_diameter, i_diameter);
  44. textSize(10);
  45. text(S_name, i_xPos, i_yPos-10);
  46. }
  47. }
  48. void draw() {
  49. background(255);
  50. image(img_houses, 0, 0, img_houses.width, img_houses.height);
  51. //image(img_streets, 0, 0, img_houses.width, img_houses.height);
  52. }