ArcherSysOS 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. checksums.yaml +7 -0
  2. data/-interactive +0 -0
  3. data/.302.html.swp +0 -0
  4. data/.AerodiaServer.rb.swp +0 -0
  5. data/.README.md.swp +0 -0
  6. data/.archersys_os_peace.py.swp +0 -0
  7. data/.authorize.php.swp +0 -0
  8. data/.buildinfo +4 -0
  9. data/.git.cmd.swp +0 -0
  10. data/.gitconfig +1 -0
  11. data/.gitignore +9 -0
  12. data/.htaccess +12 -0
  13. data/.index.php.swl +0 -0
  14. data/.index.php.swm +0 -0
  15. data/.index.php.swn +0 -0
  16. data/.index.php.swo +0 -0
  17. data/.index.php.swp +0 -0
  18. data/.irb.cmd.swp +0 -0
  19. data/.irb_history +436 -0
  20. data/.irbrc +24 -0
  21. data/.irbrc~ +24 -0
  22. data/.livesearch.php.swp +0 -0
  23. data/.login.php.swl +0 -0
  24. data/.login.php.swm +0 -0
  25. data/.login.php.swn +0 -0
  26. data/.login.php.swo +0 -0
  27. data/.login.php.swp +0 -0
  28. data/.logout.php.swp +0 -0
  29. data/.npmrc +96 -0
  30. data/.os-desktop.php.swp +0 -0
  31. data/.pythonrc.py +11 -0
  32. data/.railsrc +1 -0
  33. data/.travis.yml +3 -0
  34. data/.vimstarter.bat.swp +0 -0
  35. data/302.html +8 -0
  36. data/401.html +43 -0
  37. data/403.html +9 -0
  38. data/404.html +43 -0
  39. data/7imperialisminjapan2.ppt +0 -0
  40. data/8_imperialism_by_the_united_states2.ppt +0 -0
  41. data/AbstractArrbyKlass.rb +16 -0
  42. data/AbstractImplementation.rb +10 -0
  43. data/Aerodia2.scn +0 -0
  44. data/AerodiaServer.rb +130 -0
  45. data/AerodiaServer.rb~ +129 -0
  46. data/AerodiaServer.txt +53 -0
  47. data/ArcherCGI.txt +8 -0
  48. data/ArcherDBM.rb +30 -0
  49. data/ArcherSysOS.gemspec +33 -0
  50. data/ArcherSysOS.rb +13 -0
  51. data/ArcherSysOS.rb.txt +13 -0
  52. data/ArcherSysOSDate.rb +10 -0
  53. data/ArcherSysOSOptionsParser.rb +108 -0
  54. data/ArcherSysOSOptionsParser.rb~ +108 -0
  55. data/ArcherVMCashewDelegator.rb +17 -0
  56. data/ArcherVMCashewLogger.rb +55 -0
  57. data/ArcherVMCashewLogger.rb~ +55 -0
  58. data/ArcherVMCashewTimeServer.rb +23 -0
  59. data/ArcherVMCashewTimeServer.rb~ +23 -0
  60. data/ArcherVMException.rb +13 -0
  61. data/CHANGELOG.md +4 -0
  62. data/CONTRIBUTING.md +8 -0
  63. data/CodeIgniter_2.2.0.zip +0 -0
  64. data/ConfigTest.php +11 -0
  65. data/F16MUDCockpitServlet.rb +14 -0
  66. data/F16MUDTape.rb +7 -0
  67. data/F16Shell.rb +42 -0
  68. data/Gemfile +4 -0
  69. data/LICENSE +19 -0
  70. data/Listing.rb +31 -0
  71. data/Middleware.rb +12 -0
  72. data/Middleware.txt +12 -0
  73. data/Movie.rb +8 -0
  74. data/MovieLibrary.rb +10 -0
  75. data/MySQLDumper1.24.4.zip +0 -0
  76. data/NotakerPro.aia +0 -0
  77. data/Num.rb +17 -0
  78. data/OSStartScreen.py +31 -0
  79. data/Product.rb +26 -0
  80. data/QAERODIACORP.sav +0 -0
  81. data/Queue.rb +16 -0
  82. data/Queue.rb~ +15 -0
  83. data/README.md +39 -0
  84. data/README.md~ +46 -0
  85. data/Rakefile +1 -0
  86. data/StockTickerServlet.rb +19 -0
  87. data/StockTickerServlet.rb~ +19 -0
  88. data/Symfony_cookbook_2.5.pdf +35637 -39
  89. data/Taxgator.rb +9 -0
  90. data/Tetris +2 -0
  91. data/Ticker.rb +63 -0
  92. data/Ticker.rb~ +63 -0
  93. data/WeakHash.rb +10 -0
  94. data/WikiPage.rb +27 -0
  95. data/WikiPage.rb~ +27 -0
  96. data/ZlibEngine.rb +20 -0
  97. data/_.swm +0 -0
  98. data/_.swn +0 -0
  99. data/_.swo +0 -0
  100. data/_.swp +0 -0
  101. data/acoserver_acoserver (2).sql +15131 -0
  102. data/acoserver_acoserver.sql +34707 -0
  103. data/acoserver_admin.sql +571 -0
  104. data/acoserver_games.sql +6344 -0
  105. data/acoserver_moodle.sql +16013 -0
  106. data/activate_docs_gen.bat +1 -0
  107. data/activate_docs_gen.txt +1 -0
  108. data/ager.py +6 -0
  109. data/alarmpy.py +6 -0
  110. data/american_imperialism2.ppt +0 -0
  111. data/apple-touch-icon.png +0 -0
  112. data/apps.php +35 -0
  113. data/apps.php.txt +7 -0
  114. data/arbylog.rb +16 -0
  115. data/archergit.py +6 -0
  116. data/archergit.py.txt +6 -0
  117. data/archergit.txt +6 -0
  118. data/archerlua.lua +3 -0
  119. data/archersys-logo.png +0 -0
  120. data/archersys.gemspec +32 -0
  121. data/archersys_os_peace.py +7 -0
  122. data/archersys_os_peace.py~ +5 -0
  123. data/autoexec.bat +3 -0
  124. data/bootstrap-tour.css +65 -0
  125. data/bootstrap-tour.js +698 -0
  126. data/bootstrap-tour.min.css +19 -0
  127. data/bootstrap-tour.min.js +19 -0
  128. data/bootstrap.css +7098 -0
  129. data/bootstrap.js +2002 -0
  130. data/bucketwise-master.zip +0 -0
  131. data/cargo.bat +1 -0
  132. data/cargo.cmd +1 -0
  133. data/changelog.txt +769 -0
  134. data/client_secrets.json +4 -0
  135. data/cockpitguess.py +12 -0
  136. data/collaborant-0.1.0.gem +0 -0
  137. data/composer.json +40 -0
  138. data/composer.lock +1484 -0
  139. data/composer.phar +0 -0
  140. data/conchtack_id.dat +0 -0
  141. data/config.json +4 -0
  142. data/config.php +17 -0
  143. data/config.ru +5 -0
  144. data/config.yml +16 -0
  145. data/console.html +8 -0
  146. data/console.php +42 -0
  147. data/contact.db +0 -0
  148. data/contacts.db +0 -0
  149. data/contrib-update.cmd +6 -0
  150. data/contrib-update.cmd~ +6 -0
  151. data/crossdomain.xml +9 -0
  152. data/cse.xml +25 -0
  153. data/depression_dbq.pdf +0 -0
  154. data/desktop-w10.php +6 -0
  155. data/desktop.html +33 -0
  156. data/desktop.php +310 -0
  157. data/dialogue.txt +13 -0
  158. data/dict.rb +15 -0
  159. data/dictionary_of_words.db +0 -0
  160. data/doc-create.html +5 -0
  161. data/doc-create.php +12 -0
  162. data/dokuwiki-d9556fbc2c1c07a0baaf81c07d4165f6.tgz +0 -0
  163. data/drive-appfolder.php +19 -0
  164. data/drive.php +49 -0
  165. data/dropbox-login.php +13 -0
  166. data/drupal-7.34.zip +0 -0
  167. data/dtop.php +131 -0
  168. data/f18mud.rb +2 -0
  169. data/favicon.ico +0 -0
  170. data/favicon.png +0 -0
  171. data/footer.html +5 -0
  172. data/forum.php +5 -0
  173. data/game1.py +171 -0
  174. data/genindex.html +164 -0
  175. data/git.cmd~ +2 -0
  176. data/github-ci.rb +6 -0
  177. data/histogram.py +36 -0
  178. data/htdocs.gemspec~ +31 -0
  179. data/https___summerjobs.dc.gov_(S(ryzytlym5hqgi255zgb4ojjk))_parental_consent_form.pdf +0 -0
  180. data/ieconfig.xml +12 -0
  181. data/imperialism_dbq_questions2.doc +0 -0
  182. data/imperialism_graphic_organizer2.docx +0 -0
  183. data/index-desktop.php +42 -0
  184. data/index-desktop.php.txt +14 -0
  185. data/index.html +175 -0
  186. data/index.php +302 -0
  187. data/index.php~ +315 -0
  188. data/info.php +3 -0
  189. data/iostarter.py +88 -0
  190. data/irb.cmd +3 -0
  191. data/irb.cmd~ +2 -0
  192. data/jquery-mobile-theme-105213-0.zip +0 -0
  193. data/jquery-ui-1.11.1.custom.zip +0 -0
  194. data/laravel-master.zip +0 -0
  195. data/laravel.phar +0 -0
  196. data/latest_specs.4.8 +0 -0
  197. data/latest_specs.4.8.gz +0 -0
  198. data/login.php +266 -0
  199. data/login.php~ +265 -0
  200. data/logout.php +13 -0
  201. data/logout.php~ +13 -0
  202. data/lua.bat +1 -0
  203. data/main.php +22 -0
  204. data/manage.py +10 -0
  205. data/manifest.appcache +22 -0
  206. data/manifest.json +19 -0
  207. data/manifest.webapp +14 -0
  208. data/meter.js +19 -0
  209. data/meter.php +17 -0
  210. data/mime.types +0 -0
  211. data/moodle.sqk +12123 -0
  212. data/moodle.sql +12123 -0
  213. data/movielibrary.rhtml +16 -0
  214. data/mud_login.rb +38 -0
  215. data/news.py +18 -0
  216. data/node.exe +0 -0
  217. data/node_etw_provider.man +153 -0
  218. data/node_perfctr_provider.man +107 -0
  219. data/nodejs-portable.bat +194 -0
  220. data/nodevars.bat +24 -0
  221. data/notifications-gateway.php +5 -0
  222. data/now.bat +3 -0
  223. data/npm +14 -0
  224. data/npm-debug.log +40 -0
  225. data/npm.cmd +6 -0
  226. data/objects.inv +0 -0
  227. data/ocular.phar +0 -0
  228. data/opensearch.xml +12 -0
  229. data/os-desktop.php +211 -0
  230. data/os-mobile.php +127 -0
  231. data/package.json +5 -0
  232. data/parse-js-blank-1.3.0.zip +0 -0
  233. data/partii.appcache +2 -0
  234. data/pear.conf +2 -0
  235. data/phpldapadmin-1.2.3.zip +0 -0
  236. data/phpliteAdmin_v1-9-5.zip +0 -0
  237. data/phpunit.cmd +1 -0
  238. data/phpunit.dist.xml +8 -0
  239. data/phpunit.phar +77428 -2
  240. data/phpunit.xml +8 -0
  241. data/pik.bat +3 -0
  242. data/pik.ps1 +3 -0
  243. data/pik_runner.exe +0 -0
  244. data/pip-selfcheck.json +1 -0
  245. data/prerelease_specs.4.8 +0 -0
  246. data/prerelease_specs.4.8.gz +0 -0
  247. data/producktivshellwin +0 -0
  248. data/profile.php +7 -0
  249. data/prototype.php +7 -0
  250. data/pyconsole.cmd +3 -0
  251. data/pyconsole.py +8 -0
  252. data/pygubu-asos.py +19 -0
  253. data/pythonray.py +62 -0
  254. data/pythonray.py~ +62 -0
  255. data/pyvenv.cfg +3 -0
  256. data/radius.py +12 -0
  257. data/react-0.11.2.zip +0 -0
  258. data/readme.txt +8 -0
  259. data/register.php +130 -0
  260. data/register.php~ +126 -0
  261. data/rockpaperscissors.py +68 -0
  262. data/rockpaperscissors.py~ +28 -0
  263. data/run_f16.rb +2 -0
  264. data/rustc.cmd +1 -0
  265. data/scrollbar.css +6 -0
  266. data/scrollbar.css~ +4 -0
  267. data/scrutinizer.yml +5 -0
  268. data/search.html +177 -0
  269. data/searchindex.js +1 -0
  270. data/setup-owncloud.php +300 -0
  271. data/setup.py +9 -0
  272. data/sinatra-1.4.5.gem +0 -0
  273. data/smartsheet.html +1 -0
  274. data/span.html +5 -0
  275. data/specs.4.8 +0 -0
  276. data/specs.4.8.gz +0 -0
  277. data/starter-kit-1.8.1.zip +0 -0
  278. data/startscreen.php +11 -0
  279. data/startscreen.py +33 -0
  280. data/startup.png +0 -0
  281. data/svg-edit-2.6.zip +0 -0
  282. data/symfony.com_pdf_Symfony_book_2.5.pdf +0 -0
  283. data/telnet-client.py +18 -0
  284. data/tess.py +26 -0
  285. data/time.css +279 -0
  286. data/time.html +2 -0
  287. data/time.php +56 -0
  288. data/tinymce_spellchecker_php_2_0_6_1.zip +0 -0
  289. data/urllib2.py +1371 -0
  290. data/uru.bat +12 -0
  291. data/uru.bat.bak +12 -0
  292. data/uru.ps1 +11 -0
  293. data/uru.ps1.bak +11 -0
  294. data/uru_rt.exe +0 -0
  295. data/vimstarter.bat +3 -0
  296. metadata +338 -0
