精品深夜AV无码一区二区_伊人久久无码中文字幕_午夜无码伦费影视在线观看_伊人久久无码精品中文字幕

INFO-5060代做、代寫C++程序語言

時間:2024-03-29  來源:  作者: 我要糾錯



Program:    CPA3-5
Course:    INFO-5060
Professor:    Tony Haworth
Project:    WordleTM Game
Due Date:    Thursday, March 28, 2024  (by 11:59 pm)
Last Update:    March 4, 2024
To be completed in a group of two or three students. 
You may work with students in another section of the course.
BE SURE TO CREDIT ALL STUDENTS in the submission & comments!
Description
You will create a version of the game WordleTM involving a pair of gRPC services and console or GUI client. All components must be implemented using C#. You’ll also submit a video demonstration of it!
Purpose
On completing this project, you should be able to:
1.Develop a basic gRPC service. 
2.Develop a gRPC service that:
a.Incorporates a bidirectional stream. 
b.Operates as both a service and a client.
3.Develop a client application which consumes a gRPC service.
4.Configure/deploy a multiply-assembly application involving the above components.
Background 
WordleTM is a popular, single-player word-guessing game made famous by the New York Times. If you aren’t familiar with it, here is a link to the game. Our version will also be a single-player game, but the user will receive statistics at the end of the game which will inform them how well they did compared to other users.
Functional Requirements
Your overall submission will implement the game of WordleTM. The following game description includes illustrations which mimic the official game’s user-interface. However, you aren’t required to exactly mimic this UI. In fact, some sample output has also been provided illustrating a sample console UI.
1.The user is challenged to guess a valid*, five-letter English word (the wordtoguess). 
                        Before the first guess. No letters have yet been entered or revealed.
2.Letters may be revealed after each guess if the user’s guess contains one or more of the letters contained in the wordtoguess. The wordtoguess will be identical for all users using the application on the same calendar day. Each day the game will challenge users with another wordtoguess which is randomly selected.
3.The user will be allowed up to a maximum of six guesses to uncover the wordtoguess. A valid guess consists of a five-letter English word that is contained in the file wordle.json (provided). If a guess does not represent a valid word, it will be rejected, and the guess won’t count as one of the six guesses.
4.For each guess, any letters in the guessed word that also appear in the wordtoguess will be flagged in one of two ways. If a letter in the user’s guess matches a letter in the wordtoguess and is in the correct position, it will be identified in one way (shown below on a green background). Whereas if a letter in the guess is also in the wordtoguess but is not in the correct position it will be identified differently (shown below on a yellow background).
5.The UI will also inform the user of which letters of the alphabet have been guessed incorrectly, which have been guessed correctly, which have not been used yet in any guesses.
C    L    O    U    D        Guess #1: O is in the word and is in the right position. C, L, U, D are not in the word.

P    H    O    T    O        Guess #2: P, O(x2) are in the word. Only 1st O is in the right position. H, T are wrong.

S    W    O    O    P        Guess #3: S and both O’s are in position. P is in the wrong position. W is wrong.


S    P    O    O    F        Guess #4: S, P and both O’s are correct and in position. F is not in the word.

S    P    O    O    N        Guess #5: Guessed the word.
6.At the end of the game, it will state whether the user has won or lost. It will also show some statistics for all users who have played today’s game, including:
a.The number of users/players who have played today’s game.
b.The percent of players who have won the game.
c.A distribution of how many guesses (from 1 to 6) it took users to guess the word.
7.When the local time passes midnight, the user-statistics must reset, and the word-to-guess must be changed.
8.For this simplified version, if a user attempts to replay the game on the same day they should been treated like a different user and should be allowed to play. 
9.The application must support concurrent users/players. 

Here is some sample output that illustrates similar functionality using a monochromatic console UI. The user-inputs have been highlighted in yellow text.

+-------------------+
|   W O R D L E D   |
+-------------------+

You have 6 chances to guess a 5-letter word.
Each guess must be a 'playable' 5 letter word.
After a guess the game will display a series of
characters to show you how good your guess was.
x - means the letter above is not in the word.
? - means the letter should be in another spot.
* - means the letter is correct in this spot.

     Available: a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z

(1): cloud
     xx*xx

     Included:  o
     Available: a,b,e,f,g,h,i,j,k,m,n,p,q,r,s,t,v,w,x,y,z
     Excluded:  c,d,l,u

