~yacinechaouche/+junk/BZR

« back to all changes in this revision

Viewing changes to PROG/NETLOGO/LeJeu.nlogo

  • Committer: yacinechaouche at yahoo
  • Date: 2015-01-14 22:23:03 UTC
  • Revision ID: yacinechaouche@yahoo.com-20150114222303-6gbtqqxii717vyka
Ajout de CODE et PROD. Il faudra ensuite ajouter ce qu'il y avait dan TMP

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; add model procedures here
 
2
 
 
3
globals
 
4
[
 
5
Algeria Tunisia Morocco
 
6
list-of-countries
 
7
list-of-players-names
 
8
num-of-players
 
9
player
 
10
list-of-coefs
 
11
water-coef air-coef security-coef 
 
12
air-pol-threshold water-pol-threshold attraction-threshold
 
13
;time-of-turn
 
14
hotels-price 
 
15
crops-price 
 
16
airports-price 
 
17
industries-price 
 
18
tourists-expenditures 
 
19
starting-wealth
 
20
;timer-set? in interface
 
21
]
 
22
 
 
23
breed [ players ]
 
24
breed [ tourists ]
 
25
breed [ hotels ]
 
26
breed [ airports ]
 
27
breed [ industries ]
 
28
breed [ crops ]
 
29
breed [ fun ]
 
30
 
 
31
patches-own [water-quality air-quality initial-colour]
 
32
 
 
33
tourists-own   [ cash comfort ]
 
34
hotels-own     [ rentability rooms customers price proprio income]
 
35
airports-own   [ activity pollution income capacity ]
 
36
industries-own [ activity pollution income rentability proprio]
 
37
crops-own      [ activity pollution income ]
 
38
fun-own        [ activity price income ]
 
39
players-own    [ name country tourists-welcomed cash ]
 
40
 
 
41
to setup 
 
42
  ;; (for this model to work with NetLogo's new plotting features,
 
43
  ;; __clear-all-and-reset-ticks should be replaced with clear-all at
 
44
  ;; the beginning of your setup procedure and reset-ticks at the end
 
45
  ;; of the procedure.)
 
46
  clear-all
 
47
  import-world "LeJeu.csv"
 
48
  set water-coef 15
 
49
  set air-coef 5
 
50
  set list-of-coefs ( sentence water-coef air-coef )
 
51
  set water-pol-threshold  5
 
52
  set air-pol-threshold    5 
 
53
  set attraction-threshold 5
 
54
  set Algeria 1
 
55
  set Tunisia 2
 
56
  set Morocco 3
 
57
  set list-of-countries ( sentence black green red turquoise )
 
58
  set hotels-price 1000 ; in millions of $
 
59
  set airports-price 1000 ;
 
60
  set crops-price 800 ;
 
61
  set industries-price 200 ;
 
62
  set tourists-expenditures (400 + random 100) ; 1 tourist agent expend 100 M$ to 500 M$ a year
 
63
  set starting-wealth 500
 
64
  set player 0
 
65
  ;set time-of-turn 60
 
66
  ;set timer-set? false
 
67
  ask patches 
 
68
  [ 
 
69
    set water-quality 8 
 
70
    set air-quality 8 
 
71
    set initial-colour pcolor 
 
72
  ]
 
73
  reset-ticks
 
74
end
 
75
 
 
76
to set-industry-rentability [_player _colour]
 
77
  let _partner 0
 
78
  
 
79
  ifelse ([pcolor] of patch-here = [country] of _player)
 
80
    [set rentability  100]  
 
81
    [ ; build outside country
 
82
      ifelse (num-of-players = 1)
 
83
        [set rentability 40]
 
84
        [; ask partner to accept
 
85
          ifelse (not (any? players with [_colour = country]))
 
86
            [ set rentability 40 ]
 
87
            [ ;_partner is a player
 
88
              set _partner [name] of one-of players with [_colour = country] 
 
89
              ifelse (user-yes-or-no? (word  _partner " ,Do you accept that player " [name] of _player " builds an industry in your country ?"))
 
90
                [ set rentability read-from-string user-input "Negociate with your partner the percentage of money YOU make on the industry you are constructing (in percent) : \n ===> "]
 
91
                [ 
 
92
                  die 
 
93
                  ask _player [set cash (cash + industries-price)]
 
94
                ]
 
95
            ]
 
96
          
 
97
        ]
 
98
    ]
 
99
end
 
100
 
 
101
to init-industry [_player _colour]
 
102
  set shape "industries" 
 
103
  set size 2
 
104
  set xcor mouse-xcor 
 
105
  set ycor mouse-ycor
 
106
  set activity read-from-string user-input "Please define initial activity of this industry (from 1 to 10):"
 
107
  set activity set-activity(activity)
 
108
  set income industries-price / 20
 
109
  set proprio [name] of _player  
 
110
  set-industry-rentability _player _colour  
 
111
end
 
112
 
 
113
 
 
114
to build-industries
 
115
  let _player 0
 
116
  let _partner 0
 
117
  let _rentability 0
 
118
  let _colour 0
 
119
 
 
120
  set _player turtle player
 
121
  ifelse [cash] of _player < industries-price 
 
122
  [
 
123
    user-message (word "You have not enough cash ( " [cash] of _player " ) to construct industries (" industries-price " ).")
 
124
  ] 
 
125
  [ 
 
126
    if (mouse-down? and not any? turtles-at mouse-xcor mouse-ycor and not ([pcolor] of patch-at mouse-xcor mouse-ycor = black))
 
127
      [
 
128
        set _colour [pcolor] of patch mouse-xcor mouse-ycor
 
129
        create-industries 1 [
 
130
          init-industry _player _colour
 
131
        ]
 
132
        ask _player [set cash (cash - industries-price)]        
 
133
        compute-industries-income
 
134
      ]
 
135
  ]
 
136
  
 
137
end
 
138
 
 
139
to build-airports
 
140
  let _player turtle player
 
141
  
 
142
  ifelse [cash] of _player < airports-price 
 
