nobots
Model was written in NetLogo 5.0.1
•
Viewed 382 times
•
Downloaded 27 times
•
Run 0 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Comments and Questions
Please start the discussion about this model!
(You'll first need to log in.)
Click to Run Model
extensions [sound] breed [humans human] breed [robots robot] turtles-own [dead] globals [ thehuman door-closed? level entrance starty ] to setup clear-patches set level 0 set nb-robots 0 set entrance [] setup-level ask patches with [count neighbors != 8] [set pcolor white] end to setup-level clear-turtles create_player create_ennemies ask turtles [set dead false] set door-closed? true foreach entrance [ask ? [set pcolor black]] end to create_player create-humans 1 [ set shape "person" set color white set size 2 set thehuman self ;setxy xcor oldy ] end to create_ennemies create-robots nb-robots [ set shape "turtle" setxy (max-pxcor - 1 - random 10)random-ycor set color white set size 2 ] end to load-levelmap let levelbackup level let entrancebackup entrance if level != 0 [ run (word "import-world \"maps/nobots_map" level ".csv\"") ] set level levelbackup set entrance entrancebackup end to go [direction] go-human direction go-robots if not any? robots with [dead = false] [ if door-closed? [ open-door set door-closed? false ] ] end to go-human [direction] ask thehuman [ ifelse any? robots-here with [dead = false] [become-dead] [ if direction != 0 ; if direction = 0 that means stay where you are. To go up, use 360. [ set heading direction if not ([pcolor] of patch-ahead 1 = white )[fd 1] ] ] ] if human-died? [ let oldy starty wait 1 setup-level set starty oldy ask thehuman [ show (word "my new ycor will be " starty) setxy min-pxcor starty ] ] ; this is only possible if thehuman reaches the entrance if [pxcor] of thehuman = max-pxcor [ let oldy ([ycor] of thehuman) show (word "old coordinates " [xcor] of thehuman " " [ycor] of thehuman) level-up setup-level set starty oldy ask thehuman [ setxy min-pxcor starty show (word "new coordinates " xcor " " ycor) ] ] end to go-robots ask robots with [dead = false] [ face thehuman fd 1 if (any? other robots-here) or (pcolor = white) [become-dead] ] end to-report human-died? report [dead] of thehuman = true end to become-dead set shape "x" set dead true sound:play-sound "audio/test.wav" end to level-up sound:play-sound "audio/ghost.wav" set nb-robots nb-robots + 3 show (word "level was " level) set level (level + 1) show (word "level is now " level) load-levelmap end to open-door sound:play-sound "audio/info.wav" set entrance [] ask one-of patches with [(pxcor = max-pxcor) and (pycor > min-pycor + 5) and (pycor < max-pycor - 5)] [ set entrance lput (patch min-pxcor [pycor] of self) entrance set pcolor black foreach [1 2 3 4 5] [ let thepatch patch-at 0 ? ask thepatch [set pcolor black] set entrance lput (patch min-pxcor [pycor] of thepatch) entrance ] ] end to go-up go 360 end to go-upright go 45 end to go-right go 90 end to go-downright go 135 end to go-down go 180 end to go-downleft go 225 end to go-left go 270 end to go-upleft go 315 end to draw-obstacles draw white end to remove-obstacles draw black end to draw [thecolor] if mouse-down? [ ask patch mouse-xcor mouse-ycor [ set pcolor thecolor] ] end
There is only one version of this model, created about 11 years ago by Yassine Chaouche.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
nobots.png | preview | preview | about 10 years ago, by Yassine Chaouche | Download |
nobots_map1.csv | data | first map | about 10 years ago, by Yassine Chaouche | Download |
nobots_map2.csv | data | second map | about 10 years ago, by Yassine Chaouche | Download |
nobots_map3.csv | data | Third map | about 10 years ago, by Yassine Chaouche | Download |
nobots_map4.csv | data | fourth map | about 10 years ago, by Yassine Chaouche | Download |
nobots_map_edtor.nlogo | extension | Map editor | about 10 years ago, by Yassine Chaouche | Download |
This model does not have any ancestors.
This model does not have any descendants.