mirror of
https://github.com/EverythingWindows/ShiftOS-TheRevival-Old.git
synced 2025-01-23 02:12:14 +00:00
211 lines
No EOL
10 KiB
VB.net
211 lines
No EOL
10 KiB
VB.net
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
|
|
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
|
|
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 |