143
    [user-message (word "You have not enough cash ( " [cash] of _player " ) to construct airports (" airports-price " ).")] 
 
144
    [ 
 
145
      if (mouse-down? and not any? turtles-at mouse-xcor mouse-ycor)
 
146
      [
 
147
        ifelse (not ([pcolor] of patch-at mouse-xcor mouse-ycor = [country] of _player))
 
148
        [user-message "You cannote build airports outside your country,even if you are very generous..."]
 
149
        [  
 
150
          ask _player [set cash (cash + industries-price)]
 
151
          create-airports 1 
 
152
          [
 
153
            set size 2
 
154
            set shape "airports" 
 
155
            set xcor mouse-xcor 
 
156
            set ycor mouse-ycor
 
157
            set activity random 10 
 
158
            ;set activity read-from-string user-input "Please define initial activity of this airport (from 1 to 10):"
 
159
            ;set activity set-activity(activity)
 
160
          ] 
 
161
          create-tourists 10 
 
162
          [ 
 
163
            set cash tourists-expenditures 
 
164
            set shape "tourists"
 
165
            set size 2 
 
166
            go-to-airport
 
167
          ] 
 
168
        ]  
 
169
      ]  
 
170
    ]
 
171
end
 
172
 
 
173
to build-crops 
 
174
  let _player turtle player
 
175
  ifelse [cash] of _player < crops-price 
 
176
    [user-message (word "You have not enough cash ( " [cash] of _player " ) to construct crops (" crops-price " ).") ] 
 
177
    [ 
 
178
      if (mouse-down? and not any? turtles-at mouse-xcor mouse-ycor)
 
179
      [
 
180
        ifelse (not ([pcolor] of patch-at mouse-xcor mouse-ycor = [country] of _player))
 
181
        [user-message "You cannote build crops outside your country,even if you are very generous..."]
 
182
        [  
 
183
          ask _player [set cash (cash - crops-price)]
 
184
          create-crops 1 
 
185
          [ 
 
186
            set size 2             
 
187
            set shape "crops" 
 
188
            set xcor mouse-xcor 
 
189
            set ycor mouse-ycor 
 
190
            set activity random 10
 
191
            ;set activity read-from-string user-input "Please define initial activity of this crop (from 1 to 10):"
 
192
            ;set activity set-activity(activity)
 
193
          ]
 
194
        ]  
 
195
      ]  
 
196
    ]
 
197
end
 
198
 
 
199
to build-infrastructures
 
200
  run (word "build-" infrastructure)
 
201
end
 
202
 
 
203
to build-hotels
 
204
  let _player turtle player
 
205
  
 
206
  
 
207
  
 
208
  ifelse [cash] of _player < hotels-price 
 
209
    [user-message (word "You have not enough cash ( " [cash] of _player " ) to construct a hotel (" hotels-price  " ).")] 
 
210
    [ 
 
211
      if (mouse-down? and not any? turtles-at mouse-xcor mouse-ycor)
 
212
      [
 
213
        ifelse (not ([pcolor] of patch-at mouse-xcor mouse-ycor = [country] of _player))
 
214
        [user-message "You cannote build hotels outside your country,even if you are very generous..."]
 
215
        [  
 
216
          ask _player [set cash (cash - hotels-price)]
 
217
          create-hotels 1 
 
218
          [
 
219
            set proprio [name] of _player
 
220
            set rooms (1 + random 5 )
 
221
            set shape "hotels" 
 
222
            set xcor mouse-xcor 
 
223
            set ycor mouse-ycor 
 
224
            set price (50 + random 50)
 
225
          ]
 
226
        ]  
 
227
      ]  
 
228
    ]
 
229
end
 
230
to build-tourists
 
231
  if (mouse-down? and not any? turtles-at mouse-xcor mouse-ycor )   
 
232
    [ 
 
233
      create-tourists 1 
 
234
      [
 
235
        set shape "tourists"
 
236
        set size 2 
 
237
        set xcor mouse-xcor 
 
238
        set ycor mouse-ycor 
 
239
        set cash (100 + random 100)
 
240
      ]
 
241
    ]
 
242
end
 
243
to-report compute-attraction
 
244
  report ( ((water-quality * water-coef) + (air-quality * air-coef)) / sum list-of-coefs) 
 
245
end
 
246
 
 
247
to launch-activity
 
248
  let a activity
 
249
  
 
250
  if (breed = crops) 
 
251
  [ask patches in-radius 2 [ set water-quality set-quality (water-quality - (a - water-pol-threshold))]]
 
252
  if (breed = airports)
 
253
  [ask patches in-radius 2 [ set air-quality set-quality (air-quality - (a - air-pol-threshold))]]
 
254
  if (breed = industries)
 
255
  [
 
256
    ask patches in-radius 2 
 
257
    [ 
 
258
      set water-quality set-quality (water-quality - ( a - water-pol-threshold) )
 
259
      set air-quality   set-quality (air-quality - ( a - air-pol-threshold) )
 
260
    ]
 
261
  ]
 
262
end
 
263
 
 
264
to-report set-quality [value]
 
265
  if value > 10 [report 10]
 
266
  if value < 0 [report 0]
 
267
  report value
 
268
end
 
269
 
 
270
to adjust-activity
 
271
  
 
272
  let AQ 0
 
273
  let WQ 0
 
274
  let APC 0
 
275
  let WPC 0
 
276
  let average 0
 
277
  let neighbs 0
 
278
  let h 0
 
279
  let s 0
 
280
  let b 0
 
281
  let hsb-list 0
 
282
  let my-colour 0
 
283
  
 
284
  
 
285
  set my-colour pcolor
 
286
  set neighbs patches in-radius 2 with [pcolor = my-colour] 
 
287
  
 
288
  set AQ [air-quality] of patch-here
 
289
  set WQ [water-quality] of patch-here
 
290
  
 
291
  set APC (AQ - air-pol-threshold)
 
292
  set WPC (WQ - water-pol-threshold)
 