(2): photo
     ?x*x?

     Included:  o,p
     Available: a,b,e,f,g,i,j,k,m,n,q,r,s,v,w,x,y,z
     Excluded:  c,d,h,l,t,u

(3): swoop
     *x**?

     Included:  o,p,s
     Available: a,b,e,f,g,i,j,k,m,n,q,r,v,x,y,z
     Excluded:  c,d,h,l,t,u,w

(4): spoof
     ****x

     Included:  o,p,s
     Available: a,b,e,g,i,j,k,m,n,q,r,v,x,y,z
     Excluded:  c,d,f,h,l,t,u,w

(5): spoon
     *****

You win!

Statistics
----------

Players:    4
Winners:    75%
Guess Distribution...
 1: 0
 2: 2
 3: 1
 4: 0
 5: 0
 6: 0
Non-Functional Requirements
The system will consist of three executable C# applications targeting .NET 7.0. The identifiers used here are for explanatory purposes. You may rename any application, service, or RPC to suit you. The RPCs may also accept or return additional fields. You may not include additional RPCs.
1.WordServer
a.A supporting gRPC service application which exposes a gRPC service called DailyWord with the following RPCs:
i.GetWord
1.Returns a 5-letter English word from the file wordle.json. 
2.Returns the same 5-letter word anytime it is invoked during the same calendar day.
3.Returns different 5-letter words if invoked on two consecutive calendar days.
ii.ValidateWord
1.Returns a Boolean value of true if the word argument passed-in matches a word in the file wordle.json.
b.This is the only application that will have access to the file wordle.json.
2.WordleGameServer
a.A main gRPC service which implements most of the game rules and exposes a gRPC service called DailyWordle. 
b.This server will communicate with the WordServer’s DailyWord service to:
i.Obtain the daily word-to-guess using the GetWord RPC.
ii.Validate each guess submitted by the user using the ValidateWord RPC.
c.This server exposes a gRPC service called DailyWordle with the following RPCs:
i.Play
1.Uses a bidirectional stream to run a complete game of WordleTM.
2.The stream will repeatedly accept word guesses from the client until the correct word has been provided or the client has submitted 6 guesses, whichever occurs first.
3.The RPC will return a response to the client for each word played which will indicate whether the guess was correct, whether the game is over and detailed information about which letters of the guess are in the correct position, which letters of the guess are included in the word but are not in the correct position. which letters are incorrect (not in the word-to-guess) and which letters have not yet been used in any guess.
4.When the RPC stream is finishing it will update game statistics for all users in a file (any file format you chose) which will include the number of players that have played the current word, the number of players that guessed the word correctly and the distribution of guesses used by the players who guessed the word correctly (how many players guessed it in one guess, how many guessed it in two guesses, etc.). You should handle any deadlock (e.g. by using a Mutex object) that could occur when two game streams attempt to update the file concurrently.
5.It’s up to you how you handle the rollover from one day to the next. There are some tricky issues here such as what happens if a player starts a game before midnight but finishes the game after midnight. Just know that your game won’t be evaluated this way. However, the word-to-guess should rollover from one day to the next and the user-statistics should also reset.
ii.GetStats
1.Returns all the stored user-statistics for the current daily word as shown at the end of the sample console output.
3.WordleGameClient
a.A console or GUI client
b.Connects to the WordleGameServer’s DailyWordle.service to:
i.Play the daily word game via the Play (bidirectional stream) RPC.
ii.Retrieve and display user-statistics at the end of the game via the GetStats RPC.

Tips and Suggestions
1.Here is a basic algorithm to play WordleTM. It doesn’t validate each word-played to ensure it’s a valid word (i.e. that the word is in the file wordle.json). It doesn’t track which letters of the alphabet have been guessed correctly (included) or guessed incorrectly (excluded) or have not been tried yet (available). It doesn’t process the users’ statistics. Nor is an algorithm provided for the countFrequency() function. You’ll need to add these elements yourself. Note that resultsarray in the algorithm uses * to indicate a correct letter in the correct position, ? to indicate a correct letter in the wrong position and x to indicate a letter that doesn’t occur in the word-to-guess.
turns-used = 0
game-won = false
ARRAY results[5] 
WHILE NOT game-won AND there is another word-played AND turns-used < 6 DO
    turns-used = turns-used + 1
    IF word-played = word-to-guess THEN
        game-won = true
        FOR each index in results
            results[index] = ‘*’
        END FOR
    ELSE
        DICTIONARY matches = {‘a’: 0, ‘b’: 0, ‘c’: 0, ‘d’: 0, ‘e’: 0, ‘f’: 0, ‘g’: 0, ‘h’: 0, ‘I’: 0,’ ‘j’: 0, ‘l’: 0, ‘m’: 0, ‘n’: 0, ‘o’: 0, ‘p’: 0, ‘q’: 0, 
‘r’: 0, ‘s’: 0, ‘t’: 0, ‘u’: 0, ‘v’: 0, ‘w’: 0, ‘x’: 0, ‘y’: 0, ‘z’: 0}

        # Search word-played for letters that are in the correct position 
        FOR each index in word-played
            letter = word-played[index]
            IF letter = word-to-guess[index] THEN
                results[index] = ‘*’         
                matches[letter] = matches[letter] + 1
            END IF    
        END FOR
        
