猜猜排序规则:交互式数字分类游戏

猜猜排序规则:交互式数字分类游戏
几何画板及绘图内容加载中,请稍等……
2017-08-09 00:14
这是一个交互式数学游戏范例,演示如何通过猜测和反馈来识别数字集合的排序规则。核心数学概念包括数的分类(质数、合数、奇数、偶数)、区间划分、集合运算以及条件逻辑。作图要点:使用GeoGebra的RandomElement和Random命令生成随机数字列表,通过KeepIf、Remove、Flatten等命令筛选和整理数据,利用Textfield和InputBox1创建用户输入界面,结合If、Intersection、RemoveUndefined等命令判断用户猜测与预设规则是否匹配,最后用TableText展示结果。该范例适合中学数学课堂或自学,用于训练学生对数字性质的观察与推理能力,同时体验编程式数学建模的乐趣。

GeoGebra 命令及参数

  1. RandomElement({10, 100}) → roundsType
  2. Random(0, 10) → roundsNumber
  3. KeepIf((round(a / roundsType) * roundsType) ≟ (roundsNumber * roundsType), a, guesses) → roundsList
  4. KeepIf(floor(a / 12) ≟ a / 12, a, guesses) → twelveList
  5. KeepIf(floor(a / 11) ≟ a / 11, a, guesses) → elevenList
  6. KeepIf(floor(a / 10) ≟ a / 10, a, guesses) → tenList
  7. KeepIf(floor(a / 9) ≟ a / 9, a, guesses) → nineList
  8. KeepIf(floor(a / 8) ≟ a / 8, a, guesses) → eightList
  9. KeepIf(floor(a / 7) ≟ a / 7, a, guesses) → sevenList
  10. KeepIf(floor(a / 6) ≟ a / 6, a, guesses) → sixList
  11. KeepIf(floor(a / 5) ≟ a / 5, a, guesses) → fiveList
  12. KeepIf(floor(a / 4) ≟ a / 4, a, guesses) → fourList
  13. KeepIf(floor(a / 3) ≟ a / 3, a, guesses) → threeList
  14. Random(5, 100) → aboveBelowNumber
  15. KeepIf(a < aboveBelowNumber, a, guesses) → belowList
  16. KeepIf(a > aboveBelowNumber, a, guesses) → aboveList
  17. KeepIf(IsPrime[q], q, guesses) → primeList
  18. Remove(guesses, Join[{primeList, {1, 0}}]) → compositeList
  19. KeepIf(floor(x / 2 + 1 / 2) ≟ x / 2 + 1 / 2, guesses) → oddList
  20. KeepIf(floor(x / 2) ≟ x / 2, guesses) → evenList
  21. Flatten({"rounds", RandomElement[{"even", "odd"}], RandomElement[{"prime", "composite"}], First[Shuffle[{"3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}], 4], RandomElement[{"above", "below"}]}) → rules
  22. RandomElement(rules) → rule1
  23. RandomElement(Remove[rules, {rule1}]) → rule2
  24. Textfield(guessText) → InputBox1
  25. If(guess < 0, true, If[IsInteger[guess], false, true]) → warning
  26. If(rule2 ≟ "prime", primeList, If[rule2 ≟ "composite", compositeList, If[rule2 ≟ "even", evenList, If[rule2 ≟ "odd", oddList, If[rule2 ≟ "even", evenList, If[rule2 ≟ "3", threeList, If[rule2 ≟ "4", fourList, If[rule2 ≟ "5", fiveList, If[rule2 ≟ "6", sixList, If[rule2 ≟ "7", sevenList, If[rule2 ≟ "8", eightList, If[rule2 ≟ "9", nineList, If[rule2 ≟ "10", tenList, If[rule2 ≟ "11", elevenList, If[rule2 ≟ "12", twelveList, If[rule2 ≟ "above", aboveList, If[rule2 ≟ "below", belowList, If[rule2 ≟ "rounds", roundsList, {}]]]]]]]]]]]]]]]]]) → rule2HelperList
  27. If(rule1 ≟ "prime", primeList, If[rule1 ≟ "composite", compositeList, If[rule1 ≟ "even", evenList, If[rule1 ≟ "odd", oddList, If[rule1 ≟ "even", evenList, If[rule1 ≟ "3", threeList, If[rule1 ≟ "4", fourList, If[rule1 ≟ "5", fiveList, If[rule1 ≟ "6", sixList, If[rule1 ≟ "7", sevenList, If[rule1 ≟ "8", eightList, If[rule1 ≟ "9", nineList, If[rule1 ≟ "10", tenList, If[rule1 ≟ "11", elevenList, If[rule1 ≟ "12", twelveList, If[rule1 ≟ "above", aboveList, If[rule1 ≟ "below", belowList, If[rule1 ≟ "rounds", roundsList, {}]]]]]]]]]]]]]]]]]) → rule1HelperList
  28. Intersection(rule1HelperList, rule2HelperList) → intersectionList
  29. Remove(rule1HelperList, intersectionList) → rule1List
  30. Remove(rule2HelperList, intersectionList) → rule2List
  31. Remove(guesses, Join[{rule1List, rule2List, intersectionList}]) → excludedList
  32. RemoveUndefined(Sequence[RemoveUndefined[Sequence[Element[rule1List, i], i, 1 + (4 * j), 4 + (4 * j)]], j, 0, ceil(Length[rule1List / 4])]) → r1List
  33. TableText(r1List) → text8
  34. RemoveUndefined(Sequence[RemoveUndefined[Sequence[Element[rule2List, i], i, 1 + (4 * j), 4 + (4 * j)]], j, 0, ceil(Length[rule2List / 4])]) → r2List
  35. RemoveUndefined(Sequence[RemoveUndefined[Sequence[Element[excludedList, i], i, 1 + (4 * j), 4 + (4 * j)]], j, 0, ceil(Length[excludedList / 4])]) → EL
  36. RemoveUndefined(Sequence[RemoveUndefined[Sequence[Element[intersectionList, i], i, 1 + (4 * j), 4 + (4 * j)]], j, 0, ceil(Length[intersectionList / 4])]) → IL
  37. TableText(r2List) → text5
  38. TableText(IL) → text6
  39. TableText(EL) → text7

AI 绘图提示语参考

创建一个互动数独游戏,用户需要根据给定的规则猜测数字。首先随机生成一个10到100之间的数字,然后根据这个数字生成一系列满足特定条件的数字列表,如偶数、奇数、质数、合数等。用户需要输入一个猜测的数字,系统会根据规则过滤列表,显示符合条件的数字,并给出反馈。最后,显示所有符合条件的数字列表,包括偶数、奇数、质数、合数等。
以上提示语为根据原始绘图命令整理而来,仅供参考。