293
  
 
294
  set average (0.5 * (AQ + WQ))
 
295
  
 
296
  ask neighbs 
 
297
  [
 
298
    ifelse average < 6 
 
299
    [ set pcolor scale-color initial-colour average 0 10 ] 
 
300
    [ set pcolor initial-colour ]
 
301
  ]
 
302
  
 
303
  if (breed = airports) 
 
304
  [ set activity (set-activity (activity + APC)) ]
 
305
  if (breed = crops)
 
306
  [ set activity (set-activity (activity + WPC)) ]  
 
307
  if (breed = industries)
 
308
  [ set activity (set-activity (int (activity + (0.5 * (APC + WPC))))) ] ; 
 
309
  
 
310
end
 
311
 
 
312
to-report set-activity [value]
 
313
  if value > 10 [ report 10 ]
 
314
  if value < 0  [ report  0 ]
 
315
  report value
 
316
end 
 
317
 
 
318
to manage-hotel
 
319
  while [count tourists-here > rooms][ask one-of tourists [leave-hotel] ]
 
320
  ask tourists-here [stay-in-hotel]
 
321
  set customers count tourists-here
 
322
end
 
323
 
 
324
to go-tourists
 
325
  if not (any? hotels-here)
 
326
  [look-for-hotel]
 
327
end
 
328
 
 
329
to stay-in-hotel
 
330
  let P [price] of one-of hotels-here  
 
331
  set comfort compute-attraction
 
332
  if comfort < attraction-threshold
 
333
  [
 
334
    show (word "this place stinks !(comfort " comfort " )")
 
335
    leave-hotel
 
336
  ]
 
337
  ifelse (cash > P) 
 
338
  [
 
339
    show (word "this place is nice ! (comfort " comfort " )")
 
340
    set cash (cash  - P)
 
341
  ]
 
342
  [
 
343
    show "no more cash to pay my bill.."
 
344
    leave-hotel
 
345
  ]                                          
 
346
end
 
347
 
 
348
to leave-hotel
 
349
  set heading random 180 jump random 10
 
350
  if cash < min [price] of hotels
 
351
    [
 
352
      show "i have no more cash to stay here....Returning home !" 
 
353
      hatch 1 [ set cash tourists-expenditures go-to-airport ] 
 
354
      die 
 
355
    ]
 
356
  
 
357
end
 
358
 
 
359
to go-to-airport
 
360
  let _airport one-of airports in-radius 100 with [pcolor = [country] of turtle player]
 
361
  setxy [xcor] of _airport [ycor] of _airport
 
362
;  set heading towards _airport
 
363
;  jump distance _airport
 
364
end
 
365
 
 
366
to look-for-hotel
 
367
  let dist 0
 
368
  let target 0
 
369
  ;distance and neighbors are netlogo primitives.
 
370
  set dist 40
 
371
  
 
372
  ifelse any? hotels-here
 
373
  [settle-down]
 
374
  [if (any? hotels in-radius dist)
 
375
    [
 
376
      set target one-of hotels in-radius dist
 
377
      setxy [xcor] of target [ycor] of target
 
378
;      set heading towards target
 
379
;      jump distance target
 
380
      settle-down
 
381
    ]
 
382
  ]
 
383
end
 
384
 
 
385
to settle-down   
 
386
  let H one-of hotels-here 
 
387
  let P [price] of H    
 
388
  let C [customers] of H
 
389
  let R [rooms] of H    
 
390
  
 
391
  ifelse not (any? crops in-radius 5)
 
392
  [show "damn i'm starving here ! leaving..." leave-hotel ]
 
393
  [
 
394
    ifelse C < R 
 
395
    [
 
396
      ifelse P < cash 
 
397
      [show "i found a hotel"]
 
398
      [leave-hotel look-for-hotel]
 
399
    ] 
 
400
    [show "no more rooms here,leaving" leave-hotel]
 
401
  ]
 
402
  
 
403
  
 
404
end
 
405
 
 
406
to go-economy
 
407
  ; Crops Industries Airports
 
408
  let CIA turtles with [breed = airports or breed = industries or breed = crops]
 
409
  ask CIA [launch-activity adjust-activity]
 
410
end
 
411
 
 
412
to compute-wealth  
 
413
  let _sources turtles with [breed = industries or breed = hotels]
 
414
  let _player turtle player
 
415
  ask _player [set cash (cash + sum ([income] of _sources with [proprio = name]))]
 
416
end
 
417
 
 
418
to compute-industries-income
 
419
  set income (income * rentability) / 10 
 
420
end
 
421
 
 
422
to compute-hotels-income
 
423
  set income (price * customers)
 
424
end
 
425
 
 
426
to go
 
427
  ; Crops Industries Airports
 
428
  ;let CIA turtles with [breed = airports or breed = industries or breed = crops]
 
429
  ;ask CIA [launch-activity adjust-activity]
 
430
  go-economy
 
431
  ask tourists [go-tourists]
 
432
  ask hotels [manage-hotel compute-hotels-income]
 
433
  compute-wealth
 
434
  end-turn
 
435
end
 
436
 
 
437
to new-game
 
438
  let i 0
 
439
  let _name 0
 
440
  let _country 0
 
441
  
 
442
  setup
 
443
  ;  reset-timer
 
444
  set i 0
 
445
  set num-of-players read-from-string user-input "Nouvelle partie.Combien de joueurs ?"
 
446
  set list-of-players-names []
 
447
  repeat num-of-players
 
448
    [ 
 
449
      set _name user-input (word "Joueur " (i + 1) " , veuillez entrez votre nom")
 
450
      set list-of-players-names  lput _name list-of-players-names
 
451
      set _country user-input (word _name " veuillez choisir votre pays (entrez un chiffre)... : \n[1] Algerie \n[2] Tunisie \n[3] Maroc ") 
 
452
      create-players 1 
 
453
      [ 
 
454
        set name _name 
 
455
        set country (item read-from-string _country list-of-countries ) 
 
456
        set hidden? true 
 
457
        setxy max-pxcor max-pycor 
 
458
        set cash starting-wealth
 
459
      ]
 
460
      set i i + 1 
 
461
    ]
 
