講解:Stats 102A糙申、R宾添、R、script fileR|SPSS

Stats 102A - Homework 4 Instructions: MonopolyHomework questions and instructions copyright Miles Chen, Do not post, share, or distribute without permission.Homework 4 RequirementsYou will submit three files.The files you submit will be:1. 102a_hw_04_script_First_Last.R Your R script file containing the functions you write for the homeworkassignment. Write comments as necessary.2. 102a_hw_04_output_First_Last.Rmd Take the provided R Markdown file and make the necessary edits sothat it generates the requested output. The first line of your .Rmd file should be to source the R script file youwrote.3. 102a_hw_04_output_First_Last.pdf Your output PDF file. This is the primary file that will be graded. Makesure all requested output is visible in the output file.Failure to submit all files will result in an automatic 40 point penalty.Academic IntegrityAt the top of your R markdown file, be sure to include the following statement after modifying it with your name.“By including this statement, I, Joe Bruin, declare that all of the work in this assignment is my own original work.At no time did I look at the code of other students nor did I search for code solutions online. I understand thatplagiarism on any single part of this assignment will result in a 0 for the entire assignment and that I will be referredto the dean of students.”If you collaborated verbally with other students, please also include the following line to credit them.“I did discuss ideas related to the homework with Josephine Bruin for parts 2 and 3, with John Wooden for part 2,and with Gene Block for part 5. At no point did I show another student my code, nor did I look at another student’scode.”Recommended Reading:a. S3 (not necessary for this HW): https://adv-r.hadley.nz/s3.htmlb. R6: https://adv-r.hadley.nz/r6.htmlMonopoly Board game simulationFor this homework assignment, you will create a simulation of the classic board game,Monopoly. The goal is to find out which spaces on the board get landed on the most.You will not simulate the entire game. You will simulate only the movement of pieces, and will keep track of whichsquares the pieces land on.You can familiarize yourself with the game board. (Taken from Amazon’s product page.)http://ecx.images-amazon.com/images/I/81oC5pYhh2L._SL1500_.jpgOfficial rules https://www.hasbro.com/common/instruct/monins.pdf1Rules for movementThe Monopoly Board is effectively a circle with 40 spaces on which a player can land. Players move from space tospace around the board in a circle (square).The number of spaces a player moves is determined by the roll of 2 dice. Most often, the player will roll the dice, landon a space, and end his turn there. If this were the entire game, the spaces would have a uniform distribution aftermany turns.There are, however, several exceptions which provide the primary source of variation in space landing.Go to JailOne space, “Go to Jail” sends players directly to jail (there is a jail space on the board). This space never counts ashaving been ‘landed upon.’ As soon as the player ‘lands’ here, he is immediately sent to jail, and the jail space getscounted as landed upon. This is the only space on the game board that moves a player’s piece. The count of howoften this space is landed on will always be 0.Rolling DoublesIf a player rolls doubles (two of the same number), the player moves his piece, and then gets to roll the dice again foranother move. However, if a player rolls doubles three times in a row, he is sent directly to jail. (The third space thatthe player would have ‘landed on’ does not count, but the jail space gets counted as landed on.)Card Decks: Chance and Community ChestA player can land on a “Chance” or “Community Chest” space. When a player lands on these spaces, he draws acard from the respective deck and follows its instructions. The instructions will sometimes give money to or takemoney from the player with no change in the player’s position on the board. Other times, the card will instruct theplayer to move to another space on the board. The list of cards that can be drawn from each deck is provided.There are nine cards in the Chance deck that move the player’s token. There are two cards in the Community Chestdeck that move the player’s token. All other cards do not move the player’s token. For the sake of this simulation,you only need to program actions for the cards that move the tokens. There is no need to do anything for ‘get out ofjail’ or any of the other cards.A card may say ‘move to the nearest railroad’ or ‘move to the nearest utility’ or even ‘go to property . . . ’. In thesecases, the player always moves forward. So if a player is on ‘Oriental Avenue,’ the nearest railroad is ‘PennsylvaniaRailroad’ and NOT ‘Reading Railroad.’For the sake of this simulation, the Chance and Community Chest get counted as landed on when the playerlands on the Chance or Community Chest space. The player may also generate another count if the card moves theplayer to another space on the board. In those cases, a tally is counted for the Chance/Community Chest space, thetoken is moved, and then a tally is counted for the space where the player ends his turn.JailJail is the most complicated aspect of this simulation.If a player lands on space 11 (Jail) simply from rolling the dice, he is not in Jail. He is ‘just visiting’ jail. He generatesa tally for landing on jail, and his play continues on as normal.A player can be sent to jail in several ways:? he rolls doubles three times in a row;? he lands on the “go to jail” space;? he draws a card that sends hims to jail.As soon as the player is sent to jail, his token moves to jail (space 11), he generates a count for landing on jail, andhis turn ends immediately.2On the next turn, the player begins in jail and the player will roll the dice. If he rolls doubles on the dice, he gets outof jail and moves the number of spaces the dice show. However, even though he rolled doubles, he does NOT rollagain. He takes his move out of jail and his turn ends. If he does not roll doubles, he stays in jail.A player cannot stay in jail for more than three turns. On the third turn he begins in jail, he rolls the dice and movesthe number of spaces the dice show no matter what.Play then continues as normal.For this simulation, each time a player ends his turn in Jail, a tally will be counted as having been ‘landed upon.’There are more rules on jail that include paying a fee to get out early, or using a get out of jail free card. We will notimplement those rules. We will simply simulate a ‘long stay’ strategy for Jail. This means that the player will neverpay the fee to get out jail early. He will roll the dice and only leave jail if he gets doubles or it is his third turn in jail.The AssignmentYour assignment is to implement the rules of Monopoly movement.You must use R6 to createStats 102A作業(yè)代做柜裸、代做R課程設(shè)計作業(yè)缕陕、代寫R程序語言作業(yè)、代寫script file作業(yè) 代做R語言編程|代 an object class Player which will be used to keep track of a player.Part 1You will first demonstrate that you have coded the rules by showing the output of the first 20 turns using the presetdice. Your output for this section should match the published results exactly.The output should be very verbose. It should announce the player roles, where the player moves, what spaces gettallies, if they rolled doubles, etc.Part 2The next part is to run 1,000 simulations of a two-player game that lasts 150 turns. This is a total of over 3 hundredthousand tosses of the dice - 1000 games x 150 turns x 2 players + additional rolls if the player gets doubles.Your task is to keep track of where the players land. We ultimately want to build a distribution showing whichspaces are most likely to be landed upon. Advance the tokens around the board according to the rules. Keep in mindthe special situations involving the cards, jail, and rolling doubles. After 150 turns, reset the game and start over.Simulate 1000 games.Your final output will be two tables of the spaces on the board and their frequencies. Each table will show the spacename, how many times the space was landed upon, and the relative frequency of landing on that space.The first table is arranged in descending order of frequency of landing. (Jail should be #1, Go to jail should be last.)The second table is arrange in the order of the spaces on the board. (Go will be #1, Boardwalk will be last.)Also print a bargraph showing the frequency of how often each space is landed on.You do not have to simulate or track money at all in this simulation.Starter CodeFor your convenience, I have created the necessary data frames for the game board, and the two decks of cards.I have also created several helper R6 classes for you:? PresetDice: You will use this for Part 1: showing the movement of the player for 20 turns? RandomDice: You will use this for Part 2: the simulation of 1000 games.? CardDeck: For creating the Chance and Community Chest decks. This reference class ‘shuffles’ the deck, andeach time a player draws a card, it shows the next card drawn. When all the cards in the deck have been used,it ‘shuffles’ the deck again.Please take the time to read through these R6 class definitions. Understanding the definitions, and what the methodsdo will be helpful in completing the assignment.3TipsAt first blush, the task may seem overwhelming.? Break the task into smaller manageable parts.? Start with a simulation that moves pieces around the board and keeps track of where they land. (I’ve done thispart for you in my example code.)? Then add complexity one part at a time. Each time you add something, thoroughly test it to make sure itbehaves the way you want it to.? The PresetDice reference class will be very helpful in your testing. For example, you can intentionally createsome dice rolls to test certain situations. What to test if Chance is working correctly? Set your dice to causethe player to land on Chance. Want to test if doubles is working correctly? Set the PresetDice to producedoubles. If you had purely random dice, you might have to wait for the computer to produce many manyrandom outcomes before you see three doubles in a row.My recommendation in terms of adding complexity:? Add code so landing on “Go to jail” sends the player to jail.? Add code that draws from the Chance and Community Chest decks and moves the player accordingly. Keep inmind that some cards have no effect on player movement, while other cards do.? Add code to allow players to move again after doubles.? Add code to implement the rules for Jail. You’ll need to keep track of whether the player is actually in jail ornot, how many turns the player has been in jail, and the rules for getting out.Grading1. Do NOT print the verbose version for all of 1000 games.2. We will not run your code. The simulation will take time to run, and we do not have the luxury of running theentire simulation for all students.3. We will check the output of the 20 preset turns.These are the point values of each turn. I also specify the rule implementation that we are looking for in each of theseturns.? Turn 4 (8 pts) Roll three sets of doubles, third doubles sends player to jail, also drawing community chest? Turn 6 (4 pts) Rolling doubles exits jail? Turn 8 (4 pts) Go to jail space sends player to jail? Turn 11 (4 pts) Third turn. No doubles roll. Player exits jail.? Turn 14 (4 pts) Chance card advances to nearest railroad. Take a ride on Reading Railroad.? Turn 15 (4 pts) Chance card that doesn’t move and rolling doubles.? Turn 16 (4 pts) Chance card that sends player to jail.? Turn 19 (4 pts) Rolled doubles on third turn in jail. Gets out of jail.? The other 12 turns are worth 2 points each.That is 60 points.4. We will check the final output of counts in the results tables.Things we are looking for in the results tables (5 points each):? Jail should be the most frequent space landed on.? Jail should have a frequency between 10 and 13%.? Spots 2 and 3 should be Illinois Ave and Go (possibly switched)? New York Ave. and Tennessee Ave. should be in the top 10.? Reading Railroad and B&O Railroad should be in the top 10.? Mediterranean Ave and Baltic Ave should be in the bottom 5.? Park Place should be very infrequent. Bottom 10.? Go to jail should be landed on 0 times.5. If your 20 turn output and table output matches what we are looking for, you will get full credit.46. If your outputs do not match, We will skim your code to see if certain functions or chunks of code exist to see ifyou can recover some (up to half) of the points you lost.We will check for the following sections. Because your code will be quite long, it is VERY IMPORTANT youCLEARLY mark these sections for the grader if you want to recover points.a. drawing chance cardb. drawing community chest cardc. landing on “go to jail”d. roll again for rolling doublese. going to jail for rolling three doublesf. jail functionalityYou can ‘hard code’ the functions that handle the decks. In other words, you can write something along the lines of## for chance deck...if(carddrawn == 1)code changes player position to space 1 # advance to goif(carddrawn == 2)code changes player position to space 25 # advance to Illinois avenue# etc....Good luck!I know this is a tough assignment. Like everything else in life, sometimes you have to prioritize other things (eg.health, sleep, sanity, etc.) over the task at hand.If you are unable to implement all parts of the solution, that is also okay. I cannot give you full credit, but pleaseindicate what you were able to implement and what you were not able to implement. You will be graded on what youwere able to complete.You are encouraged to talk with other students currently enrolled in Stats 102A.Best wishes!5轉(zhuǎn)自:http://www.6daixie.com/contents/18/4921.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疙挺,一起剝皮案震驚了整個濱河市扛邑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铐然,老刑警劉巖蔬崩,帶你破解...
    沈念sama閱讀 212,185評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異搀暑,居然都是意外死亡沥阳,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評論 3 385
  • 文/潘曉璐 我一進店門自点,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桐罕,“玉大人,你說我怎么就攤上這事「园恚” “怎么了侠鳄?”我有些...
    開封第一講書人閱讀 157,684評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長死宣。 經(jīng)常有香客問我伟恶,道長,這世上最難降的妖魔是什么毅该? 我笑而不...
    開封第一講書人閱讀 56,564評論 1 284
  • 正文 為了忘掉前任博秫,我火速辦了婚禮,結(jié)果婚禮上眶掌,老公的妹妹穿的比我還像新娘挡育。我一直安慰自己,他們只是感情好朴爬,可當(dāng)我...
    茶點故事閱讀 65,681評論 6 386
  • 文/花漫 我一把揭開白布即寒。 她就那樣靜靜地躺著,像睡著了一般召噩。 火紅的嫁衣襯著肌膚如雪母赵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,874評論 1 290
  • 那天具滴,我揣著相機與錄音凹嘲,去河邊找鬼。 笑死构韵,一個胖子當(dāng)著我的面吹牛周蹭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疲恢,決...
    沈念sama閱讀 39,025評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼凶朗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了冈闭?” 一聲冷哼從身側(cè)響起俱尼,我...
    開封第一講書人閱讀 37,761評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎萎攒,沒想到半個月后遇八,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,217評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡耍休,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,545評論 2 327
  • 正文 我和宋清朗相戀三年刃永,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片羊精。...
    茶點故事閱讀 38,694評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡斯够,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情读规,我是刑警寧澤抓督,帶...
    沈念sama閱讀 34,351評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站束亏,受9級特大地震影響铃在,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碍遍,卻給世界環(huán)境...
    茶點故事閱讀 39,988評論 3 315
  • 文/蒙蒙 一定铜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怕敬,春花似錦揣炕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至越庇,卻和暖如春罩锐,著一層夾襖步出監(jiān)牢的瞬間奉狈,已是汗流浹背卤唉。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仁期,地道東北人桑驱。 一個月前我還...
    沈念sama閱讀 46,427評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像跛蛋,于是被迫代替她去往敵國和親熬的。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,580評論 2 349

推薦閱讀更多精彩內(nèi)容