aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb
diff options
context:
space:
mode:
authorEverythingWindows <[email protected]>2022-11-24 21:26:45 +0700
committerEverythingWindows <[email protected]>2022-11-24 21:26:45 +0700
commit9754f495672581abd7098c39027b512525b5f9ab (patch)
tree60ea20826d7743f25b49be9254373b1e7f9cbee3 /ShiftOS-TheRevival/MainForms/Applications/Universal/Knowledge Input/Uni_KnowledgeInput.vb
parenta594d38810939c8afbf0e12fb970d8aa3fd880e5 (diff)
downloadshiftos-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.vb204
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