462
  
 
463
  user-message "Que la fête commence !"
 
464
  ;  set timer-set? true
 
465
  
 
466
end
 
467
 
 
468
to end-turn
 
469
  set player (player + 1) mod num-of-players
 
470
end
 
471
 
 
472
;to-report time-remaining
 
473
; ifelse (timer-set? = true and timer < time-of-turn) 
 
474
; [ report time-of-turn - timer ]
 
475
; [
 
476
;   if (timer-set? = true and timer > time-of-turn)
 
477
;     [
 
478
;       user-message "Time Up !" 
 
479
;       set player ((player + 1) mod num-of-players)
 
480
;       user-message "Your turn"  + (value-from turtle player [name] ) 
 
481
;       reset-timer 
 
482
;     ]
 
483
; ]
 
484
;end
 
485
@#$#@#$#@
 
486
GRAPHICS-WINDOW
 
487
519
 
488
10
 
489
1013
 
490
525
 
491
25
 
492
25
 
493
9.5
 
494
1
 
495
10
 
496
1
 
497
1
 
498
1
 
499
0
 
500
1
 
501
1
 
502
1
 
503
-25
 
504
25
 
505
-25
 
506
25
 
507
0
 
508
0
 
509
1
 
510
ticks
 
511
30.0
 
512
 
 
513
MONITOR
 
514
10
 
515
199
 
516
214
 
517
244
 
518
airports acitivity
 
519
[int activity] of airports
 
520
3
 
521
1
 
522
11
 
523
 
 
524
MONITOR
 
525
9
 
526
248
 
527
214
 
528
293
 
529
crops activity
 
530
[floor activity] of crops 
 
531
3
 
532
1
 
533
11
 
534
 
 
535
MONITOR
 
536
10
 
537
298
 
538
214
 
539
343
 
540
industries activiy
 
541
[floor activity] of industries 
 
542
3
 
543
1
 
544
11
 
545
 
 
546
BUTTON
 
547
306
 
548
17
 
549
383
 
550
51
 
551
step
 
552
go
 
553
NIL
 
554
1
 
555
T
 
556
OBSERVER
 
557
NIL
 
558
NIL
 
559
NIL
 
560
NIL
 
561
1
 
562
 
 
563
MONITOR
 
564
11
 
565
149
 
566
214
 
567
194
 
568
NIL
 
569
[cash] of one-of tourists
 
570
3
 
571
1
 
572
11
 
573
 
 
574
MONITOR
 
575
214
 
576
248
 
577
433
 
578
293
 
579
air-quality
 
580
values-from patches-from turtles [patch-here][air-quality]
 
581
3
 
582
1
 
583
11
 
584
 
 
585
MONITOR
 
586
214
 
587
297
 
588
433
 
589
342
 
590
water-quality
 
591
values-from patches-from turtles [patch-here][water-quality]
 
592
3
 
593
1
 
594
11
 
595
 
 
596
BUTTON
 
597
202
 
598
357
 
599
346
 
600
390
 
601
build-infrastructures
 
602
build-infrastructures
 
603
T
 
604
1
 
605
T
 
606
OBSERVER
 
607
NIL
 
608
NIL
 
609
NIL
 
610
NIL
 
611
1
 
612
 
 
613
CHOOSER
 
614
346
 
615
357
 
616
439
 
617
402
 
618
infrastructure
 
619
infrastructure
 
620
"airports" "industries" "crops"
 
621
1
 
622
 
 
623
BUTTON
 
624
5
 
625
357
 
626
100
 
627
390
 
628
NIL
 
629
build-hotels
 
630
T
 
631
1
 
632
T
 
633
OBSERVER
 
634
NIL
 
635
NIL
 
636
NIL
 
637
NIL
 
638
1
 
639
 
 
640
MONITOR
 
641
215
 
642
149
 
643
433
 
644
194
 
645
tourists
 
646
count tourists
 
647
3
 
648
1
 
649
11
 
650
 
 
651
BUTTON
 
652
63
 
653
19
 
654
159
 
655
52
 
656
New Game
 
657
new-game
 
658
NIL
 
659
1
 
660
T
 
661
OBSERVER
 
662
NIL
 
663
NIL
 
664
NIL
 
665
NIL
 
666
1
 
667
 
 
668
MONITOR
 
669
214
 
670
199
 
671
432
 
672
244
 
673
attraction
 
674
[(water-quality + air-quality) / 2] of turtles
 
675
3
 
676
1
 
677
11
 
678
 
 
679
MONITOR
 
680
547
 
681
527
 
682
656
 
683
572
 
684
your wealth
 
685
[cash] of turtle player + \" Millions $\"
 
686
3
 
687
1
 
688
11
 
689
 
 
690
MONITOR
 
691
657
 
692
527
 
693
858
 
694
572
 
695
industries rentability
 
696
[rentability] of industries with [proprio = [name] of turtle player]
 
697
3
 
698
1
 
699
11
 
700
 
 
701
MONITOR
 
702
858
 
703
526
 
704
973
 
705
571
 
706
player
 
707
[name] of turtle player
 
708
3
 
709
1
 
710
11
 
711
 
 
712
@#$#@#$#@
 
713
## WHAT IS IT?
 
714
 
 
715
Ceci est une simulation sous forme de jeu, dont le but est de gagner de l'argent, le plus possible. Elle a été écrite autour d'un thème, le tourisme autour de la méditéranée et le respect de l'environnement. Il y a eu des efforts considérables quant à l'approche économique de cette simulation, en essayant de se rapprocher le mieux que possible des valeurs réelles et des prix réels des éléments du jeu.
 
716
 
 
717
## HOW IT WORKS
 
718
 
 
719
Le but du jeu est de faire venir le plus de tourists dans votre pays. Pour cela vous devez leur offrire tout le confort nécéssaire :   
 
720
1)Il doit y avoir au moins un aéroport pour qu'ils puissent venir dans votre pays.  
 
