先日、以下の質問をした者です。
https://teratail.com/questions/244214
この質問の続きで、新たに途中で詰まってしまったので、質問させていただきました。
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
ビンゴで、一度出た数字が再度出ないようにしたいです。
※イメージ写真は0-99までの数字ですが、今回は1-50までの数字での作成を試みています。
該当のソースコード
Visual
1※マスターページです。こちらのファイルは作成後何も変更しておりません。 2<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="Site1.master.vb" Inherits="bingo.Site1" %> 3 4<!DOCTYPE html> 5 6<html> 7<head runat="server"> 8<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 9 <title></title> 10 <asp:ContentPlaceHolder ID="head" runat="server"> 11 </asp:ContentPlaceHolder> 12</head> 13<body> 14 <form id="form1" runat="server"> 15 <div> 16 <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 17 </asp:ContentPlaceHolder> 18 </div> 19 </form> 20</body> 21</html>
Visual
1※マスターページを含むWebフォームです。(top.aspx) 2<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site1.Master" CodeBehind="top.aspx.vb" Inherits="bingo.top" %> 3<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 4 <link rel="stylesheet" type="text/css" href="../CSS/top.css"> 5</asp:Content> 6<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 7 <div class="parent_container"> 8 <div class="left_container"> 9 <div class="number_wrap"> 10 <div><asp:Label ID="Label1" runat="server" Text="1" CssClass="num"></asp:Label></div> 11 <div><asp:Label ID="Label2" runat="server" Text="2" CssClass="num"></asp:Label></div> 12 <div><asp:Label ID="Label3" runat="server" Text="3" CssClass="num"></asp:Label></div> 13 <div><asp:Label ID="Label4" runat="server" Text="4" CssClass="num"></asp:Label></div> 14 <div><asp:Label ID="Label5" runat="server" Text="5" CssClass="num"></asp:Label></div> 15 <div><asp:Label ID="Label6" runat="server" Text="6" CssClass="num"></asp:Label></div> 16 <div><asp:Label ID="Label7" runat="server" Text="7" CssClass="num"></asp:Label></div> 17 <div><asp:Label ID="Label8" runat="server" Text="8" CssClass="num"></asp:Label></div> 18 <div><asp:Label ID="Label9" runat="server" Text="9" CssClass="num"></asp:Label></div> 19 <div><asp:Label ID="Label10" runat="server" Text="10" CssClass="num"></asp:Label></div> 20 <div><asp:Label ID="Label11" runat="server" Text="11" CssClass="num"></asp:Label></div> 21 <div><asp:Label ID="Label12" runat="server" Text="12" CssClass="num"></asp:Label></div> 22 <div><asp:Label ID="Label13" runat="server" Text="13" CssClass="num"></asp:Label></div> 23 <div><asp:Label ID="Label14" runat="server" Text="14" CssClass="num"></asp:Label></div> 24 <div><asp:Label ID="Label15" runat="server" Text="15" CssClass="num"></asp:Label></div> 25 <div><asp:Label ID="Label16" runat="server" Text="16" CssClass="num"></asp:Label></div> 26 <div><asp:Label ID="Label17" runat="server" Text="17" CssClass="num"></asp:Label></div> 27 <div><asp:Label ID="Label18" runat="server" Text="18" CssClass="num"></asp:Label></div> 28 <div><asp:Label ID="Label19" runat="server" Text="19" CssClass="num"></asp:Label></div> 29 <div><asp:Label ID="Label20" runat="server" Text="20" CssClass="num"></asp:Label></div> 30 <div><asp:Label ID="Label21" runat="server" Text="21" CssClass="num"></asp:Label></div> 31 <div><asp:Label ID="Label22" runat="server" Text="22" CssClass="num"></asp:Label></div> 32 <div><asp:Label ID="Label23" runat="server" Text="23" CssClass="num"></asp:Label></div> 33 <div><asp:Label ID="Label24" runat="server" Text="24" CssClass="num"></asp:Label></div> 34 <div><asp:Label ID="Label25" runat="server" Text="25" CssClass="num"></asp:Label></div> 35 <div><asp:Label ID="Label26" runat="server" Text="26" CssClass="num"></asp:Label></div> 36 <div><asp:Label ID="Label27" runat="server" Text="27" CssClass="num"></asp:Label></div> 37 <div><asp:Label ID="Label28" runat="server" Text="28" CssClass="num"></asp:Label></div> 38 <div><asp:Label ID="Label29" runat="server" Text="29" CssClass="num"></asp:Label></div> 39 <div><asp:Label ID="Label30" runat="server" Text="30" CssClass="num"></asp:Label></div> 40 <div><asp:Label ID="Label31" runat="server" Text="31" CssClass="num"></asp:Label></div> 41 <div><asp:Label ID="Label32" runat="server" Text="32" CssClass="num"></asp:Label></div> 42 <div><asp:Label ID="Label33" runat="server" Text="33" CssClass="num"></asp:Label></div> 43 <div><asp:Label ID="Label34" runat="server" Text="34" CssClass="num"></asp:Label></div> 44 <div><asp:Label ID="Label35" runat="server" Text="35" CssClass="num"></asp:Label></div> 45 <div><asp:Label ID="Label36" runat="server" Text="36" CssClass="num"></asp:Label></div> 46 <div><asp:Label ID="Label37" runat="server" Text="37" CssClass="num"></asp:Label></div> 47 <div><asp:Label ID="Label38" runat="server" Text="38" CssClass="num"></asp:Label></div> 48 <div><asp:Label ID="Label39" runat="server" Text="39" CssClass="num"></asp:Label></div> 49 <div><asp:Label ID="Label40" runat="server" Text="40" CssClass="num"></asp:Label></div> 50 <div><asp:Label ID="Label41" runat="server" Text="41" CssClass="num"></asp:Label></div> 51 <div><asp:Label ID="Label42" runat="server" Text="42" CssClass="num"></asp:Label></div> 52 <div><asp:Label ID="Label43" runat="server" Text="43" CssClass="num"></asp:Label></div> 53 <div><asp:Label ID="Label44" runat="server" Text="44" CssClass="num"></asp:Label></div> 54 <div><asp:Label ID="Label45" runat="server" Text="45" CssClass="num"></asp:Label></div> 55 <div><asp:Label ID="Label46" runat="server" Text="46" CssClass="num"></asp:Label></div> 56 <div><asp:Label ID="Label47" runat="server" Text="47" CssClass="num"></asp:Label></div> 57 <div><asp:Label ID="Label48" runat="server" Text="48" CssClass="num"></asp:Label></div> 58 <div><asp:Label ID="Label49" runat="server" Text="49" CssClass="num"></asp:Label></div> 59 <div><asp:Label ID="Label50" runat="server" Text="50" CssClass="num"></asp:Label></div> 60 </div> 61 62 </div> 63 <div class="right_container"> 64 <div class="num_result_container"> 65 <asp:Label ID="num_result" runat="server" Text="今回の番号は..."></asp:Label> 66 </div> 67 <div class="button_container"> 68 <asp:Button ID="Button1" runat="server" Text="抽選ボタン" CssClass="button" /> 69 </div> 70 </div> 71 </div> 72</asp:Content>
Visual
1※vbファイルです。(top.aspx.vb) 2Public Class top 3 Inherits System.Web.UI.Page 4 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 5 6 End Sub 7 8 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 9 Dim rnd As New Random 10 Dim bingo_num As Integer = rnd.Next(1, 51) 11 Dim bingo_array(50) As Integer 12 13 num_result.Text = bingo_num.ToString 14 End Sub 15End Class
試したこと
以下のように考えました。
①1-50までの乱数を生成し、変数に格納
②出た数字を配列にも格納する。
③次に出た数字が、格納した配列の中の数字と一致した場合は、(一致しない数字が出るまで)乱数を生成
この、「②で配列に数字を格納する方法が知りたい」と思っているのですが、
ネットで調べても、「配列のインデックスを指定して、指定した要素を格納する方法」ばかりで、
・「とりあえず、数字を配列の先頭から順に格納する方法」
・「次に出た数字が、配列の中の数字のいずれかと合致しているかを確認する条件文の書き方」
がわかりません。
補足情報(FW/ツールのバージョンなど)
統合開発環境
Visual Studio2019
(言語:VB.NET、プロジェクトテンプレート:ASP.NET Webアプリケーション)
使用PC
Windows10
※平日は仕事のため、返信が19:30以降になります。
どうぞよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー