====== Les Zombies extraterrestres mangeurs de cerveaux ====== ===== Description ===== [[http://ressourcesdd.info/ET/|Description en image.]] ===== Matériel ===== Peu de matériel nécessaire : * Réseau wifi * [[http://wiki.openmoko.org/wiki/Neo_FreeRunner/fr|Free runner]] ===== Développement ===== ==== Distance entre les personnes ou bonus ==== Le calcul de distance entre les personnes, en fonction de leur position GPS. Avec la formule de Haversine Use Haversine formula to Calculate distance (in km) between two points specified by latitude/longitude (in numeric degrees) example usage from form: result.value = LatLon.distHaversine(lat1.value.parseDeg(), long1.value.parseDeg(), lat2.value.parseDeg(), long2.value.parseDeg()); where lat1, long1, lat2, long2, and result are form fields LatLon.distHaversine = function(lat1, lon1, lat2, lon2) { var R = 6371; // earth's mean radius in km var dLat = (lat2-lat1).toRad(); var dLon = (lon2-lon1).toRad(); lat1 = lat1.toRad(), lat2 = lat2.toRad(); var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(lat1) * Math.cos(lat2) * Math.sin(dLon/2) * Math.sin(dLon/2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; return d; } Avec la loi des cosinus LatLon.distCosineLaw = function(lat1, lon1, lat2, lon2) { var R = 6371; // earth's mean radius in km var d = Math.acos(Math.sin(lat1.toRad())*Math.sin(lat2.toRad()) + Math.cos(lat1.toRad())*Math.cos(lat2.toRad())*Math.cos((lon2-lon1).toRad())) * R; return d; } Formules obtenues sur [[http://www.movable-type.co.uk/scripts/latlong.html|ce site]] La loi des sinus semble être suffisante pour cet usage. ==== Placement des bonus ==== Utilisation d'une base de données, indiquant: * Le type de bonus * Latitude * Longitude * Le moment où il apparaît * Le moment où il disparaît Lier le type de bonus avec son effet au moment du déclenchement. ==== Quelques idées ==== Les extraterrestres portent un masque et sont donc repérables dans la rue!