721
2)Il doit y avoir assez d'hôtels avec assez de chambres pour tous.  
 
722
3)Il faut ils doivent être bien nourris, pour cela vous devez construir des EXPLOITATIONS AGRICOLES, et ajuster au mieux leur ACTIVITE, afin qu'elles produisent assez, sans trop polluer.  
 
723
4)Il ne doit pas y avoir trop de pollution devant les hôtels, car cela les fait fuir.
 
724
 
 
725
Pour construir toutes ces infrastructures, vous allez avoir besoin d'argent. L'argent peut être gagné de différentes manières :
 
726
 
 
727
1) En ramenant des touristes : un touriste dépense toujours de l'argent.  
 
728
2) En construisant des industries : les industries vous font gagner beacoup d'argent, mais polluent d'avantage que les aéorport ou les exploitations agricoles.
 
729
 
 
730
## HOW TO USE IT
 
731
 
 
732
Appuyez sur New Game pour commencer une nouvelle partie.  
 
733
Une fois la configuration du jeu términée, vous disposez d'un tableau de bord.  
 
734
Vous devez en premier lieu construir des hôtels et des aéroports qui acceuilleront vos touristes. Ensuite, vous devez trouvez le meilleur moyen de faire venir le plus de touristes. A vous de jouer !
 
735
 
 
736
## THINGS TO NOTICE
 
737
 
 
738
Les calculs ont été fait selon les données suivantes :
 
739
 
 
740
1)Il y a en moyenne 4 millions de tourists dans un pays du maghreb.  
 
741
2)Un hôtel comprends en moyenne 300 chambres, il faut donc environs 10 000 hotels pour
 
742
     acceuillir 3 millions de tourists.
 
743
 
 
744
3) On peut utiliser sous netlogo un peu moins de 1000 agents   
 
745
4) Un aéorport coute environs 500 millions US $.   
 
746
(source http://www.lesoleil.sn/discus/messages/2/2.html)  
 
747
5) Une approximation du coût de construction d'une industrie a été fixée à 200M US $  
 
748
(source http://www.bouygues.fr/fr/actualites/autres_com_groupe.asp?id=4
 
749
http://www.bouygues.fr/fr/groupe/europ_centrale.asp)  
 
750
6)Une approximation du coût de construction d'une exploitation agricole a été fixée à 1OM US $.    
 
751
7)Une approximation du cout de construction d'un hôtel a été fixée à 40M US $ et sa durée d'amorcement a été fixée à 15 ans.  
 
752
(source http://www.twnside.org.sg/title/nf65.htm)  
 
753
8)Une approximation de la production d'une exploitation agricole de blé a été fixée à 2 tonnes / hectars.  
 
754
(source : http://www.cimmyt.org/Research/wheat/map/developing_world/wheat_developing_world.htm  
 
755
)
 
756
9)Un touriste dépense entre 100 $(Algerie) et 500$ (Maroc)  par an.  
 
757
(source : http://www.animaweb.org/opportunites_tourisme.htm )
 
758
 
 
759
En prenant en compte ces points, il a été décidé que :
 
760
 
 
761
1)Un agent de type TOURISTE représente en réalité 100.000 touristes. Ce qui reviens à représenter les 3 millions de tourists réels par 30 agents tourists.
 
762
 
 
763
2)Un agent de type HOTEL représente en réalité 1.000 hotels, son coût s'élève donc à 1000 * 10M = 1B$. On peut représenter les 10.000 hôtels par 10 agents hôtels.  
 
764
 
 
765
3)Un agent de type AEROPORT peut ammener en un an (un tour de cycle) 10 agents TOURISTS,ce qui corresponderait à 1 millions de tourists réels. Il faudrait donc 4 agents aéroport pour acceuillir 4 millions de touristes.
 
766
 
 
767
4)Une estimation de la production agricole est de 2 tonnes de blé / hectars, ainsi, il faut environs 200 hectars pour nourir 100.000 touristes, soit un agent TOURISTE.  
 
768
Pour nourrir 4 millions de tourists, il faudrait donc 8000 hectars de champs de blés, soit 10 fois 800 hectars. On fixe la production d'un agent de type EXPLOITATION AGRICOLE à 1600 tonnes produits sur 800 hectars. Une exploitation agricole fait environs 10 hectars dans la vie réelle, on supposera qu'un agent EXPLOITATION AGRICOLE représente donc 80 exploitations agricoles, sont coût s'élève donc à 80 * 10M$ = 800 M$. Ainsi, 10 agents EXPLOITATION AGRICOLES nourriraient 4 millions de touristes.
 
769
 
 
770
5) Une chambre d'hôtel représente en réalité 60 chambres. 
 
771
   (un agent de type HOTEL ayant 5 chambres simule 300 chambres réellles).
 
772
 
 
773
6) Un touriste rapporte 250 $ de bénéfices. Ainsi, un agent TOURISTE (100.000 tourists) rapporte 25M$.
 
774
 
 
775
7) Il a été fixé que la somme d'argent disponible au début du jeu est celle nécéssaire à l'acceuil de 1 millions de tourists, soit 10 agents TOURISTS, au joueur de faire de son mieux pour améliorer son score. Cette somme s'élève à 17B$ et s'est calculée de la sorte :
 
776
 
 
777
Pour 1 millions de touristes il faut :
 
778
 
 
779
1) 1 aéroport ==> 500 M $  
 
780
2) 0.5 Million de chambres d'hotels, soit un peu plus de 1500 hotels representés par 2 agent HOTELS ==> 10M * 1500 = 60.000 M$ ==> 15 B$  
 
781
3) 2 000 Tonnes de nourritures, produites par 160 exploitations agricoles, soit 2 agents EXPLOITATION AGRICOLE ==> 160 * 10M = 1.6 B.
 
782
 
 
783
on a donc 0.5 B$ + 15 B + 1.6 B + = 17 B$ arrondis.
 
784
 
 
785
On vois tout de suite que ce qui coûte le plus cher est l'investissment hôtelier.  
 