@@ -0,0 +1,13 @@
1
+ <dl>
2
+ <dt>&iquest;Hola Q&uacute; tal?
3
+ <dd>Hola</dd>
4
+ <dt>&iquest; C&oacute;mo te llamas?</dt>
5
+ <dd>Me llamo Marta. &iquest;Y t&uacute; C&oacute;mo te llamas?
6
+ <dt>Me llamo Carlos
7
+ <dd>Encantada</dd>
8
+ <dt>Con Mucho Gusto &iquest; De D&oacute;nde eres?</dt>
9
+ <dd> Soy de Soy Colombiana &iquest; t&uacute; de d&oacute;nde eres?
10
+ <dt>Soy Venezolano</dt>
11
+ <dd>&iexcl;Q&uacute;e bien!
12
+
13
+ <dt>
data/dict.rb ADDED
@@ -0,0 +1,15 @@
1
+ module ArcherSysOS
2
+ class WordDictionary
3
+ def initialize(title)#creates a hash like a dictionary
4
+ @title = title
5
+ @words = Hash.new
6
+
7
+ end
8
+ def add_entry(word,definition) # Add Definitions
9
+ @words[word] = definition
10
+ end
11
+ def get_entry(word)
12
+ return "#{!word.capitalize} : #{@words[word]}"
13
+ end
14
+ end
15
+ end
Binary file
@@ -0,0 +1,5 @@
1
+ <?php
2
+ $contents = $_POST["content"];
3
+ $title = $_POST["title"];
4
+ $file = ParseFile::createFromData($contents, $title.".html");
5
+ ?>
@@ -0,0 +1,12 @@
1
+ <?php
2
+ require 'vendor/autoload.php';
3
+
4
+ use Parse\ParseClient;
5
+
6
+ ParseClient::initialize('KFNVzk7T8kVDWwzid200j9Yd2DonVQa7bcgXoNg2', 'LgTcbJTbUzaFkEdb4gXv5q6Ja9FaUUqTH05eG0sF', 'JPtos4hBuaVKmlbbLsPc4q6psGybfgiYIiFzS0dH');
7
+ use Parse\ParseFile;
8
+ $contents = $_POST["content"];
9
+ $title = $_POST["title"];
10
+ $file = ParseFile::createFromData($contents, $title.".html");
11
+
12
+ ?>
@@ -0,0 +1,19 @@
1
+
2
+ <?php
3
+ /*
4
+ Print metadata for the Application Data folder.
5
+
6
+ @param Google_DriveService $service Drive API service instance.
7
+ */
8
+
9
+ function printApplicationDataFolderMetadata($service) {
10
+ try {
11
+ $file = $service->files->get("appfolder");
12
+
13
+ print "Id: " . $file->getId();
14
+ print "Title: " . $file->getTitle();
15
+ } catch (Exception $e) {
16
+ print "An error occurred: " . $e->getMessage();
17
+ }
18
+ }
19
+ ?>
@@ -0,0 +1,49 @@
1
+ <html>
2
+ <head>
3
+ <script type="text/javascript" src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>
4
+ <script type="text/javascript">
5
+ var CLIENT_ID = ' 601913270428-2jr0q7qae7qfgdknl1n0s8elvsolukk4.apps.googleusercontent.com';
6
+ var SCOPES = [
7
+ 'https://www.googleapis.com/auth/drive.file',
8
+ 'https://www.googleapis.com/auth/userinfo.email',
9
+ 'https://www.googleapis.com/auth/userinfo.profile',
10
+ // Add other scopes needed by your application.
11
+ ];
12
+
13
+ /**
14
+ * Called when the client library is loaded.
15
+ */
16
+ function handleClientLoad() {
17
+ checkAuth();
18
+ }
19
+
20
+ /**
21
+ * Check if the current user has authorized the application.
22
+ */
23
+ function checkAuth() {
24
+ gapi.auth.authorize(
25
+ {'client_id': CLIENT_ID, 'scope': SCOPES.join(' '), 'immediate': true},
26
+ handleAuthResult);
27
+ }
28
+
29
+ /**
30
+ * Called when authorization server replies.
31
+ *
32
+ * @param {Object} authResult Authorization result.
33
+ */
34
+ function handleAuthResult(authResult) {
35
+ if (authResult) {
36
+ // Access token has been successfully retrieved, requests can be sent to the API
37
+ } else {
38
+ // No access token could be retrieved, force the authorization flow.
39
+ gapi.auth.authorize(
40
+ {'client_id': CLIENT_ID, 'scope': SCOPES, 'immediate': true},
41
+ handleAuthResult);
42
+ }
43
+ }
44
+ </script>
45
+ </head>
46
+ <body>
47
+ <!-- YOUR CONTENT -->
48
+ </body>
49
+ </html>
@@ -0,0 +1,13 @@
1
+ <?php
2
+ require_once "vendor/autoload.php";
3
+ use Dropbox;
4
+
5
+ $appInfo = Dropbox\AppInfo::loadFromJsonFile("config.json");
6
+ $webAuth = new Dropbox\WebAuthNoRedirect($appInfo, "ArcherSys/1.0");
7
+
8
+ $authorizeUrl = $webAuth->start();
9
+ echo "1. Go to: " . $authorizeUrl . "\n";
10
+ echo "2. Click \"Allow\" (you might have to log in first).\n";
11
+ echo "3. Copy the authorization code.\n";
12
+ $authCode = \trim(\readline("Enter the authorization code here: "));
13
+ ?>
Binary file
@@ -0,0 +1,131 @@
1
+ <!DOCTYPE HTML>
2
+ <html>
3
+ <head>
4
+ <link rel="icon" href="favicon.png">
5
+ <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet" type="text/css">
6
+ <meta content='width=device-width, initial-scale=1.0, user-scalable=no' name='viewport'>
7
+ <title>ArcherSys Desktop</title>
8
+
9
+ <script src="http://localhost:80/js/libs/jquery.min.js"></script>
10
+ <script src="bootstrap/js/bootstrap.min.js"></script>
11
+ <script src="bootstrap.js"></script>
12
+ <link href="bootstrap.css" rel="stylesheet"/>
13
+ <link href="bootstrap-tour.min.css" rel="stylesheet"/>
14
+ <link href="bootstrap-tour.min.css" rel="stylesheet"/>
15
+ <script src="bootstrap-tour.min.js"></script>
16
+ <script src="bootstrap-tour.js"></script>
17
+ <script src="assets/js/bootstrap.js"></script>
18
+ <script>
19
+ TogetherJSConfig_toolName = "BIRD";
20
+ </script>
21
+ <script src="/js/libs/togetherjs.js"></script>
22
+ <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script>
23
+ <script type="text/javascript" src="https://www.google.com/jsapi"></script>
24
+ <script>
25
+
26
+
27
+
28
+ $(function(){
29
+ var enabled = (enabled === true) ? false : true;
30
+
31
+
32
+ $("#contentspace").append("<iframe id=\"mapsframe\" width=\"1261\" height=\"634\" frameborder=\"0\" style=\"border:0\" src=\"https://www.google.com/maps/embed/v1/place?q=United%20States&key=AIzaSyAPx5WHasOtdyDoWMq2jnJ3RLId1MIeXgo&maptype=satellite\"></iframe>");
33
+
34
+ $("#mapstoggler").click(function(){
35
+
36
+
37
+ $("#mapsframe").toggle();
38
+ enabled = (enabled === true) ? false : true;
39
+ if(enabled){
40
+ $("#mapstoggler").html("Hide Maps");
41
+
42
+ }else{
43
+ $("#mapstoggler").html("Show Maps");
44
+ }
45
+
46
+
47
+ });
48
+ $("#lbactivate").click(function(){
49
+ $("#mapsframe").hide();
50
+ $("#contentspace").append("<iframe id=\"lbview\" width=\"1700\" height=\"594\" src=\"" + prompt("URL:") + "\"></iframe>");
51
+
52
+
53
+ });
54
+ });
55
+ </script>
56
+ <style>
57
+ #contentspace ul,#contentspace li {
58
+ list-style: none;
59
+ padding: 75px;;
60
+ margin: 0; }
61
+ </style>
62
+ </head>
63
+ <body>
64
+ <div class="container-fluid">
65
+ <ul class="nav nav-tabs">
66
+
67
+ <li><a class="brand" href="#">ArcherSys Desktop</a></li>
68
+ <li><a href="wordpress">Social</a></li>
69
+
70
+
71
+ </ul>
72
+
73
+
74
+
75
+
76
+
77
+
78
+ <div class="container-fluid" id="contentspace">
79
+
80
+ <script>
81
+ (function() {
82
+ var cx = '008504857794623096248:mitppbrolh4'; // Insert your own Custom Search engine ID here
83
+ var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
84
+ gcse.src = (document.location.protocol == 'https' ? 'https:' : 'http:') +
85
+ '//www.google.com/cse/cse.js?cx=' + cx;
86
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
87
+ })();
88
+ </script>
89
+ <gcse:search enableAutoComplete="true"></gcse:search>
90
+
91
+
92
+ </div>
93
+ <div class="container-fluid">
94
+
95
+ <script>
96
+ function onYtEvent(payload) {
97
+ if (payload.eventType == 'subscribe') {
98
+ // Add code to handle subscribe event.
99
+ } else if (payload.eventType == 'unsubscribe') {
100
+ // Add code to handle unsubscribe event.
101
+ }
102
+ if (window.console) { // for debugging only
103
+ window.console.log('YT event: ', payload);
104
+ }
105
+ }
106
+ </script>
107
+
108
+
109
+
110
+ <div class="container-fluid">
111
+
112
+ <nav class="nav navbar-default navbar-fixed-bottom">
113
+ <button id="birdc" class="btn btn-default btn-lg" onclick="TogetherJS(this); return false;">Connect</button>
114
+ <button class="btn btn-default btn-lg" id="mapstoggler" >Show Maps</button>
115
+ <button class="btn btn-default btn-lg" id="lbactivate" >Live Binder</button>
116
+ <div class="g-ytsubscribe" data-channel="GoogleDevelopers" data-layout="full" data-theme="dark" data-count="default" data-onytevent="onYtEvent"></div>
117
+ <div class="g-plusone" data-size="small" data-href="https://twitter.com"></div>
118
+
119
+
120
+ </nav>
121
+ </div>
122
+ </div>
123
+ <script type="text/javascript">
124
+ (function() {
125
+ var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
126
+ po.src = 'https://apis.google.com/js/platform.js';
127
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
128
+ })();
129
+ </script>
130
+ </body>
131
+ </html>
@@ -0,0 +1,2 @@
1
+ require "F16Shell.rb"
2
+ Bombshell.launch(ArcherSysOS::F16MUD::Shell)
Binary file
Binary file
@@ -0,0 +1,5 @@
1
+ <footer>
2
+ <ul class="nav nav-pills">
3
+ <li class="active"><a href="#" id="birdjs-start">Start Bird</a></li>
4
+ </ul>
5
+ </footer>
@@ -0,0 +1,5 @@
1
+ <?php
2
+ require "includes\ViewManager.php";
3
+ use ArcherSys\Viewer\ViewManager;
4
+ ViewManager::addProductForum("main");
5
+ ?>
@@ -0,0 +1,171 @@
1
+ # Carlos Pedro Gonçalves, 2015, Instituto Superior de Ciências Sociais e Políticas (ISCSP), University of Lisbon
2
+ # E-mail: cgoncalves@iscsp.ulisboa.pt
3
+ #
4
+ # Applied Artificial Intelligence Classes: Artificial Intelligence Applied to Game Theory
5
+ #
6
+ # Lecture 1: Prisoner's Dilemma: Company's Cooperation Game
7
+ #
8
+ # ----------------------------------------
9
+ # | Cooperate | Defect |
10
+ # ----------------------------------------
11
+ # Cooperate | (2.5,2.5) | (0,5) |
12
+ # ----------------------------------------
13
+ # Defect | (5,0) | (1,1) |
14
+ # ---------------------------------------
15
+ #
16
+ # If both cooperate they share the strategic value of 5 in equal parts (2.5 for each).
17
+ # If one cooperates and the other defects, then, the one that defects gets the strategic value of 5, and the other gets nothing.
18
+ # If both defect, then, they cancel each other out and receive 1 each.
19
+
20
+ class game:
21
+ def __init__(self,players,structure):
22
+ self.players = players
23
+ self.structure = structure
24
+
25
+
26
+ class player:
27
+ def __init__(self,name, strategySpace, payoffs, choice, suboptimal, strategies):
28
+ self.name = name
29
+ self.strategySpace = strategySpace
30
+ self.payoffs = payoffs
31
+ self.choice = choice
32
+ self.suboptimal = suboptimal
33
+ self.strategies = strategies
34
+
35
+ def processGame(self,G):
36
+ for X in G:
37
+ if X[0] == self.name:
38
+ for j in range(1,len(X)):
39
+ Branch = X[j]
40
+ Alternative = Branch[0:len(Branch) - 1 ]
41
+ self.strategySpace = self.strategySpace + [Alternative]
42
+ self.payoffs = self.payoffs + [Branch[len(Branch) - 1]]
43
+
44
+ def evaluate(self):
45
+ X = []
46
+ for i in range(0,len(self.strategySpace)):
47
+ Alternative1 = self.strategySpace[i]
48
+ for j in range(0,len(self.strategySpace)):
49
+ Alternative2 = self.strategySpace[j]
50
+ if Alternative1 != Alternative2:
51
+ if len(Alternative1) == len(Alternative2):
52
+ Compare = 0
53
+ for k in range(0,len(Alternative1) - 1):
54
+ if Alternative1[k] == Alternative2[k]:
55
+ Compare = Compare + 0
56
+ else:
57
+ Compare = Compare + 1
58
+ if Compare == 0:
59
+ PayoffCompare = [self.payoffs[i],self.payoffs[j]]
60
+ M = max(PayoffCompare)
61
+ if self.payoffs[i] == M:
62
+ self.choice = Alternative1
63
+ X = X + [self.choice]
64
+ else:
65
+ self.suboptimal = self.suboptimal + [Alternative1]
66
+ if self.payoffs[j] == M:
67
+ self.choice = Alternative2
68
+ X = X + [self.choice]
69
+ else:
70
+ self.suboptimal = self.suboptimal + [Alternative2]
71
+ X = set(X)
72
+ self.suboptimal = set(self.suboptimal)
73
+ self.strategies = list(X - self.suboptimal)
74
+ print "\nStrategies selected by ", self.name,":"
75
+ print self.strategies
76
+
77
+
78
+ class nash:
79
+ def __init__(self,equilibrium):
80
+ self.equilibrium = equilibrium
81
+
82
+ def compareTuples(self,tuple0,tuple1,response):
83
+ counter = 0
84
+ len0 = len(tuple0)
85
+ len1 = len(tuple1)
86
+ for element in tuple0:
87
+ if element in tuple1:
88
+ counter += 1
89
+ if counter == len0 and len0 == len1:
90
+ response = 'Match'
91
+ else:
92
+ response = 'Do not match'
93
+ return response
94
+
95
+ def inList(self,tupleA,listB,response):
96
+ for tupleB in listB:
97
+ response = self.compareTuples(tupleA,tupleB,None)
98
+ if response == 'Match':
99
+ break
100
+ return response
101
+
102
+ def inCommon(self,listA,listB):
103
+ X = []
104
+ for tupleA in listA:
105
+ response = self.inList(tupleA,listB,None)
106
+ if response == 'Match':
107
+ X = X + [tupleA]
108
+ return X
109
+
110
+ def compare(self,listA,Slist):
111
+ X = listA
112
+ for S in Slist:
113
+ Y = self.inCommon(X,S)
114
+ X = Y
115
+ self.equilibrium = X
116
+
117
+
118
+
119
+ #################################################################################
120
+
121
+ # Game Definition:
122
+
123
+ GameCompanyA = ['Company A',
124
+ ('B cooperates', 'A cooperates', 2.5),
125
+ ('B cooperates', 'A defects', 5),
126
+ ('B defects', 'A cooperates', 0),
127
+ ('B defects', 'A defects', 1)]
128
+
129
+ GameCompanyB = ['Company B',
130
+ ('A cooperates', 'B cooperates', 2.5),
131
+ ('A cooperates', 'B defects', 5),
132
+ ('A defects', 'B cooperates', 0),
133
+ ('A defects', 'B defects', 1)]
134
+
135
+
136
+ Game = game(('Company A','Company B'),[GameCompanyA, GameCompanyB])
137
+
138
+ # Definition of players:
139
+
140
+ CompanyA = player('Company A',[],[],None,[],None)
141
+ CompanyB = player('Company B',[],[],None,[],None)
142
+
143
+
144
+ Players = [CompanyA, CompanyB]
145
+
146
+ for AI in Players:
147
+ AI.processGame(Game.structure)
148
+ AI.evaluate()
149
+
150
+
151
+ # Game Equilibrium Computation:
152
+
153
+
154
+ ChoicesByPlayers = []
155
+
156
+ for AI in Players:
157
+ ChoicesByPlayers = ChoicesByPlayers + [AI.strategies]
158
+
159
+ N = ChoicesByPlayers[len(ChoicesByPlayers) - 1]
160
+
161
+ Nash = nash(None)
162
+
163
+ Nash.compare(N,ChoicesByPlayers[0:len(ChoicesByPlayers) - 1])
164
+
165
+ if len(Nash.equilibrium) == 0:
166
+ print "\nThis game has no equilibrium in pure strategies"
167
+ else:
168
+ print "\nThe Nash equilibria of this game are:\n"
169
+ for K in Nash.equilibrium:
170
+ print K
171
+