diff options
| author | EverythingWindows <[email protected]> | 2022-11-24 21:26:45 +0700 |
|---|---|---|
| committer | EverythingWindows <[email protected]> | 2022-11-24 21:26:45 +0700 |
| commit | 9754f495672581abd7098c39027b512525b5f9ab (patch) | |
| tree | 60ea20826d7743f25b49be9254373b1e7f9cbee3 /ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb | |
| parent | a594d38810939c8afbf0e12fb970d8aa3fd880e5 (diff) | |
| download | shiftos-therevival-old-9754f495672581abd7098c39027b512525b5f9ab.tar.gz shiftos-therevival-old-9754f495672581abd7098c39027b512525b5f9ab.tar.bz2 shiftos-therevival-old-9754f495672581abd7098c39027b512525b5f9ab.zip | |
Fully functional and partially working Shifter
Diffstat (limited to 'ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb')
| -rw-r--r-- | ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb | 204 |
1 files changed, 200 insertions, 4 deletions
diff --git a/ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb b/ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb index b806e88..a8aa28c 100644 --- a/ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb +++ b/ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb @@ -1,15 +1,211 @@ -Public Class Uni_KnowledgeInput - Dim PrevWidthTxt_InputWord As Integer = 470 +Imports System.IO + +Public Class Uni_KnowledgeInput + Public Countries(193) As String + Public Animals(226) As String + Public Fruits(75) As String + Public TotalGuessed As Integer + Public CurrentCategory As String + Public Level As Integer + Public ForNextLevel As Integer + Public JustStarted As Boolean = True Private Sub Uni_KnowledgeInput_Load(sender As Object, e As EventArgs) Handles MyBase.Load - cmb_Category.Items.Remove("Animals") + If Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput") = True Then + If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Animals.kin") = True Then + + Else + If Strings.AvailableFeature(38) = 1 Then + File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Animals.kin", My.Resources.KnowledgeInputContent.Animals) + End If + End If + If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Fruits.kin") = True Then + + Else + If Strings.AvailableFeature(39) = 1 Then + File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Fruits.kin", My.Resources.KnowledgeInputContent.Fruits) + End If + End If + Else + Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput") + File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Countries.kin", My.Resources.KnowledgeInputContent.Countries) + End If + CurrentCategory = "Select Category" + LoadCategory() + End Sub + + Private Sub lst_Guessed_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles lst_Guessed.DrawItem + e.DrawBackground() + If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then + e.Graphics.FillRectangle(Brushes.Black, e.Bounds) + End If + Dim sf As New StringFormat + Using b As New SolidBrush(e.ForeColor) + e.Graphics.DrawString(lst_Guessed.GetItemText(lst_Guessed.Items(e.Index)), e.Font, b, e.Bounds, sf) + End Using + e.DrawFocusRectangle() + End Sub + + Private Sub cmb_Category_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles cmb_Category.DrawItem + e.DrawBackground() + If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then + e.Graphics.FillRectangle(Brushes.Black, e.Bounds) + End If + Dim sf As New StringFormat + Using b As New SolidBrush(e.ForeColor) + e.Graphics.DrawString(cmb_Category.GetItemText(cmb_Category.Items(e.Index)), e.Font, b, e.Bounds, sf) + End Using + e.DrawFocusRectangle() End Sub Private Sub txt_InputWord_TextChanged(sender As Object, e As KeyEventArgs) Handles txt_InputWord.KeyDown Select Case e.KeyCode Case Keys.Enter - lst_Guessed.Items.Add(txt_InputWord.Text) + CheckCorrect(txt_InputWord.Text.ToLower) txt_InputWord.Text = Nothing + JustStarted = False + End Select + End Sub + + Private Sub cmb_Category_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmb_Category.SelectedIndexChanged + Dim Available As Boolean = False + JustStarted = True + lbl_TotalGuess.Text = "Guessed : 0/0" + lst_Guessed.Items.Clear() + Select Case cmb_Category.SelectedItem.ToString + Case "Countries" + If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentCountries.kin") = True Then + lst_Guessed.Items.AddRange(File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentCountries.kin")) + End If + Available = True + Countries = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Countries.kin") + Case "Animals" + If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentAnimals.kin") = True Then + lst_Guessed.Items.AddRange(File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentAnimals.kin")) + End If + Available = True + Animals = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Animals.kin") + Case "Fruits" + If File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentFruits.kin") = True Then + lst_Guessed.Items.AddRange(File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentFruits.kin")) + End If + Available = True + Fruits = File.ReadAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Fruits.kin") + End Select + If Available = True Then + TotalGuessed = lst_Guessed.Items.Count + lbl_TotalGuess.Text = "Guessed : " & TotalGuessed & "/" + Select Case cmb_Category.SelectedItem.ToString + Case "Countries" + lbl_TotalGuess.Text = lbl_TotalGuess.Text & Countries.Length + Case "Animals" + lbl_TotalGuess.Text = lbl_TotalGuess.Text & Animals.Length + Case "Fruits" + lbl_TotalGuess.Text = lbl_TotalGuess.Text & Fruits.Length + End Select + Level = Math.Ceiling((TotalGuessed / 10)) + CheckLevel() + CurrentCategory = cmb_Category.SelectedItem.ToString + End If + End Sub + + Private Sub LoadCategory() + If Strings.AvailableFeature(38) = 0 Then + cmb_Category.Items.Remove("Animals") + End If + If Strings.AvailableFeature(39) = 0 Then + cmb_Category.Items.Remove("Fruits") + End If + End Sub + + Private Sub CheckLevel() + lbl_Level.Text = "Level " & Level + ForNextLevel = Math.Abs(TotalGuessed - (Level * 10)) + If ForNextLevel = 0 Then + If JustStarted = False Then + ChangeCP(True, Level * 25) + End If + Level = Level + 1 + lbl_Level.Text = "Level " & Level + ForNextLevel = 10 + End If + lbl_NextLevel.Text = "Words until next level (" & Level * 25 & " CP) : " & ForNextLevel + End Sub + + Private Sub CheckCorrect(Input As String) + Dim Correct As Boolean = False + Select Case cmb_Category.SelectedItem.ToString + Case "Countries" + Dim Lines As Integer = 0 + Do + If Lines = Countries.Length Then + Exit Do + End If + If Countries(Lines) = Input Then + Countries(Lines) = "null" + Correct = True + Exit Do + Else + Lines = Lines + 1 + End If + Loop + Case "Animals" + Dim Lines As Integer = 0 + Do + If Lines = Animals.Length Then + Exit Do + End If + If Animals(Lines) = Input Then + Animals(Lines) = "null" + Correct = True + Exit Do + Else + Lines = Lines + 1 + End If + Loop + Case "Fruits" + Dim Lines As Integer = 0 + Do + If Lines = Fruits.Length Then + Exit Do + End If + If Fruits(Lines) = Input Then + Fruits(Lines) = "null" + Correct = True + Exit Do + Else + Lines = Lines + 1 + End If + Loop + End Select + If Correct = True Then + lst_Guessed.Items.Add(Input) + TotalGuessed = lst_Guessed.Items.Count + lbl_TotalGuess.Text = "Guessed : " & TotalGuessed & "/" + Select Case cmb_Category.SelectedItem.ToString + Case "Countries" + lbl_TotalGuess.Text = lbl_TotalGuess.Text & Countries.Length + Case "Animals" + lbl_TotalGuess.Text = lbl_TotalGuess.Text & Animals.Length + Case "Fruits" + lbl_TotalGuess.Text = lbl_TotalGuess.Text & Fruits.Length + End Select + CheckLevel() + SaveCategory() + End If + End Sub + + Private Sub SaveCategory() + Select Case CurrentCategory + Case "Countries" + File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Countries.kin", Countries) + File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentCountries.kin", lst_Guessed.Items.Cast(Of String).ToArray) + Case "Animals" + File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Animals.kin", Animals) + File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentAnimals.kin", lst_Guessed.Items.Cast(Of String).ToArray) + Case "Fruits" + File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\Fruits.kin", Fruits) + File.WriteAllLines(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\KnowledgeInput\CurrentFruits.kin", lst_Guessed.Items.Cast(Of String).ToArray) End Select End Sub End Class
\ No newline at end of file |