786
 
 
787
## THINGS TO TRY
 
788
 
 
789
Essayez de voir ce que ça donne dans les cas suivants :  
 
790
Investire massivement dans l'industrie, à l'interieur et à l'exterieur du pays (essayez chaque cas séparément)  
 
791
Investire massivement dans les hôtels.  
 
792
Investire massivement dans les aérports.  
 
793
Mépriser l'investissement dans les exploitations agricoles.
 
794
 
 
795
Essayez de voir ce que ça donne si vous faites trop d'attentas sur les pays voisins.
 
796
 
 
797
 
 
798
## EXTENDING THE MODEL
 
799
 
 
800
Le model est ouvert à de nombreuses améliorations. Il est en effet possible d'ajouter beaucoup de foncionnalités qui apporteront plus du charme à ce petit jeu, comme :
 
801
 
 
802
1)Introduire les banques, les impôts, la population locale, les catastrophe naturelles, le commerce internationale etc...  
 
803
1bis)Introduire la gestion de l'énérgie, des centres de traitements de l'eau, les campagnes publicitaires pour réduire les émissions de gaz toxiques...  
 
804
2)Construire l'interface réseau en utilisant le module HUBNET, afin que les joueurs du monde entier puissent s'affronter sur le net !  
 
805
3)Introduire l'intelligence artificielle évoluée.  
 
806
 
 
807
 
 
808
## NETLOGO FEATURES
 
809
 
 
810
La puissance de Netlogo réside dans sa programmation par agent, qui, selon mon opinion, adhère parfaitement à cette simulation axée sur l'interaction entre touristes, infrastructures, et environnement.
 
811
 
 
812
## RELATED MODELS
 
813
 
 
814
La colonie de termites a été la première simulation qui m'a introduit à StarLogo, petit frère de NetLogo. Elle m'a beaucoup aidé à comprendre la programmation par agent. Les intéréssés pourront s'y référrer.
 
815
 
 
816
## CREDITS AND REFERENCES
 
817
 
 
818
Yacine Ahmed Chaouche - Université Paris 8 - Juin 2004   
 
819
Droits Libre sous consentement écrit de l'auteur.
 
820
 
 
821
yacinechaouche@yahoo.com
 
822
@#$#@#$#@
 
823
default
 
824
true
 
825
0
 
826
Polygon -7500403 true true 150 5 40 250 150 205 260 250
 
827
 
 
828
airports
 
829
false
 
830
0
 
831
Rectangle -1184463 true false 85 119 217 168
 
832
Circle -1184463 true false 55 116 57
 
833
Polygon -1184463 true false 100 117 151 43 151 120
 
834
Polygon -1184463 true false 151 120 149 242 101 165
 
835
 
 
836
ant
 
837
true
 
838
0
 
839
Polygon -7500403 true true 136 61 129 46 144 30 119 45 124 60 114 82 97 37 132 10 93 36 111 84 127 105 172 105 189 84 208 35 171 11 202 35 204 37 186 82 177 60 180 44 159 32 170 44 165 60
 
840
Polygon -7500403 true true 150 95 135 103 139 117 125 149 137 180 135 196 150 204 166 195 161 180 174 150 158 116 164 102
 
841
Polygon -7500403 true true 149 186 128 197 114 232 134 270 149 282 166 270 185 232 171 195 149 186
 
842
Polygon -7500403 true true 225 66 230 107 159 122 161 127 234 111 236 106
 
843
Polygon -7500403 true true 78 58 99 116 139 123 137 128 95 119
 
844
Polygon -7500403 true true 48 103 90 147 129 147 130 151 86 151
 
845
Polygon -7500403 true true 65 224 92 171 134 160 135 164 95 175
 
846
Polygon -7500403 true true 235 222 210 170 163 162 161 166 208 174
 
847
Polygon -7500403 true true 249 107 211 147 168 147 168 150 213 150
 
848
 
 
849
arrow
 
850
true
 
851
0
 
852
Polygon -7500403 true true 150 0 0 150 105 150 105 293 195 293 195 150 300 150
 
853
 
 
854
bee
 
855
true
 
856
0
 
857
Polygon -1184463 true false 152 149 77 163 67 195 67 211 74 234 85 252 100 264 116 276 134 286 151 300 167 285 182 278 206 260 220 242 226 218 226 195 222 166
 
858
Polygon -16777216 true false 150 149 128 151 114 151 98 145 80 122 80 103 81 83 95 67 117 58 141 54 151 53 177 55 195 66 207 82 211 94 211 116 204 139 189 149 171 152
 
859
Polygon -7500403 true true 151 54 119 59 96 60 81 50 78 39 87 25 103 18 115 23 121 13 150 1 180 14 189 23 197 17 210 19 222 30 222 44 212 57 192 58
 
860
Polygon -16777216 true false 70 185 74 171 223 172 224 186
 
861
Polygon -16777216 true false 67 211 71 226 224 226 225 211 67 211
 
862
Polygon -16777216 true false 91 257 106 269 195 269 211 255
 
863
Line -1 false 144 100 70 87
 
864
Line -1 false 70 87 45 87
 
865
Line -1 false 45 86 26 97
 
866
Line -1 false 26 96 22 115
 
867
Line -1 false 22 115 25 130
 
868
Line -1 false 26 131 37 141
 
869
Line -1 false 37 141 55 144
 
870
Line -1 false 55 143 143 101
 
871
Line -1 false 141 100 227 138
 
872
Line -1 false 227 138 241 137
 
873
Line -1 false 241 137 249 129
 
874
Line -1 false 249 129 254 110
 
875
Line -1 false 253 108 248 97
 
876
Line -1 false 249 95 235 82
 
877
Line -1 false 235 82 144 100
 
878
 
 
879
bird1
 
880
false
 
881
0
 
882
Polygon -7500403 true true 2 6 2 39 270 298 297 298 299 271 187 160 279 75 276 22 100 67 31 0
 
883
 
 
884
bird2
 
885
false
 
886
0
 
887
Polygon -7500403 true true 2 4 33 4 298 270 298 298 272 298 155 184 117 289 61 295 61 105 0 43
 
888
 
 
889
boat1
 
890
false
 
891
0
 
892
Polygon -1 true false 63 162 90 207 223 207 290 162
 
893
Rectangle -6459832 true false 150 32 157 162
 
894
Polygon -13345367 true false 150 34 131 49 145 47 147 48 149 49
 
895
Polygon -7500403 true true 158 33 230 157 182 150 169 151 157 156
 
896
Polygon -7500403 true true 149 55 88 143 103 139 111 136 117 139 126 145 130 147 139 147 146 146 149 55
 
897
 
 
898
boat2
 
899
false
 
900
0
 
901
Polygon -1 true false 63 162 90 207 223 207 290 162
 
902
Rectangle -6459832 true false 150 32 157 162
 
903
Polygon -13345367 true false 150 34 131 49 145 47 147 48 149 49
 
904
Polygon -7500403 true true 157 54 175 79 174 96 185 102 178 112 194 124 196 131 190 139 192 146 211 151 216 154 157 154
 
905
Polygon -7500403 true true 150 74 146 91 139 99 143 114 141 123 137 126 131 129 132 139 142 136 126 142 119 147 148 147
 
906
 
 
907
boat3
 
908
false
 
909
0
 
910
Polygon -1 true false 63 162 90 207 223 207 290 162
 
911
Rectangle -6459832 true false 150 32 157 162
 
912
Polygon -13345367 true false 150 34 131 49 145 47 147 48 149 49
 
913
Polygon -7500403 true true 158 37 172 45 188 59 202 79 217 109 220 130 218 147 204 156 158 156 161 142 170 123 170 102 169 88 165 62
 
914
Polygon -7500403 true true 149 66 142 78 139 96 141 111 146 139 148 147 110 147 113 131 118 106 126 71
 
915
 
 
916
box
 
917
true
 
918
0
 
919
Polygon -7500403 true true 45 255 255 255 255 45 45 45
 
920
 
 
921
butterfly1
 
922
true
 
923
0
 
924
Polygon -16777216 true false 151 76 138 91 138 284 150 296 162 286 162 91
 
925
Polygon -7500403 true true 164 106 184 79 205 61 236 48 259 53 279 86 287 119 289 158 278 177 256 182 164 181
 
926
Polygon -7500403 true true 136 110 119 82 110 71 85 61 59 48 36 56 17 88 6 115 2 147 15 178 134 178
 
927
Polygon -7500403 true true 46 181 28 227 50 255 77 273 112 283 135 274 135 180
 
928
Polygon -7500403 true true 165 185 254 184 272 224 255 251 236 267 191 283 164 276
 
929
Line -7500403 true 167 47 159 82
 
930
Line -7500403 true 136 47 145 81
 
931
Circle -7500403 true true 165 45 8
 
932
Circle -7500403 true true 134 45 6
 
933
Circle -7500403 true true 133 44 7
 
934
Circle -7500403 true true 133 43 8
 
935
 
 
936
circle
 
937
false
 
938
0
 
939
Circle -7500403 true true 35 35 230
 
940
 
 
941
crops
 
942
false
 
943
0
 
944
Rectangle -13840069 true false 129 103 174 242
 
945
Polygon -13840069 true false 126 174 52 174 130 142
 
946
Polygon -13840069 true false 130 142 46 140 133 114
 
947
Polygon -13840069 true false 128 113 45 113 146 9 268 104 166 109
 
948
Polygon -13840069 true false 170 109 256 114 169 139
 
949
Polygon -13840069 true false 169 139 265 166 167 169
 
950
 
 
951
hotels
 
952
false
 
953
0
 
954
Polygon -8630108 true false 74 12 18 12 19 290 63 293 64 165 170 160 174 285 245 287 232 7 163 8 162 129 75 129
 
955
 
 
956
industries
 
957
false
 
958
0
 
959
Rectangle -13345367 true false 46 95 221 214
 
960
Rectangle -13345367 true false 58 22 78 90
 
961
Polygon -13345367 true false 78 84 149 6 153 106
 
962
Polygon -13345367 true false 160 89 196 11 198 98
 
963
 
 
964
sheep
 
965
false
 
966
15
 
967
Rectangle -1 true true 90 75 270 225
 
968
Circle -1 true true 15 75 150
 
969
Rectangle -16777216 true false 81 225 134 286
 
970
Rectangle -16777216 true false 180 225 238 285
 
971
Circle -16777216 true false 1 88 92
 
972
 
 
973
spacecraft
 
974
true
 
975
0
 
976
Polygon -7500403 true true 150 0 180 135 255 255 225 240 150 180 75 240 45 255 120 135
 
977
 
 
978
thin-arrow
 
979
true
 
980
0
 
981
Polygon -7500403 true true 150 0 0 150 120 150 120 293 180 293 180 150 300 150
 
982
 
 
983
tourists
 
984
false
 
985
0
 
986
Circle -1184463 true false 96 36 113
 
987
Rectangle -1184463 true false 135 148 164 294
 
988
Polygon -1184463 true false 130 146 40 199 56 218 135 167
 
989
Polygon -1184463 true false 156 142 247 199 227 222 141 163
 
990
 
 
991
truck-down
 
992
false
 
993
0
 
994
Polygon -7500403 true true 225 30 225 270 120 270 105 210 60 180 45 30 105 60 105 30
 
995
Polygon -8630108 true false 195 75 195 120 240 120 240 75
 
996
Polygon -8630108 true false 195 225 195 180 240 180 240 225
 
997
 
 
998
truck-left
 
999
false
 
1000
0
 
1001
Polygon -7500403 true true 120 135 225 135 225 210 75 210 75 165 105 165
 
1002
Polygon -8630108 true false 90 210 105 225 120 210
 
1003
Polygon -8630108 true false 180 210 195 225 210 210
 
1004
 
 
1005
truck-right
 
1006
false
 
