{"id":21072,"date":"2024-03-29T18:30:00","date_gmt":"2024-03-29T09:30:00","guid":{"rendered":"https:\/\/itport.cloud\/?p=21072"},"modified":"2024-03-29T19:27:16","modified_gmt":"2024-03-29T10:27:16","slug":"post-21072","status":"publish","type":"post","link":"https:\/\/itport.cloud\/?p=21072","title":{"rendered":"C# \u30c8\u30e9\u30f3\u30d7 High&#038;Low\u3092\u4f5c\u3063\u3066\u307f\u305f\uff08\u7b2c2\u56de\uff09"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<h2 class=\"wp-block-heading\" id=\"e79baee6aca1-1\"> \u76ee\u6b21 <\/h2>\n<\/div>\n<\/div>\n\n\n\n<p>\u306f\u3058\u3081\u306b<br>\u5404Model\u306b\u8ffd\u52a0<br>GameController.cs\u306b\u8ffd\u52a0<br> Start.cshtml\u306b\u8ffd\u52a0<br>\u304a\u308f\u308a\u306b<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"e381afe38198e38281e381ab-2\"> \u306f\u3058\u3081\u306b <\/h2>\n\n\n\n<p> C#\u3092\u5b66\u3073\u59cb\u3081\u30661\u5e74\u8db3\u3089\u305a\u306e\u79c1\u304c\u4eca\u56de\u306fC#\u3067\u30c8\u30e9\u30f3\u30d7\u30b2\u30fc\u30e0\u306eHigh&amp;Low\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002 <br>\u524d\u56de\u306f\u30d7\u30ec\u30a4\u30e4\u30fc\u306e\u624b\u672d\u3092\u753b\u9762\u306b\u8868\u793a\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<br>\u4eca\u56de\u306f\u76f8\u624b\u306e\u624b\u672d\u3082\u753b\u9762\u306b\u8868\u793a\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-it-port wp-block-embed-it-port\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"yaZG3UwWTs\"><a href=\"https:\/\/itport.cloud\/?p=21001\">C# \u30c8\u30e9\u30f3\u30d7 High&#038;Low\u3092\u4f5c\u3063\u3066\u307f\u305f\uff08\u7b2c1\u56de\uff09<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;C# \u30c8\u30e9\u30f3\u30d7 High&#038;Low\u3092\u4f5c\u3063\u3066\u307f\u305f\uff08\u7b2c1\u56de\uff09&#8221; &#8212; IT PORT\" src=\"https:\/\/itport.cloud\/?p=21001&#038;embed=true#?secret=yaZG3UwWTs\" data-secret=\"yaZG3UwWTs\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"gameviewmodel-cse381abe8bfbde58aa0-3\"> GameViewModel.cs\u306b\u8ffd\u52a0<\/h2>\n\n\n\n<p>\u524d\u56de\u4f5c\u6210\u3057\u305fGameViewModel.cs\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<br>\u4eca\u56de\u306f\u76f8\u624b\u306e\u624b\u672d\u60c5\u5831\u3092\u4fdd\u6301\u3067\u304d\u308b\u3088\u3046\u306b\u4e0b\u8a18\u3092\u8ffd\u8a18\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnamespace HighAndLow.Models.ViewModels\n{\n    public class GameViewModel\n    {\n        \/\/\/ &lt;summary>\n        \/\/\/ \u30d7\u30ec\u30a4\u30e4\u30fc\u306e\u624b\u672d\n        \/\/\/ &lt;\/summary>\n        public List&lt;string> Player { get; set; }\n\n        \/\/\/ &lt;summary>\n        \/\/\/ \u76f8\u624b\u306e\u624b\u672d\n        \/\/\/ &lt;\/summary>\n        public List&lt;string> Opponent { get; set; }\n\n        \/\/\/ &lt;summary>\n        \/\/\/ \u30c8\u30e9\u30f3\u30d7\u306e\u88cf\u9762\n        \/\/\/ &lt;\/summary>\n        public string CardBackImage { get; set; } = \"..\/image\/z01.png\";\n    }\n}\n<\/pre><\/div>\n\n\n<p>\u4eca\u56de\u306fOpponent\u30d7\u30ed\u30d1\u30c6\u30a3\u3068CardBackImage\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/\/\/ &lt;summary>\n\/\/\/ \u76f8\u624b\u306e\u624b\u672d\n\/\/\/ &lt;\/summary>\npublic List&lt;string> Opponent { get; set; }\n<\/pre><\/div>\n\n\n<p>Opponent\u30d7\u30ed\u30d1\u30c6\u30a3\u306fPlayer\u30d7\u30ed\u30d1\u30c6\u30a3\u3068\u540c\u69d8\u306b\u624b\u672d\u60c5\u5831\u3092\u6587\u5b57\u5217\u306e\u30ea\u30b9\u30c8\u3068\u3057\u3066\u4fdd\u6301\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/\/\/ &lt;summary>\n\/\/\/ \u30c8\u30e9\u30f3\u30d7\u306e\u88cf\u9762\n\/\/\/ &lt;\/summary>\npublic string CardBackImage { get; set; } = \"..\/image\/z01.png\";\n<\/pre><\/div>\n\n\n<p>CardBackImage\u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u76f8\u624b\u306e\u30ab\u30fc\u30c9\u3092\u753b\u9762\u4e0a\u3067\u306f\u30c8\u30e9\u30f3\u30d7\u88cf\u9762\u306e\u753b\u50cf\u3092\u8868\u793a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"gamecontroller-cse381abe8bfbde58aa0-4\"> GameController.cs\u306b\u8ffd\u52a0<\/h2>\n\n\n\n<p>\u6b21\u306bGameController\u306b\u4e0b\u8a18\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;HttpGet]\npublic IActionResult Start()\n{\n     var cards = new CardModel();\n     \n     \/\/\u30e9\u30f3\u30c0\u30e0\u3067\u76f8\u624b\u3068\u30d7\u30ec\u30a4\u30e4\u30fc\u306b\u914d\u308b\u3001\u30ab\u30fc\u30c9\u30bb\u30c3\u30c8\u3092\u6c7a\u3081\u308b\n     Random random = new Random();\n     int playerSuit = random.Next(0, 3);\n     int opponentSuit = random.Next(0, 3);\n     \/\/\u30d7\u30ec\u30a4\u30e4\u30fc\u306b\u914d\u308b\u30bb\u30c3\u30c8\u306f\u76f8\u624b\u306b\u306f\u914d\u3089\u308c\u306a\u3044\n     while (playerSuit == opponentSuit)\n     {\n         opponentSuit = random.Next(0, 3);\n     }\n\n     List&lt;string> suits = cards.GetSuits();\n     List&lt;string> playerCards = cards.Cards.Where(x => x.Suit == suits&#x5B;playerSuit]).Select(x => x.ImagePath).ToList();\n     List&lt;string> opponentCards = cards.Cards.Where(x => x.Suit == suits&#x5B;opponentSuit]).Select(x => x.ImagePath).ToList();\n\n     var model = new GameViewModel\n     {\n         Player = playerCards,\n         Opponent = opponentCards\n     };\n\n     return View(model);\n}\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nint opponentSuit = random.Next(0, 3);\n\/\/\u30d7\u30ec\u30a4\u30e4\u30fc\u306b\u914d\u308b\u30bb\u30c3\u30c8\u306f\u76f8\u624b\u306b\u306f\u914d\u3089\u308c\u306a\u3044\nwhile (playerSuit == opponentSuit)\n{\n    opponentSuit = random.Next(0, 3);\n}\n\n<\/pre><\/div>\n\n\n<p>\u76f8\u624b\u306e\u30ab\u30fc\u30c9\u30bb\u30c3\u30c8\u3082\u30d7\u30ec\u30a4\u30e4\u30fc\u3068\u540c\u69d8\u306b\u30e9\u30f3\u30c0\u30e0\u3067\u30cf\u30fc\u30c8, \u30c0\u30a4\u30e4, \u30b9\u30da\u30fc\u30c9, \u30af\u30e9\u30d6\u306e\u3069\u308c\u304b1\u3064\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002<br>\u30d7\u30ec\u30a4\u30e4\u30fc\u3068\u540c\u3058\u30ab\u30fc\u30c9\u30bb\u30c3\u30c8\u304c\u5f53\u305f\u3089\u306a\u3044\u3088\u3046\u306bWhile\u3067\u5225\u306e\u30ab\u30fc\u30c9\u30bb\u30c3\u30c8\u304c\u632f\u308a\u5f53\u3066\u3089\u308c\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nList&lt;string> opponentCards = cards.Cards.Where(x => x.Suit == suits&#x5B;opponentSuit]).Select(x => x.ImagePath).ToList();\n<\/pre><\/div>\n\n\n<p>\u305d\u306e\u5f8c\u306b\u632f\u308a\u5206\u3051\u3089\u308c\u305f\u30ab\u30fc\u30c9\u30bb\u30c3\u30c8\u306e\u753b\u50cf\u30d1\u30b9\u3092\u53d6\u5f97\u3057\u3066\u304d\u307e\u3059\u3002<br><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nOpponent = opponentCards\n<\/pre><\/div>\n\n\n<p>\u6700\u5f8c\u306b\u753b\u9762\u306b\u60c5\u5831\u3092\u6e21\u3059\u305f\u3081\u306bGameViewModel\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3057\u3001<br>Opponent\u306e\u30c7\u30c3\u30ad\u753b\u50cf\u30d1\u30b9\u60c5\u5831\u3092\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002<br>\u30bb\u30c3\u30c8\u3057\u305fGameViewModel\u3092\u5bfe\u5fdc\u3059\u308bView\u306b\u6e21\u3059\u3053\u3068\u3067\u753b\u9762\u306b\u60c5\u5831\u3092\u6e21\u3059\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"start-cshtmle381abe8bfbde58aa0-5\">  Start.cshtml\u306b\u8ffd\u52a0 <\/h2>\n\n\n\n<p>\u6700\u5f8c\u306b\u753b\u9762\u306b\u8868\u793a\u3059\u308b\u305f\u3081\u306b Start.cshtml\u306b\u4e0b\u8a18\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002 <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n@using HighAndLow.Models.ViewModels;\n@model GameViewModel\n\n&lt;div class=\"teki-possition\">\n\u3000\u3000&lt;div class=\"card-possition\">\n    \u3000\u3000@foreach (var card in Model.Opponent)\n    \u3000\u3000{\n        \u3000\u3000&lt;img src=\"@Model.CardBackImage\" alt=\"Card Image\" width=\"80\" height=\"120\" \/>\n     \u3000 \u3000\u3000&lt;input type=\"hidden\" name=\"opponentCards\" value=\"@card\" \/>\n    \u3000\u3000}\n    &lt;\/div>\n&lt;\/div>\n\n&lt;div class=\"player-possition\">\n    &lt;div class=\"card-possition\">\n        @foreach (var card in Model.Player)\n        {\n            var selectCard = $\"select-card-{card.GetHashCode()}\";\n            &lt;input id=\"@selectCard\" type=\"radio\" value=\"@card\" name=\"playerSelectCard\">\n            &lt;label for=\"@selectCard\">&lt;img class=\"player-card\" src=\"@card\" alt=\"Card Image\" \/>&lt;\/label>\n        }\n    &lt;\/div>\n&lt;\/div>\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;div class=\"teki-possition\">\n\u3000\u3000&lt;div class=\"card-possition\">\n    \u3000\u3000@foreach (var card in Model.Opponent)\n    \u3000\u3000{\n        \u3000\u3000&lt;img src=\"@Model.CardBackImage\" alt=\"Card Image\" width=\"80\" height=\"120\" \/>\n     \u3000 \u3000\u3000&lt;input type=\"hidden\" name=\"opponentCards\" value=\"@card\" \/>\n    \u3000\u3000}\n    &lt;\/div>\n&lt;\/div>\n<\/pre><\/div>\n\n\n<p>\u4eca\u56de\u306f4\uff5e12\u884c\u76ee\u3092\u8ffd\u8a18\u3057\u307e\u3057\u305f\u3002<br> GameViewModel\u306eOpponent\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u683c\u7d0d\u3057\u305f\u30ab\u30fc\u30c9\u60c5\u5831\u3092\u30eb\u30fc\u30d7\u3067\u53d6\u5f97\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br>\u76f8\u624b\u306e\u624b\u672d\u60c5\u5831\u3092\u30c8\u30e9\u30f3\u30d7\u88cf\u9762\u306e\u753b\u50cf\u3092\u8868\u793a\u3059\u308b\u3088\u3046\u306bCardBackImage\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u753b\u50cf\u3092\u8868\u793a\u3057\u307e\u3059\u3002<br>\u30c8\u30e9\u30f3\u30d7\u306e\u60c5\u5831\u306fOpponent\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u30ab\u30fc\u30c9\u60c5\u5831\u3092\u6e21\u3057\u3066\u3044\u304d\u307e\u3059\u3002<br> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"e3818ae3828fe3828ae381ab-6\"> \u304a\u308f\u308a\u306b <\/h2>\n\n\n\n<p> \u3053\u3053\u307e\u3067\u306e\u5185\u5bb9\u306b\u3088\u3063\u3066\u4e0b\u8a18\u306e\u3088\u3046\u306a\u753b\u9762\u3092\u8868\u793a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\uff01 <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/itport.cloud\/wp-content\/uploads\/2023\/12\/image-3-1024x549.png\" alt=\"\" class=\"wp-image-21082\" width=\"852\" height=\"456\" srcset=\"https:\/\/itport.cloud\/wp-content\/uploads\/2023\/12\/image-3-1024x549.png 1024w, https:\/\/itport.cloud\/wp-content\/uploads\/2023\/12\/image-3-300x161.png 300w, https:\/\/itport.cloud\/wp-content\/uploads\/2023\/12\/image-3-768x411.png 768w, https:\/\/itport.cloud\/wp-content\/uploads\/2023\/12\/image-3-1536x823.png 1536w, https:\/\/itport.cloud\/wp-content\/uploads\/2023\/12\/image-3-450x241.png 450w, https:\/\/itport.cloud\/wp-content\/uploads\/2023\/12\/image-3-900x482.png 900w, https:\/\/itport.cloud\/wp-content\/uploads\/2023\/12\/image-3.png 1596w\" sizes=\"auto, (max-width: 852px) 100vw, 852px\" \/><\/figure>\n\n\n\n<p> CSS\u3067\u304a\u597d\u307f\u306e\u80cc\u666f\u8272\u3084\u30ab\u30fc\u30c9\u306e\u8868\u793a\u4f4d\u7f6e\u306f\u8a2d\u5b9a\u3057\u3066\u3044\u305f\u3060\u3051\u305f\u3089\u3068\u601d\u3044\u307e\u3059\u3002<br>\u4eca\u56de\u306e\u76ee\u7684\u3067\u3042\u3063\u305f\u76f8\u624b\u306e\u624b\u672d\u3092\u753b\u9762\u4e0a\u306b\u8868\u793a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<br>\u6b21\u56de\u306f\u30d7\u30ec\u30a4\u30e4\u30fc\u306e\u30ab\u30fc\u30c9\u3092\u9078\u629e\u3057\u51fa\u305b\u308b\u3088\u3046\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\uff01 <\/p>\n","protected":false},"excerpt":{"rendered":"\u76ee\u6b21 \u306f\u3058\u3081\u306b\u5404Model\u306b\u8ffd\u52a0GameController.cs\u306b\u8ffd\u52a0 Start.cshtml\u306b\u8ffd\u52a0\u304a\u308f\u308a\u306b \u306f\u3058\u3081\u306b C#\u3092\u5b66\u3073\u59cb\u3081\u30661\u5e74\u8db3\u3089\u305a\u306e\u79c1\u304c\u4eca\u56de\u306fC#\u3067\u30c8\u30e9\u30f3\u30d7\u30b2\u30fc\u30e0\u306eHigh&amp;Low\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002 \u524d\u56de\u306f\u30d7\u30ec\u30a4\u30e4\u30fc\u306e\u624b\u672d\u3092\u753b\u9762\u306b\u8868\u793a\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u76f8\u624b\u306e\u624b\u672d\u3082\u753b\u9762\u306b\u8868\u793a\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u304d\u307e\u3059\u3002 https:\/\/itport.cloud\/?p=21001 GameViewModel.cs\u306b\u8ffd\u52a0 \u524d\u56de\u4f5c\u6210\u3057\u305fGameViewModel.cs\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u4eca\u56de\u306f\u76f8\u624b\u306e\u624b\u672d\u60c5\u5831\u3092\u4fdd\u6301\u3067\u304d\u308b\u3088\u3046\u306b\u4e0b\u8a18\u3092\u8ffd\u8a18\u3057\u307e\u3059\u3002 namespace HighAndLow.Models.ViewModels { &hellip;","protected":false},"author":34,"featured_media":21112,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[152],"tags":[168],"class_list":{"0":"post-21072","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-asp-net-core-mvc","8":"tag-season57"},"_links":{"self":[{"href":"https:\/\/itport.cloud\/index.php?rest_route=\/wp\/v2\/posts\/21072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itport.cloud\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itport.cloud\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itport.cloud\/index.php?rest_route=\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/itport.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21072"}],"version-history":[{"count":8,"href":"https:\/\/itport.cloud\/index.php?rest_route=\/wp\/v2\/posts\/21072\/revisions"}],"predecessor-version":[{"id":21208,"href":"https:\/\/itport.cloud\/index.php?rest_route=\/wp\/v2\/posts\/21072\/revisions\/21208"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itport.cloud\/index.php?rest_route=\/wp\/v2\/media\/21112"}],"wp:attachment":[{"href":"https:\/\/itport.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itport.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itport.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}