# Search word-played for additional correct letters that are not in     
# the correct position
        FOR each index in word-played
            letter = word-played[index]
            IF countFrequency(word-to-guess, letter) = 0 THEN
                results[index] = ‘x’ 
            ELSE IF letter != word-to-guess[index] THEN
                IF matches[letter] < countFrequency(word-to-guess, letter) THEN
                    results[index] = ‘?’
                    matches[letter] = matches[letter] + 1
                END IF
            END IF
        END FOR
    END IF
END WHILE
2.You may want to create a separate client application to test your WordServer separately before you integrate it into the rest of the combined application. This additional client should not be submitted with your project.
Grading Scheme
1.The School of I.T. Policy on Missed Evaluations and Evaluation Deadlines applies to this project.
2.Projects submitted by the submission deadline will be evaluated as follows:
Description    Marks
Video Demo submitted addressing all required elements (See the next section Demonstrations & Submissions for information).     4
Project submission includes both required gRPC service applications and a client application. All three projects are implemented in C# and target .NET 7.    2
WordServer:    
Implements one RPC to return a word from the file wordle.json.     2
Implements a second RPC to validate a word, verifying that the word is contained in wordle.json.     1
WordleGameServer:     
Implements one RPC call which uses a bidirectional service stream to play an entire game, accepting and providing feedback on no more than six valid guesses (i.e. 5-letter words) from the client. This RPC uses the WordServer to validate each guess. It also updates the user-statistics file at the end of the game.    3
Implements a second RPC call to provide current user-statistics to the client.    1
Uses WordServer to obtain the word-to-guess and to validate user guesses    2
The Client:    
Uses the two WordleGameServer RPCs and appropriate UI functionality to allow the user to play the game. Does not use the WordServer directly and does not access any other data sources directly such as wordle.json     2


The combined application:    
Allows the user to play a game of WordleTM. 
Uses the same word-to-guess throughout a day and different words on consecutive days.
Reports correct user-statistics at the end of each game which are based only on games played during the current day.    1
1

1

Deduction for not complying with the project group requirement.    20%
Maximum deduction for poor coding style (unclear and inconsistent or undescriptive naming of code elements, poor code alignment, missing and/or  inadequate inline and header comments)    -2
Maximum deduction for an incomplete submission (missing source code or required VS project files)    -100%
Maximum Total    20
Demonstrations & Submission
Project Demonstration (by recorded video):
You must demonstrate your project via a short, recorded video that you will submit with your project code. A link to a video is preferred to a file! Your video demonstration must not be edited. This means you must do it in one continuous recording. It must show the following elements:
1.Load the client application and try to use it, which should show that the game is not playable without the WordleGameService running.
2.Load the WordleGameService and again try to use the client, which should show that the game is still not playable without the WordService running.
3.Now make sure all three applications are running.
4.Play two consecutive games, showing all of the following elements:
a.The same word-to-guess is used on the same day.
b.A user-input that is not five characters in length is correctly handled as an invalid input.
c.A user-input that is not a proper word that will be validated by the WordServer (like “aaaaa”) is handled correctly and does not count as a guess.
d.The user-statistics at the end of each game as displayed by the UI.
e.The user-statistics at the end of each game as stored in the data file maintained by the WordleGameService.
5.Move your computer’s system date forward to the next day, showing this clearly in the video, and play a third game. This should demonstrate that a different word-to-guess is used and that the user-statistics have been reset. 
Submission:
Submit one archive file (zip, rar or 7z file) containing your complete Visual Studio solution(s) with all your source code. I should only have to rebuild your project before testing without changing any project settings or source code. 
If working with other students, only one of you needs to submit your solution. However, you will all be responsible for ensuring you submit it on time.
Submit your project on time! 
A deduction will apply to late submissions as follows:
A penalty of 20% will be deducted if your submission is received < 24 hours late.
Your project will receive a mark of 0 (zero) if it is more than 24 hours late.
Submit your own work and keep it to yourself! 
You must not submit code written by another person or obtained from another source such as an AIbased cognitive-offloading tool like ChatGPT. You must not share your code with another student. These activities are academic offenses. If you cheat, you may get a mark of zero. Repeat offenses carry even more severe penalties such as receiving an F grade or being expelled. Submit your own code and benefit academically from having made the effort! Note that students are encouraged to share ideas and to work together on practice exercises since this enhances learning.
Project Corrections
If any corrections or changes are necessary, they will be posted on the course web site, and you will be notified of any changes via FanshaweOnline. It is your responsibility to check the site periodically for changes to the project. Additional resources relating to the project may also be posted.
請加QQ:99515681  郵箱:[email protected]   WX:codehelp












 