1007
0
 
1008
Polygon -7500403 true true 180 135 75 135 75 210 225 210 225 165 195 165
 
1009
Polygon -8630108 true false 210 210 195 225 180 210
 
1010
Polygon -8630108 true false 120 210 105 225 90 210
 
1011
 
 
1012
turtle
 
1013
true
 
1014
0
 
1015
Polygon -7500403 true true 138 75 162 75 165 105 225 105 225 142 195 135 195 187 225 195 225 225 195 217 195 202 105 202 105 217 75 225 75 195 105 187 105 135 75 142 75 105 135 105
 
1016
 
 
1017
wolf
 
1018
false
 
1019
0
 
1020
Rectangle -7500403 true true 15 105 105 165
 
1021
Rectangle -7500403 true true 45 90 105 105
 
1022
Polygon -7500403 true true 60 90 83 44 104 90
 
1023
Polygon -16777216 true false 67 90 82 59 97 89
 
1024
Rectangle -1 true false 48 93 59 105
 
1025
Rectangle -16777216 true false 51 96 55 101
 
1026
Rectangle -16777216 true false 0 121 15 135
 
1027
Rectangle -16777216 true false 15 136 60 151
 
1028
Polygon -1 true false 15 136 23 149 31 136
 
1029
Polygon -1 true false 30 151 37 136 43 151
 
1030
Rectangle -7500403 true true 105 120 263 195
 
1031
Rectangle -7500403 true true 108 195 259 201
 
1032
Rectangle -7500403 true true 114 201 252 210
 
1033
Rectangle -7500403 true true 120 210 243 214
 
1034
Rectangle -7500403 true true 115 114 255 120
 
1035
Rectangle -7500403 true true 128 108 248 114
 
1036
Rectangle -7500403 true true 150 105 225 108
 
1037
Rectangle -7500403 true true 132 214 155 270
 
1038
Rectangle -7500403 true true 110 260 132 270
 
1039
Rectangle -7500403 true true 210 214 232 270
 
1040
Rectangle -7500403 true true 189 260 210 270
 
1041
Line -7500403 true 263 127 281 155
 
1042
Line -7500403 true 281 155 281 192
 
1043
 
 
1044
wolf-left
 
1045
false
 
1046
3
 
1047
Polygon -6459832 true true 117 97 91 74 66 74 60 85 36 85 38 92 44 97 62 97 81 117 84 134 92 147 109 152 136 144 174 144 174 103 143 103 134 97
 
1048
Polygon -6459832 true true 87 80 79 55 76 79
 
1049
Polygon -6459832 true true 81 75 70 58 73 82
 
1050
Polygon -6459832 true true 99 131 76 152 76 163 96 182 104 182 109 173 102 167 99 173 87 159 104 140
 
1051
Polygon -6459832 true true 107 138 107 186 98 190 99 196 112 196 115 190
 
1052
Polygon -6459832 true true 116 140 114 189 105 137
 
1053
Rectangle -6459832 true true 109 150 114 192
 
1054
Rectangle -6459832 true true 111 143 116 191
 
1055
Polygon -6459832 true true 168 106 184 98 205 98 218 115 218 137 186 164 196 176 195 194 178 195 178 183 188 183 169 164 173 144
 
1056
Polygon -6459832 true true 207 140 200 163 206 175 207 192 193 189 192 177 198 176 185 150
 
1057
Polygon -6459832 true true 214 134 203 168 192 148
 
1058
Polygon -6459832 true true 204 151 203 176 193 148
 
1059
Polygon -6459832 true true 207 103 221 98 236 101 243 115 243 128 256 142 239 143 233 133 225 115 214 114
 
1060
 
 
1061
wolf-right
 
1062
false
 
1063
3
 
1064
Polygon -6459832 true true 170 127 200 93 231 93 237 103 262 103 261 113 253 119 231 119 215 143 213 160 208 173 189 187 169 190 154 190 126 180 106 171 72 171 73 126 122 126 144 123 159 123
 
1065
Polygon -6459832 true true 201 99 214 69 215 99
 
1066
Polygon -6459832 true true 207 98 223 71 220 101
 
1067
Polygon -6459832 true true 184 172 189 234 203 238 203 246 187 247 180 239 171 180
 
1068
Polygon -6459832 true true 197 174 204 220 218 224 219 234 201 232 195 225 179 179
 
1069
Polygon -6459832 true true 78 167 95 187 95 208 79 220 92 234 98 235 100 249 81 246 76 241 61 212 65 195 52 170 45 150 44 128 55 121 69 121 81 135
 
1070
Polygon -6459832 true true 48 143 58 141
 
1071
Polygon -6459832 true true 46 136 68 137
 
1072
Polygon -6459832 true true 45 129 35 142 37 159 53 192 47 210 62 238 80 237
 
1073
Line -16777216 false 74 237 59 213
 
1074
Line -16777216 false 59 213 59 212
 
1075
Line -16777216 false 58 211 67 192
 
1076
Polygon -6459832 true true 38 138 66 149
 
1077
Polygon -6459832 true true 46 128 33 120 21 118 11 123 3 138 5 160 13 178 9 192 0 199 20 196 25 179 24 161 25 148 45 140
 
1078
Polygon -6459832 true true 67 122 96 126 63 144
 
1079
 
 
1080
@#$#@#$#@
 
1081
NetLogo 5.0.1
 
1082
@#$#@#$#@
 
1083
@#$#@#$#@
 
1084
@#$#@#$#@
 
1085
@#$#@#$#@
 
1086
@#$#@#$#@
 
1087
default
 
1088
0.0
 
1089
-0.2 0 1.0 0.0
 
1090
0.0 1 1.0 0.0
 
1091
0.2 0 1.0 0.0
 
1092
link direction
 
1093
true
 
1094
0
 
1095
Line -7500403 true 150 150 90 180
 
1096
Line -7500403 true 150 150 210 180
 
1097
 
 
1098
@#$#@#$#@
 
1099
0
 
1100
@#$#@#$#@