From e338cf1c471746db208ed8b8a0d99a8a3d58b516 Mon Sep 17 00:00:00 2001 From: Andrew Tang Date: Mon, 27 Jun 2022 01:40:01 +0800 Subject: [PATCH] Initial version of diceroller Built a simple UI to test out the dice roller. Can handle multiple die and supports D4, D6, D8, D10, D12, and D20 (Let me know if there shouldn't be a restriction on the valid types of die). --- .DS_Store | Bin 0 -> 6148 bytes Phase2/.DS_Store | Bin 0 -> 6148 bytes Phase2/Godot ===(Game Code)===/.DS_Store | Bin 0 -> 6148 bytes .../DiceRoller/.import/.gdignore | 1 + ...n.png-487276ed1e3a0c39cad0279d744ee560.md5 | 3 + ....png-487276ed1e3a0c39cad0279d744ee560.stex | Bin 0 -> 1496 bytes .../DiceRoller/DiceRoller.tscn | 97 ++++++++++++++ .../DiceRoller/Die.gd | 38 ++++++ .../DiceRoller/DieManager.gd | 126 ++++++++++++++++++ .../DiceRoller/default_env.tres | 7 + .../DiceRoller/icon.png | Bin 0 -> 3305 bytes .../DiceRoller/icon.png.import | 35 +++++ .../DiceRoller/project.godot | 33 +++++ 13 files changed, 340 insertions(+) create mode 100644 .DS_Store create mode 100644 Phase2/.DS_Store create mode 100644 Phase2/Godot ===(Game Code)===/.DS_Store create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/.import/.gdignore create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/DiceRoller.tscn create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/Die.gd create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/DieManager.gd create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/default_env.tres create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/icon.png create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/icon.png.import create mode 100644 Phase2/Godot ===(Game Code)===/DiceRoller/project.godot diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..14c586a0622dbe3a9b2181333e67d7620ae6d6cf GIT binary patch literal 6148 zcmeHK&uiN-6n;vx#-Fvi(U&77>ZgIB5~piO7R8R(v$S5stGiNyU0< zK%vLjr;vJknL3WMrEKT;8yVoatI=E9qh0FJ-2AB+5ndKM(9IuOU=gj-0i94p1r4ZW z=K41G@}AuGVy<|0Uv4}p&f-judljE$X)$UxuSI30`e?Q0)x0(DC_GV^sr)Pa9P{ZAQ?Wx`dI#L3Q%ZiJj)$I~5_Fw71{?#9frl_)cP?-3Aw@3N zG2j^ZFBstcK|&b=i={!mb)eB#0ALkvEwK5gk!z&Iz+!0-5r{CQKvOF06+@VE_@&JY zES3gMISG6D5cbK!-cW>oI>wheokU>JwT=PDz#;=Hrd#Lpzjycjf3e8*90QJle~JN7 z?S|bBKFOY~OCQH)t%QDovT$B$@U{eoK8lgcNAWsT3;dD|U|_K{2oJ>l2xuBy;~4m( G4EzN6Re%`) literal 0 HcmV?d00001 diff --git a/Phase2/.DS_Store b/Phase2/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0dc27f25717df5318ec5857580266ab74e20efce GIT binary patch literal 6148 zcmeHK(TWo>6us$IciOtp2N(Jx1bk5_+ODg(h)}y#S|EM4~&6+C+6C^5Bf+Dw3ZV*R!u! z$(Arr=srRUD5D`|d&x>`SKt(I3jAvd@V8r`9=_WgUig01AWT$WiorXzgqspjSsqb%J^7MP!xm{oc}3EEA-KE#M4aIsqyIpWe1r$Gt4-!jtA2{Pt9-Bs|Fn;q!Pn>DMprsx%McbU4z4I2xkK%l$Zw)TFD%X_RTMZz{ZsSLxRq z)9Kds?WSzEZ_b)>y0g`4%IzDsX0wX7dHMRCC;hj{QK~**jxd3JSlfoh6JQNatz(o8 zk`VLYPESpK=a14vr3c_LzeYZmPhr8|Bg~Xu`esXu{G;|X7@*(WV z!roAX9v%Hl-JC?npi7+sPJu-Q*34_2&;R?szW*5l&%xnVH}nT4uDG1R$D|CM@_N}Rh4>% z|G;11$}i!+aDwmIo|LBDg#$v!ud+YK{+?g*rGAcyNDT5xkEl&V4hmy^2h|4SaV~3C zGd(S!P;;D+qzJz$&DPkq!zy4E_}3KRwYx(@3Tcd0TUx(IksJq+3^2~g;Ty`=U&_$B z!6zuv#Q1y|ztK!eErR?v}F}NXO z9jl1>Dqq~I@LS;JNZ1*C5};3?)}sg(r5vR}ufQtkCHQ!ED^y~=+>xLW&D13RnfK0%Zj_Ke#B2eS=GlDs`YzM*v_Q z-OAAB&jt2z4fYK#HDUxNv@1}%3UkB|+8zC_;q?tJHEMSf=I|j*WMNJyLPf{?uA-CZ zYqYghz$&n+z?Qyj^ZtK$^Z9?($zE9ntOEa)0-`?jh66m3*<05hj`vy@?QP%_xcD)3ho_zl8#jQIRc$f~c)tQiw!~w%QUQ6exqX5cknk z0+d35DiDbTDuoE4>Lo>6B7>ey@m$S@5kjOuv{fWhh-@ho&(;2WkwS$K6`&Ldl|Us> zi4+J0k-+z7D#fx5bCy(4v8-W?7^7rF3d=UlIm}g3kr8v2*TVsYG0L(HsaUol6{$#J zzu%jyB(dI3x&O7SY0hEJfqi2jQf;@JF@lOwkr88**UM&PLd-R!kcy0;loU$Knm#_B zpssT<`uctM`T6EPm%A7K9*tSP|39fzMMT%Jh>GrWxv%zI|5WGxr!+(rs;IWI7+u$| ztA8kAM1hddg9IT6zY$?4T#831gq|cT869IJntT)|=01mwu*fe$Smy`ebi^HL+s-xg7chk284pq%~oy)o1W?`nc*zBC=zRt+_#M70<6PFG z6}tee5v>KVd&MI&-P+`h3e5&K^|-6M0EkEyjlf*9+`s@4^=sduefxeS9)KHW zxry#hT9*zlA+*bJIQpy4c0ZhsA-z^ z>#WBV&J`yU4D>m2?bqM)mFeH8@`b;@t{w3iXa*Wm8VHI_5p)5%2vTB$fYL+A6hukG z$!S`fHfaJP8lFT>jWhoL$`1ibnR*S{w;v;KO#Alr>y=RgAjwy$tV9ApAt(LXJMHJB z5CB9fl}q_biX|eNFsP!BlcI21)QL~UK@*6GVkMnytRt$6Bte>2l|jNPUTK0P)Fok~ z<8pRY5;Z~3$-3c)Ct*B>>n8U^6H%qzayG_@T0>t#DTYp>PAI07fWEaTdcB-^=q5<& z*tTB18j2DbF@k^@@+ev1QMg zL5#haz6F3%uU@HhjobH`e9qrvh%#pS={PAR-X0k%SWDWbr)+o y|M)fYRW9dto5g$WGgZ~$_?(~f&V283@;^HqstN$fY}?!b literal 0 HcmV?d00001 diff --git a/Phase2/Godot ===(Game Code)===/DiceRoller/DiceRoller.tscn b/Phase2/Godot ===(Game Code)===/DiceRoller/DiceRoller.tscn new file mode 100644 index 0000000..73da74a --- /dev/null +++ b/Phase2/Godot ===(Game Code)===/DiceRoller/DiceRoller.tscn @@ -0,0 +1,97 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://DieManager.gd" type="Script" id=1] +[ext_resource path="res://Die.gd" type="Script" id=2] + +[node name="DieManager" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) + +[node name="ColorRect" type="ColorRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 0, 0, 0, 1 ) + +[node name="Die" type="Button" parent="."] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -95.0 +margin_top = 2.0 +margin_right = 92.0 +margin_bottom = 91.0 +text = "Roll Die/Dice" +script = ExtResource( 2 ) + +[node name="RolledValues" type="Label" parent="."] +visible = false +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -299.0 +margin_top = 6.0 +margin_right = 297.0 +margin_bottom = 86.0 +text = "Rolled Values:" +align = 1 +autowrap = true + +[node name="Outcome" type="Label" parent="."] +visible = false +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -296.0 +margin_top = 173.0 +margin_right = 300.0 +margin_bottom = 253.0 +text = "Success! +" +align = 1 +autowrap = true + +[node name="PercentNeeded" type="Label" parent="."] +visible = false +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -286.0 +margin_top = 210.0 +margin_right = 310.0 +margin_bottom = 290.0 +text = "Percent Needed to Pass: 0%" +align = 1 +autowrap = true + +[node name="PercentRolled" type="Label" parent="."] +visible = false +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -293.0 +margin_top = 241.0 +margin_right = 303.0 +margin_bottom = 321.0 +text = "Percent Rolled: 0%" +align = 1 +autowrap = true + +[node name="DegreeOfSuccess" type="Label" parent="."] +visible = false +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -295.0 +margin_top = 272.0 +margin_right = 301.0 +margin_bottom = 352.0 +text = "Degree of Success: 0%" +align = 1 +autowrap = true + +[node name="Reset" type="Button" parent="."] +margin_left = 457.0 +margin_top = 421.0 +margin_right = 567.0 +margin_bottom = 469.0 +text = "Reset" + +[connection signal="button_down" from="Die" to="." method="_on_Die_button_down"] +[connection signal="pressed" from="Reset" to="." method="_on_Reset_pressed"] diff --git a/Phase2/Godot ===(Game Code)===/DiceRoller/Die.gd b/Phase2/Godot ===(Game Code)===/DiceRoller/Die.gd new file mode 100644 index 0000000..2f7be5b --- /dev/null +++ b/Phase2/Godot ===(Game Code)===/DiceRoller/Die.gd @@ -0,0 +1,38 @@ +#Die class + +extends Button + +class_name Die + +#array of valid number of faces +var dieTypes = [4, 6, 8, 10, 12, 20] + +#value of selected die type +var numFaces: int + +#bool will be used to check if a valid die type was chosen +var validNumFaces = false + +#Class constructor +func _init(value): + numFaces = value + +#returns an integer value of the rolled result (assuming the die is a valid type) +func rollDie(): + randomize() + + #check if selected die type exists in dieTypes array + for value in dieTypes: + if value == numFaces: + validNumFaces = true + + #if the selected die type exists, we can roll an integer value based on the number of sides. + if validNumFaces: + var rolledNum + rolledNum = randi() % numFaces + 1 + return rolledNum + else: + print("You do not have a valid number of sides on the die!") + return + + diff --git a/Phase2/Godot ===(Game Code)===/DiceRoller/DieManager.gd b/Phase2/Godot ===(Game Code)===/DiceRoller/DieManager.gd new file mode 100644 index 0000000..8f34f01 --- /dev/null +++ b/Phase2/Godot ===(Game Code)===/DiceRoller/DieManager.gd @@ -0,0 +1,126 @@ +#This is the diemanager script that controls the rolling of the die/dice as well as calculates +#the end result + +extends Control + +export var desiredDice = [20, 8] + +#diceUsed holds the dice objects that are rolled +var diceUsed = [] + +#diceInPlay holds the die objects as well. +#This and diceUsed are essentially the same arrays (holding the dice objects), but I had to use +#two arrays due to the parameters in returnDiePercentage +var diceInPlay = [] + +#rolledValues holds the integer value rolled from each die +var rolledValues = [] + +#User can select the percentage needed for a successful roll +export var neededPercentageToPass = .2 + +#boolean based on whether the overall roll passed or not +var passedRoll + +#float holding the degree of success (rolledVal - neededPercentageToPass) +var degreeOfSuccess + + +#Load the diceInPlay array +func _ready(): + for elem in desiredDice: + diceInPlay.append(Die.new(elem)) + +#This is the function that returns the percentage of a rolled die (rolled val / total sides) +#The UML showed that this function only had one parameter, "inputedDie," so I assumed that +#was the rolled integer value. However, in order to find the percetage we need the total sides as well +#As a result, I would get the total sides by ensuring that the inputedDie corresponds to the die at index 0 +#of the diceInPlay array. +func returnDiePercentage(inputedDie): + var totalSides = diceInPlay[0].numFaces + + #ensuring we don't lose the die objects in memory by storing them in another array + diceUsed.append(diceInPlay[0]) + diceInPlay.remove(0) + + var result = float(inputedDie) / float(totalSides) + return result + + +#Function to show all of the results on screen +func showOnUI(passResult, percentRolled) -> void: + if passResult: + $Outcome.text = "Successful Roll!" + else: + $Outcome.text = "Failed Roll!" + + var diceResultText = "Rolled Values:\n" + + #Prints the integer calues of each die rolled in the form: "D(num faces): (value rolled)" + for i in range(diceUsed.size()): + diceResultText += ("D" + str(diceUsed[i].numFaces) + ": " + str(rolledValues[i]) + "\n") + + + #NOTE: degree of success is always calculated regardlesss of success/failure. Let me know if this should be changed + degreeOfSuccess = percentRolled - neededPercentageToPass + + #changing labels on screen + $RolledValues.text = diceResultText + $PercentNeeded.text = "Percent Needed to Pass: " + str(neededPercentageToPass * 100) + "%" + $PercentRolled.text = "Percent Rolled: " + str(percentRolled * 100) + "%" + $DegreeOfSuccess.text = "Degree of Success: " + str(degreeOfSuccess * 100) + "%" + + #revealing labels to user + $Outcome.show() + $RolledValues.show() + $PercentNeeded.show() + $PercentRolled.show() + $DegreeOfSuccess.show() + + +#function for when "roll" button is clicked +func _on_Die_button_down(): + #denominator will equal the total number of dice rolled + var denominator = 0 + + #sum of floats of all rolled die percentages + var sumOfPercentages = 0 + + #stores the rolled integer value of die in loop + var rolledVal + + #remember that the size of diceInPlay decrements by 1 each time returnDiePercentage is called + while diceInPlay.size() > 0: + rolledVal = diceInPlay[0].rollDie() + + #add rolled integer vaslue to array + rolledValues.append(rolledVal) + + #add percentage to sum + sumOfPercentages += returnDiePercentage(rolledVal) + + #increment denominator + denominator += 1 + + #result is average of sum of percentages + var result = sumOfPercentages / denominator + + passedRoll = (result >= neededPercentageToPass) + + showOnUI(passedRoll, result) + return result + + +#Reset stored values and text +func _on_Reset_pressed(): + $Outcome.hide() + $PercentNeeded.hide() + $PercentRolled.hide() + $DegreeOfSuccess.hide() + $RolledValues.hide() + + #Fill diceInPlay again and empty diceUsed + for die in diceUsed: + diceInPlay.append(die) + diceUsed = [] + rolledValues = [] diff --git a/Phase2/Godot ===(Game Code)===/DiceRoller/default_env.tres b/Phase2/Godot ===(Game Code)===/DiceRoller/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/Phase2/Godot ===(Game Code)===/DiceRoller/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/Phase2/Godot ===(Game Code)===/DiceRoller/icon.png b/Phase2/Godot ===(Game Code)===/DiceRoller/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c98fbb601c83c81ec8c22b1dba7d1d57c62b323c GIT binary patch literal 3305 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 literal 0 HcmV?d00001 diff --git a/Phase2/Godot ===(Game Code)===/DiceRoller/icon.png.import b/Phase2/Godot ===(Game Code)===/DiceRoller/icon.png.import new file mode 100644 index 0000000..a4c02e6 --- /dev/null +++ b/Phase2/Godot ===(Game Code)===/DiceRoller/icon.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Phase2/Godot ===(Game Code)===/DiceRoller/project.godot b/Phase2/Godot ===(Game Code)===/DiceRoller/project.godot new file mode 100644 index 0000000..cad39e9 --- /dev/null +++ b/Phase2/Godot ===(Game Code)===/DiceRoller/project.godot @@ -0,0 +1,33 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +_global_script_classes=[ { +"base": "Button", +"class": "Die", +"language": "GDScript", +"path": "res://Die.gd" +} ] +_global_script_class_icons={ +"Die": "" +} + +[application] + +config/name="GodotDiceRoller_Andrew" +run/main_scene="res://DiceRoller.tscn" +config/icon="res://icon.png" + +[physics] + +common/enable_pause_aware_picking=true + +[rendering] + +environment/default_environment="res://default_env.tres"