標(biāo)簽:

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:代寫COMP9021、代做Python程序語言
  • 下一篇:COMP2017代寫、c/c++編程語言代做
  • 無相關(guān)信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明西山國家級風(fēng)景名勝區(qū)
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗(yàn)證碼平臺 理財 WPS下載

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    精品深夜AV无码一区二区_伊人久久无码中文字幕_午夜无码伦费影视在线观看_伊人久久无码精品中文字幕
    <samp id="e4iaa"><tbody id="e4iaa"></tbody></samp>
    <ul id="e4iaa"></ul>
    <blockquote id="e4iaa"><tfoot id="e4iaa"></tfoot></blockquote>
    • <samp id="e4iaa"><tbody id="e4iaa"></tbody></samp>
      <ul id="e4iaa"></ul>
      <samp id="e4iaa"><tbody id="e4iaa"></tbody></samp><ul id="e4iaa"></ul>
      <ul id="e4iaa"></ul>
      <th id="e4iaa"><menu id="e4iaa"></menu></th>
      婷婷久久综合九色综合绿巨人| 亚洲精品va在线观看| 精品国产一区二区三区久久久蜜月| 亚洲男人电影天堂| 成人久久视频在线观看| 久久久国产精品不卡| 激情都市一区二区| 久久久夜色精品亚洲| 国产成人免费av在线| 久久久午夜精品| 粉嫩av一区二区三区粉嫩 | 亚洲人成网站在线| 99re这里只有精品首页| 综合婷婷亚洲小说| 欧美午夜影院一区| 看电影不卡的网站| 在线亚洲精品福利网址导航| 亚洲电影在线播放| 欧美电影免费观看高清完整版在| 极品尤物av久久免费看| 国产精品久久久久久一区二区三区| 成人国产电影网| 一区二区三区免费在线观看| 日韩午夜三级在线| 成人激情文学综合网| 亚洲成人777| 久久久天堂av| 在线观看欧美日本| 国产一区二区调教| 亚洲国产cao| 国产午夜精品一区二区| 色综合久久综合网| 韩国三级电影一区二区| 亚洲色图19p| 久久众筹精品私拍模特| 在线观看国产日韩| 国产成人免费9x9x人网站视频| 一区二区国产盗摄色噜噜| 久久久五月婷婷| 欧美日韩一区二区三区视频| 狠狠色2019综合网| 五月天精品一区二区三区| 国产精品国产成人国产三级| 日韩欧美高清一区| 欧美性大战久久久久久久| 国产成人精品www牛牛影视| 免费观看日韩av| 一区二区三区在线视频观看58| 久久精品一区蜜桃臀影院| 91精品国产综合久久小美女| 日本久久电影网| 99re66热这里只有精品3直播| 天天av天天翘天天综合网色鬼国产 | 久久久久久久久久久久久久久99 | 国内精品国产三级国产a久久| 亚洲一区在线看| 国产精品人人做人人爽人人添| 欧美一区二区三区免费大片| 99久久99久久久精品齐齐| 国产成人自拍网| 国产一区二三区| 美腿丝袜亚洲色图| 日韩高清不卡一区二区| 午夜婷婷国产麻豆精品| 亚洲综合丝袜美腿| 亚洲午夜在线电影| 婷婷开心激情综合| 欧美aⅴ一区二区三区视频| 午夜免费久久看| 亚洲v日本v欧美v久久精品| 亚洲精品免费看| 亚洲国产精品久久人人爱蜜臀| 亚洲欧美aⅴ...| 综合久久久久久| 最好看的中文字幕久久| 亚洲欧美一区二区三区国产精品| 中文字幕日韩一区二区| 亚洲精品免费看| 性做久久久久久| 蜜桃视频在线观看一区二区| 麻豆精品久久精品色综合| 国产在线麻豆精品观看| 国产成人av电影在线| 成人av免费在线观看| 一本色道a无线码一区v| 欧美日韩一区国产| 日韩午夜激情电影| 久久精品亚洲乱码伦伦中文| 中文字幕不卡在线播放| 亚洲视频一二三| 天使萌一区二区三区免费观看| 麻豆成人免费电影| 成人在线视频首页| 欧美性感一区二区三区| 日韩一区二区免费电影| 国产日韩一级二级三级| 亚洲一区在线电影| 国产一区二区三区四| 色婷婷久久综合| 欧美v日韩v国产v| 日韩美女视频19| 日韩1区2区3区| 91亚洲国产成人精品一区二区三| 欧美精品精品一区| 国产精品女同互慰在线看| 午夜精品福利视频网站| 国产成人综合网站| 欧美日本一区二区| 国产精品入口麻豆九色| 日韩vs国产vs欧美| aa级大片欧美| ww久久中文字幕| 亚洲一区二区精品久久av| 国产精品一区三区| 欧美精品在线观看一区二区| 中文字幕乱码久久午夜不卡| 日本系列欧美系列| 91视频一区二区| 国产欧美一区二区精品婷婷| 亚洲国产精品一区二区久久恐怖片 | 日本人妖一区二区| 色综合天天综合色综合av | gogo大胆日本视频一区| 欧美一区二区视频网站| 一区二区中文字幕在线| 国产永久精品大片wwwapp| 3d动漫精品啪啪一区二区竹菊| 亚洲人成小说网站色在线| 成人综合在线观看| 国产午夜精品久久久久久免费视| 日本欧美大码aⅴ在线播放| 色婷婷av一区| 亚洲欧美日韩精品久久久久| 成人免费精品视频| 中文字幕第一区二区| 丁香激情综合国产| 久久精品亚洲国产奇米99| 国产一区二区三区蝌蚪| 欧美va亚洲va| 国模一区二区三区白浆| 日韩一级高清毛片| 日韩 欧美一区二区三区| 91国偷自产一区二区开放时间 | 香蕉加勒比综合久久| 欧美午夜精品电影| 亚洲一级二级三级在线免费观看| 91污在线观看| 亚洲综合色噜噜狠狠| 欧美性xxxxxxxx| 日韩精品一区第一页| 日韩一二三区视频| 久久se这里有精品| 2023国产精品视频| 成人免费黄色大片| 亚洲日本一区二区三区| 色婷婷综合久久久中文一区二区 | 欧美一区二区三区思思人| 青青青爽久久午夜综合久久午夜| 欧美一级片在线看| 精品一区二区三区久久| 国产欧美日韩视频一区二区| 国产99一区视频免费| 国产精品免费视频网站| 一本到三区不卡视频| 亚洲午夜在线电影| 日韩欧美精品在线视频| 国产高清精品在线| 亚洲最新视频在线观看| 欧美成人精品3d动漫h| 丁香桃色午夜亚洲一区二区三区| 自拍偷拍亚洲激情| 欧美嫩在线观看| 国产高清不卡二三区| 一区二区三区视频在线看| 日韩视频一区二区在线观看| 国产成人免费在线| 亚洲3atv精品一区二区三区| 久久久久亚洲综合| 在线观看网站黄不卡| 国产一区二区三区| 亚洲国产一区二区视频| 久久亚洲欧美国产精品乐播| 91成人免费网站| 国产91色综合久久免费分享| 亚洲一线二线三线久久久| 久久免费美女视频| 欧美日韩国产综合一区二区| 国产一区二区三区四区在线观看| 亚洲九九爱视频| 久久蜜桃av一区精品变态类天堂 | 亚洲精品你懂的| 日韩精品在线看片z| 99国产精品久久| 国产精品一区二区三区网站| 亚洲综合色自拍一区| 国产精品国产三级国产三级人妇 | 麻豆精品一二三| 亚洲一级在线观看| 国产精品毛片久久久久久| 日韩欧美国产系列|